Skip to content

Commit

Permalink
3.13.0b1 WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
nitzmahone committed May 13, 2024
1 parent a61f899 commit 927aed3
Show file tree
Hide file tree
Showing 2 changed files with 93 additions and 522 deletions.
169 changes: 93 additions & 76 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
---
# This is the CI workflow (not the artifact build/release workflow). The workflows
# are split because GHA doesn't support a dynamic/conditional matrix. This workflow
# has slow jobs and jobs that require private GHA runners (eg, M1 Mac) commented out.
# Ensure changes are synced with manual_artifact_build.yaml.
# This is the actual artifact build/release workflow. This workflow exists temporarily
# because GHA doesn't support a dynamic/conditional matrix. Ensure changes are synced with ci.yaml.
name: PyYAML CI

on:
push:
pull_request:
types: [opened, synchronize, reopened]
# pull_request:
# types: [opened, synchronize, reopened]
workflow_dispatch:

env:
Expand All @@ -18,7 +16,7 @@ env:
jobs:
python_sdist:
name: pyyaml sdist
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout PyYAML
uses: actions/checkout@v3
Expand Down Expand Up @@ -69,14 +67,16 @@ jobs:

linux_libyaml:
name: libyaml ${{matrix.cfg.arch}} ${{matrix.cfg.platform}}
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
matrix:
cfg:
- { platform: manylinux1, arch: x86_64 }
# - { platform: manylinux1, arch: x86_64 }
- { platform: manylinux2014, arch: x86_64 }
# - { platform: manylinux2014, arch: aarch64 }
# - { platform: manylinux2014, arch: s390x }
- { platform: manylinux2014, arch: aarch64 }
- { platform: manylinux2014, arch: s390x }
# - { platform: manylinux2_28, arch: x86_64 }
# - { platform: manylinux2_28, arch: aarch64 }
- { platform: musllinux_1_1, arch: x86_64 }
env:
DOCKER_IMAGE: quay.io/pypa/${{matrix.cfg.platform}}_${{matrix.cfg.arch}}
Expand Down Expand Up @@ -116,30 +116,34 @@ jobs:
linux_pyyaml:
needs: linux_libyaml
name: pyyaml ${{matrix.arch}} ${{matrix.platform}} ${{matrix.spec}}
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
matrix:
include:
- { platform: manylinux1, arch: x86_64, spec: cp38 }
# - { platform: manylinux1, arch: x86_64, spec: cp38 }
# - { platform: manylinux1, arch: x86_64, spec: cp39 }
# - { platform: manylinux2014, arch: x86_64, spec: cp310 }
# - { platform: manylinux2014, arch: x86_64, spec: cp311 }
- { platform: manylinux2014, arch: x86_64, spec: cp312 }
# - { platform: manylinux2014, arch: x86_64, spec: cp312 }
- { platform: manylinux2014, arch: aarch64, spec: cp313, cibw_version: https://github.com/nitzmahone/cibuildwheel/archive/refs/heads/py313_support.zip }
# - { platform: manylinux2014, arch: aarch64, spec: cp38 }
# - { platform: manylinux2014, arch: aarch64, spec: cp39 }
# - { platform: manylinux2014, arch: aarch64, spec: cp310 }
# - { platform: manylinux2014, arch: aarch64, spec: cp311 }
# - { platform: manylinux2014, arch: aarch64, spec: cp312 }
- { platform: manylinux2014, arch: aarch64, spec: cp313, cibw_version: https://github.com/nitzmahone/cibuildwheel/archive/refs/heads/py313_support.zip }
# - { platform: manylinux2014, arch: s390x, spec: cp38 }
# - { platform: manylinux2014, arch: s390x, spec: cp39 }
# - { platform: manylinux2014, arch: s390x, spec: cp310 }
# - { platform: manylinux2014, arch: s390x, spec: cp311 }
# - { platform: manylinux2014, arch: s390x, spec: cp312 }
- { platform: manylinux2014, arch: s390x, spec: cp313, cibw_version: https://github.com/nitzmahone/cibuildwheel/archive/refs/heads/py313_support.zip }
# - { platform: musllinux_1_1, arch: x86_64, spec: cp38 }
# - { platform: musllinux_1_1, arch: x86_64, spec: cp39 }
# - { platform: musllinux_1_1, arch: x86_64, spec: cp310 }
# - { platform: musllinux_1_1, arch: x86_64, spec: cp311 }
- { platform: musllinux_1_1, arch: x86_64, spec: cp312 }
# - { platform: musllinux_1_1, arch: x86_64, spec: cp312 }
- { platform: musllinux_1_1, arch: x86_64, spec: cp313, cibw_version: https://github.com/nitzmahone/cibuildwheel/archive/refs/heads/py313_support.zip }

steps:
- name: Checkout PyYAML
Expand Down Expand Up @@ -175,7 +179,7 @@ jobs:
run: |
set -eux
python3 -V
python3 -m pip install -U --user cibuildwheel
python3 -m pip install -U --user ${{ matrix.cibw_version || 'cibuildwheel' }}
python3 -m cibuildwheel --platform auto --output-dir dist .
- name: Upload artifacts
Expand All @@ -191,15 +195,14 @@ jobs:
matrix:
include:
- arch: x86_64
# - arch: arm64
# runs_on: [self-hosted, macOS, arm64]
# deployment_target: '11.0'
# run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
# sdkroot: macosx11.3
runs-on: macos-13
- arch: arm64
deployment_target: '11.0'
run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
defaults:
run:
shell: ${{ matrix.run_wrapper || 'bash --noprofile --norc -eo pipefail {0}' }}
runs-on: ${{ matrix.runs_on || 'macos-11' }}
runs-on: ${{ matrix.runs_on || 'macos-14' }}
steps:
- name: Check cached libyaml state
id: cached_libyaml
Expand Down Expand Up @@ -227,48 +230,54 @@ jobs:
macos_pyyaml:
needs: macos_libyaml
name: pyyaml ${{ matrix.spec }}
runs-on: ${{ matrix.runs_on || 'macos-11' }}
runs-on: ${{ matrix.runs_on || 'macos-14' }}
defaults:
run:
shell: ${{ matrix.run_wrapper || 'bash --noprofile --norc -eo pipefail {0}' }}
strategy:
matrix:
include:
# - spec: cp38-macosx_x86_64
# cibw_version: cibuildwheel==2.11.1
# - spec: cp39-macosx_x86_64
- spec: cp38-macosx_x86_64
cibw_version: cibuildwheel==2.11.1
runs_on: [macos-13]
- spec: cp39-macosx_x86_64
runs_on: [macos-13]
# - spec: cp310-macosx_x86_64
# runs_on: [macos-13]
# - spec: cp311-macosx_x86_64
- spec: cp312-macosx_x86_64

# # build for arm64 under a hacked macOS 12 self-hosted x86_64-on-arm64 runner until arm64 is fully supported
# - spec: cp39-macosx_arm64
# deployment_target: '11.0'
# runs_on: [self-hosted, macOS, arm64]
# arch: arm64
# run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
# sdkroot: macosx11.3
#
# - spec: cp310-macosx_arm64
# deployment_target: '11.0'
# runs_on: [self-hosted, macOS, arm64]
# arch: arm64
# run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
# sdkroot: macosx11.3
#
# - spec: cp311-macosx_arm64
# deployment_target: '11.0'
# runs_on: [self-hosted, macOS, arm64]
# arch: arm64
# run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
# sdkroot: macosx11.3
#
# - spec: cp312-macosx_arm64
# deployment_target: '11.0'
# runs_on: [self-hosted, macOS, arm64]
# arch: arm64
# run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
# sdkroot: macosx11.3
# runs_on: [macos-13]
# - spec: cp312-macosx_x86_64
# runs_on: [macos-13]
- spec: cp313-macosx_x86_64
cibw_version: https://github.com/nitzmahone/cibuildwheel/archive/refs/heads/py313_support.zip
runs_on: [macos-13]

# build for arm64 under a hacked macOS 12 self-hosted x86_64-on-arm64 runner until arm64 is fully supported
- spec: cp39-macosx_arm64
deployment_target: '11.0'
arch: arm64
run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}

- spec: cp310-macosx_arm64
deployment_target: '11.0'
arch: arm64
run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}

- spec: cp311-macosx_arm64
deployment_target: '11.0'
arch: arm64
run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}

- spec: cp312-macosx_arm64
deployment_target: '11.0'
arch: arm64
run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}

- spec: cp313-macosx_arm64
deployment_target: '11.0'
arch: arm64
run_wrapper: arch -arm64 bash --noprofile --norc -eo pipefail {0}
cibw_version: https://github.com/nitzmahone/cibuildwheel/archive/refs/heads/py313_support.zip

steps:
- name: Checkout PyYAML
Expand Down Expand Up @@ -312,9 +321,9 @@ jobs:
strategy:
matrix:
include:
- platform: windows-2019
- platform: windows-2022
arch: x64
- platform: windows-2019
- platform: windows-2022
arch: win32
steps:
- name: Get cached libyaml state
Expand Down Expand Up @@ -354,46 +363,54 @@ jobs:
strategy:
matrix:
include:
# - platform: windows-2019
# build_arch: x64
# python_arch: x64
# spec: 3.8
# - platform: windows-2019
- platform: windows-2022
build_arch: x64
python_arch: x64
spec: 3.8
# - platform: windows-2022
# build_arch: x64
# python_arch: x64
# spec: 3.9
# - platform: windows-2019
# - platform: windows-2022
# build_arch: x64
# python_arch: x64
# spec: '3.10'
# - platform: windows-2019
# - platform: windows-2022
# build_arch: x64
# python_arch: x64
# spec: '3.11'
- platform: windows-2019
# - platform: windows-2022
# build_arch: x64
# python_arch: x64
# spec: '3.12'
- platform: windows-2022
build_arch: x64
python_arch: x64
spec: '3.12'
# - platform: windows-2019
# build_arch: win32
# python_arch: x86
# spec: 3.8
# - platform: windows-2019
spec: '3.13'
- platform: windows-2022
build_arch: win32
python_arch: x86
spec: 3.8
# - platform: windows-2022
# build_arch: win32
# python_arch: x86
# spec: 3.9
# - platform: windows-2019
# - platform: windows-2022
# build_arch: win32
# python_arch: x86
# spec: '3.10'
# - platform: windows-2019
# - platform: windows-2022
# build_arch: win32
# python_arch: x86
# spec: '3.11'
- platform: windows-2019
# - platform: windows-2022
# build_arch: win32
# python_arch: x86
# spec: '3.12'
- platform: windows-2022
build_arch: win32
python_arch: x86
spec: '3.12'
spec: '3.13'
steps:
# autocrlf screws up tests under Windows
- name: Set git to use LF
Expand Down
Loading

0 comments on commit 927aed3

Please sign in to comment.