Skip to content

Commit 4eede79

Browse files
committed
Drop -march=native flag.
1 parent d2133e6 commit 4eede79

File tree

5 files changed

+51
-33
lines changed

5 files changed

+51
-33
lines changed

.github/workflows/build_and_test.yml

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ permissions:
2424
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
2525
jobs:
2626
build_and_test_python:
27-
continue-on-error: true
2827
strategy:
28+
fail-fast: false
2929
matrix:
3030
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
3131
compiler: ['gcc', 'clang']
@@ -78,59 +78,56 @@ jobs:
7878
python_wheels:
7979
needs: build_and_test_python
8080
runs-on: ubuntu-latest
81-
container:
82-
image: quay.io/pypa/manylinux_2_28:latest
8381
env:
8482
PY_VER: ${{ matrix.python-version }}
8583
BASE_IMAGE: quay.io/pypa/manylinux_2_28:latest
84+
GHCR_REPO: ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}
8685
environment:
8786
name: pypi
8887
url: https://pypi.org/p/asyncproxy
8988
permissions:
9089
id-token: write
91-
continue-on-error: true
9290
strategy:
91+
fail-fast: false
9392
matrix:
9493
python-version: ['3.9', '3.11', '3.12']
9594
steps:
96-
- name: Install git
97-
run: |
98-
yum install -y git redhat-lsb-core gnupg2 wget ca-certificates yum-utils jq
99-
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
100-
yum install -y docker-ce-cli
95+
- name: Set up Python ${{ env.PY_VER }}
96+
uses: actions/setup-python@v5
97+
with:
98+
python-version: ${{ env.PY_VER }}
10199

102100
- uses: actions/checkout@v4
103101

104-
- name: Set up Python
105-
run: sh -x scipts/build/install_depends_yum.sh
106-
107-
- name: Install dependencies
108-
run: sh -x scipts/build/install_depends_wheels.sh
109-
110102
- name: Set up QEMU
111103
uses: docker/setup-qemu-action@v3
112104

105+
- name: Set up Docker Buildx
106+
uses: docker/setup-buildx-action@v3
107+
113108
- name: Set dynamic environment
114109
id: set-env
115110
run: |
116111
PLATFORMS="`docker manifest inspect ${{ env.BASE_IMAGE }} | \
117112
jq -r '.manifests[] | "\(.platform.os)/\(.platform.architecture)\(if .platform.variant != null then "/\(.platform.variant)" else "" end)"' | \
118113
sort -u | grep -v unknown | paste -sd ','`"
119-
BUILD_MATRIX="`echo ${PLATFORMS} | tr ',' '\n' | jq -R . | jq -s . | tr '\n' ' '`"
120-
GIT_BRANCH="${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}"
121-
GIT_BRANCH="${GIT_BRANCH#refs/tags/}"
122-
BUILD_IMAGE="${{ inputs.ghcr-repo }}:rtp.io-${{ inputs.rtpp-tag }}-${GIT_BRANCH}"
123114
echo "Platforms: ${PLATFORMS}"
124-
echo "platforms=${PLATFORMS}" >> $GITHUB_OUTPUT
125-
echo "build-matrix=${BUILD_MATRIX}" >> $GITHUB_OUTPUT
126-
echo "build-image=${BUILD_IMAGE}" >> $GITHUB_OUTPUT
127-
echo "git-branch=${GIT_BRANCH}" >> $GITHUB_OUTPUT
115+
echo "PLATFORMS=${PLATFORMS}" >> $GITHUB_ENV
116+
mkdir dist
128117
129-
- name: build
130-
run: |
131-
python${PY_VER} setup.py build sdist
132-
python${PY_VER} -m build --wheel
133-
auditwheel repair dist/*.whl --wheel-dir dist/
118+
- name: Build Docker image
119+
uses: docker/build-push-action@v6
120+
with:
121+
context: .
122+
file: ./docker/Dockerfile.python_wheels
123+
build-args: |
124+
BASE_IMAGE=${{ env.BASE_IMAGE }}
125+
PY_VER=${{ env.PY_VER }}
126+
platforms: ${{ env.PLATFORMS }}
127+
push: false
128+
129+
- name: Show context tree
130+
run: ls -R .
134131

135132
- name: Publish package distributions to PyPI
136133
if: github.event_name == 'release' && github.event.action == 'created'

docker/Dockerfile.python_wheels

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# syntax=docker/dockerfile:1.7-labs
2+
3+
ARG BASE_IMAGE="quay.io/pypa/manylinux_2_28:latest"
4+
FROM --platform=$TARGETPLATFORM $BASE_IMAGE AS build
5+
LABEL maintainer="Maksym Sobolyev <[email protected]>"
6+
7+
USER root
8+
9+
WORKDIR /src
10+
11+
ARG TARGETPLATFORM
12+
ARG PY_VER
13+
RUN --mount=type=bind,source=scripts/build,target=scripts/build \
14+
sh -x scripts/build/install_depends_yum.sh
15+
RUN --mount=type=bind,source=scripts/build,target=scripts/build \
16+
sh -x scripts/build/install_depends_wheels.sh
17+
18+
COPY --exclude=.git --exclude=.github --exclude=docker --exclude=dist \
19+
--exclude=scripts . .
20+
21+
RUN python${PY_VER} setup.py build sdist
22+
RUN python${PY_VER} -m build --wheel
23+
RUN --mount=type=bind,source=dist,target=dist_out,rw \
24+
auditwheel repair dist/*.whl --wheel-dir dist_out
File renamed without changes.

scipts/build/install_depends_yum.sh renamed to scripts/build/install_depends_yum.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ then
88
dnf module enable python${PY_VER} -y
99
fi
1010

11-
dnf install -y python${PY_VER} python${PY_VER}-devel
11+
dnf install -y redhat-lsb-core python${PY_VER} python${PY_VER}-devel

setup.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,7 @@
2424

2525
debug_opts = ('-g3', '-O0')
2626
nodebug_opts = ('-DNO_DEBUG',)
27-
if not is_mac and not is_win:
28-
nodebug_opts += ('-march=native', '-O3')
29-
else:
30-
nodebug_opts += ('-O3',) if not is_win else ()
27+
nodebug_opts += ('-O3',) if not is_win else ()
3128
if False:
3229
extra_compile_args.extend(debug_opts)
3330
extra_link_args.extend(debug_opts)

0 commit comments

Comments
 (0)