6464 token : ${{ secrets.CODECOV_TOKEN }}
6565 slug : ddc/pythonLogs
6666
67+
6768 build :
6869 name : Build for Python ${{ matrix.python-version }} on ${{ matrix.os }}
6970 runs-on : ${{ matrix.runs-on || matrix.os }}
9394 virtualenvs-in-project : true
9495
9596 - name : Install build dependencies only
96- run : |
97- if [[ "${{ matrix.os }}" == "windows-latest" ]]; then
98- poetry install --only main --no-interaction --no-ansi -E mongodb -E mssql -E mysql -E oracle
99- else
100- poetry install --only main --no-interaction --no-ansi -E all
101- fi
97+ run : poetry install --only main --no-interaction --no-ansi
10298 shell : bash
10399
104100 - name : Build package with custom build script
@@ -121,79 +117,11 @@ jobs:
121117 path : dist-py${{ matrix.python-version }}-${{ matrix.os }}/
122118 retention-days : 7
123119
124- build-linux-arm64 :
125- name : Build Linux ARM64 wheels
126- runs-on : ubuntu-latest
127- if : startsWith(github.ref, 'refs/tags/v')
128- strategy :
129- matrix :
130- python-version : ["3.12", "3.13"]
131- steps :
132- - uses : actions/checkout@v4
133-
134- - name : Set up Docker Buildx
135- uses : docker/setup-buildx-action@v3
136- with :
137- platforms : linux/arm64
138-
139- - name : Build ARM64 wheel using Docker
140- run : |
141- # Create a multi-stage Dockerfile for ARM64 builds
142- cat << 'EOF' > Dockerfile.arm64
143- FROM python:${{ matrix.python-version }}-slim
144-
145- WORKDIR /build
146-
147- # Install build dependencies
148- RUN apt-get update && apt-get install -y \
149- build-essential \
150- git \
151- && rm -rf /var/lib/apt/lists/*
152-
153- # Install Poetry
154- RUN pip install poetry
155-
156- # Copy project files
157- COPY . .
158-
159- # Configure Poetry and build
160- RUN poetry config virtualenvs.create false \
161- && poetry install --only main --no-interaction --no-ansi \
162- && poetry run python build.py \
163- && poetry build
164-
165- # Copy artifacts to output volume
166- CMD ["cp", "-r", "dist/", "/output/"]
167- EOF
168-
169- # Build using buildx for ARM64
170- docker buildx build \
171- --platform linux/arm64 \
172- --file Dockerfile.arm64 \
173- --tag pythonlogs-arm64-builder:${{ matrix.python-version }} \
174- --load \
175- .
176-
177- # Create output directory
178- mkdir -p dist-arm64-py${{ matrix.python-version }}
179-
180- # Run container to extract artifacts
181- docker run --rm \
182- --platform linux/arm64 \
183- -v $(pwd)/dist-arm64-py${{ matrix.python-version }}:/output \
184- pythonlogs-arm64-builder:${{ matrix.python-version }}
185-
186- - name : Upload Linux ARM64 Python ${{ matrix.python-version }} artifacts
187- uses : actions/upload-artifact@v4
188- with :
189- name : python-packages-${{ matrix.python-version }}-linux-arm64
190- path : dist-arm64-py${{ matrix.python-version }}/
191- retention-days : 7
192120
193121 release :
194122 name : Create Release
195123 runs-on : ubuntu-latest
196- needs : [build, build-linux-arm64 ]
124+ needs : [build]
197125 if : startsWith(github.ref, 'refs/tags/v')
198126 permissions :
199127 contents : write
0 commit comments