Skip to content

WIP

WIP #244

Workflow file for this run

name: Windows Python build
on:
push:
branches: [main]
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
env:
FORCE_COLOR: 1
jobs:
# pythonbuild:
# runs-on: 'windows-2022'
# steps:
# - uses: actions/checkout@v4
# - name: Emit rustc version
# run: |
# rustc --version > .rustc-version
# - uses: actions/cache@v4
# with:
# path: |
# C:/Rust/.cargo/registry
# C:/Rust/.cargo/git
# target
# key: ${{ runner.os }}-pythonbuild-${{ hashFiles('Cargo.lock', '.rustc-version') }}
# - name: Build
# run: |
# cargo build --release
# - name: Upload executable
# uses: actions/upload-artifact@v4
# with:
# name: pythonbuild
# path: target/release/pythonbuild.exe
generate-matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: astral-sh/setup-uv@v4
- name: Generate build matrix
id: set-matrix
run: |
uv run ci-matrix.py --platform windows > matrix.json && echo "matrix=$(cat matrix.json)" >> $GITHUB_OUTPUT
# Display the matrix for debugging too
cat matrix.json | jq
build:
needs:
- generate-matrix
# - pythonbuild
runs-on: windows-latest
strategy:
matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
fail-fast: false
name: ${{ matrix.python }} / ${{ matrix.target_triple }} / ${{ matrix.build_option }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
# - name: Install Cygwin Environment
# uses: cygwin/cygwin-install-action@49f298a7ebb00d4b3ddf58000c3e78eff5fbd6b9
# with:
# packages: autoconf automake libtool
# - name: Install Python
# uses: actions/setup-python@v5
# with:
# python-version: '3.11'
# - name: Download pythonbuild Executable
# uses: actions/download-artifact@v4
# with:
# name: pythonbuild
# # We need to do this before we activate the VC++ environment or else binary packages
# # don't get compiled properly.
# - name: Bootstrap Python environment
# run: |
# py.exe -3.9 build-windows.py --help
# - name: Build
# shell: cmd
# run: |
# call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\${{ matrix.vcvars }}"
# py.exe -3.9 build-windows.py --python ${{ matrix.py }} --sh c:\cygwin\bin\sh.exe --options ${{ matrix.options }}
# - name: Validate Distribution
# run: |
# $Dists = Resolve-Path -Path "dist/*.tar.zst" -Relative
# .\pythonbuild.exe validate-distribution --run $Dists
# - name: Upload Distributions
# uses: actions/upload-artifact@v4
# with:
# name: ${{ matrix.py }}-${{ matrix.vcvars }}-${{ matrix.options }}
# path: dist/*