From 3dd21fca62d7f85839bc3e6cc84d399013e713a8 Mon Sep 17 00:00:00 2001 From: mayeut Date: Sat, 29 Jun 2024 12:19:50 +0200 Subject: [PATCH] update CI workflows --- .cirrus.yml | 36 ++++++++++++++++++++++++------------ .github/workflows/test.yml | 3 ++- .travis.yml | 22 +++++++++++----------- CI.md | 12 ++++++------ appveyor.yml | 10 +++++----- azure-pipelines.yml | 12 ++++++------ 6 files changed, 54 insertions(+), 41 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 8e19e50ff..9edd4d6cf 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -2,11 +2,11 @@ only_if: changesInclude('.cirrus.yml') || ($CIRRUS_BRANCH == "main" && !changesI run_tests: &RUN_TESTS install_cibuildwheel_script: + - python -V - python -m pip install -e ".[dev]" pytest-custom-exit-code run_cibuildwheel_tests_script: - python ./bin/run_tests.py - linux_x86_task: timeout_in: 120m compute_engine_instance: @@ -15,9 +15,14 @@ linux_x86_task: platform: linux cpu: 8 memory: 8G - + env: + VENV_ROOT: ${HOME}/venv-cibuildwheel + PATH: ${VENV_ROOT}/bin:${PATH} install_pre_requirements_script: - - apt install -y python3-venv python-is-python3 + - add-apt-repository -y ppa:deadsnakes/ppa + - apt-get update + - apt-get install -y python3.12-venv + - python3.12 -m venv ${VENV_ROOT} <<: *RUN_TESTS linux_aarch64_task: @@ -28,9 +33,14 @@ linux_aarch64_task: platform: linux cpu: 4 memory: 4G - + env: + VENV_ROOT: ${HOME}/venv-cibuildwheel + PATH: ${VENV_ROOT}/bin:${PATH} install_pre_requirements_script: - - apt install -y python3-venv python-is-python3 + - add-apt-repository -y ppa:deadsnakes/ppa + - apt-get update + - apt-get install -y python3.12-venv + - python3.12 -m venv ${VENV_ROOT} <<: *RUN_TESTS windows_x86_task: @@ -43,7 +53,7 @@ windows_x86_task: memory: 8G install_pre_requirements_script: - - choco install -y --no-progress python3 --version 3.10.6 + - choco install -y --no-progress python3 --version 3.12.4 - refreshenv - echo PATH=%PATH% >> "%CIRRUS_ENV%" <<: *RUN_TESTS @@ -51,22 +61,24 @@ windows_x86_task: macos_arm64_task: macos_instance: image: ghcr.io/cirruslabs/macos-sonoma-xcode - env: - PATH: /opt/homebrew/opt/python@3.10/libexec/bin:$PATH + VENV_ROOT: ${HOME}/venv-cibuildwheel + PATH: ${VENV_ROOT}/bin:${PATH} install_pre_requirements_script: - - brew install python@3.10 + - brew install python@3.12 + - python3.12 -m venv ${VENV_ROOT} <<: *RUN_TESTS macos_arm64_cp38_task: macos_instance: image: ghcr.io/cirruslabs/macos-sonoma-xcode - env: - PATH: /opt/homebrew/opt/python@3.10/libexec/bin:$PATH + VENV_ROOT: ${HOME}/venv-cibuildwheel + PATH: ${VENV_ROOT}/bin:${PATH} PYTEST_ADDOPTS: --run-cp38-universal2 -k 'test_cp38_arm64_testing_universal2_installer or test_arch_auto' install_pre_requirements_script: - - brew install python@3.10 + - brew install python@3.12 + - python3.12 -m venv ${VENV_ROOT} - curl -fsSLO https://www.python.org/ftp/python/3.8.10/python-3.8.10-macos11.pkg - sudo installer -pkg python-3.8.10-macos11.pkg -target / - rm python-3.8.10-macos11.pkg diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index dc6dbc41e..ef3d3c621 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -38,7 +38,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest, macos-13, macos-14] - python_version: ['3.12'] + python_version: ['3.13'] include: - os: ubuntu-latest python_version: '3.11' @@ -49,6 +49,7 @@ jobs: name: Install Python ${{ matrix.python_version }} with: python-version: ${{ matrix.python_version }} + allow-prereleases: true - uses: yezz123/setup-uv@v4 diff --git a/.travis.yml b/.travis.yml index 3dd6f9a8b..7dd90f788 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,21 +8,21 @@ branches: jobs: include: - - name: Linux | x86_64 + i686 | Python 3.9 - python: 3.9 + - name: Linux | x86_64 + i686 | Python 3.11 + python: 3.11 services: docker env: PYTHON=python - - name: Linux | arm64 | Python 3.9 - python: 3.9 + - name: Linux | arm64 | Python 3.11 + python: 3.11 services: docker arch: arm64-graviton2 group: edge virt: vm env: PYTHON=python - - name: Linux | ppc64le | Python 3.9 - python: 3.9 + - name: Linux | ppc64le | Python 3.11 + python: 3.11 services: docker arch: ppc64le allow_failure: True @@ -32,16 +32,16 @@ jobs: # c.f. https://travis-ci.community/t/running-out-of-disk-space-quota-when-using-docker-on-ppc64le/11634 - PYTEST_ADDOPTS='-k "not test_manylinuxXXXX_only"' - - name: Windows | x86_64 | Python 3.9 + - name: Windows | x86_64 | Python 3.11 os: windows language: shell before_install: - - choco upgrade python3 -y --version 3.9.13 --limit-output --params "/InstallDir:C:\\Python39" + - choco upgrade python3 -y --version 3.11.9 --limit-output --params "/InstallDir:C:\\Python311" env: - - PYTHON=C:\\Python39\\python + - PYTHON=C:\\Python311\\python - - name: Linux | s390x | Python 3.9 - python: 3.9 + - name: Linux | s390x | Python 3.11 + python: 3.11 services: docker arch: s390x env: PYTHON=python diff --git a/CI.md b/CI.md index 2c082e940..15de33c53 100644 --- a/CI.md +++ b/CI.md @@ -1,11 +1,11 @@ This is a summary of the host Python versions and platforms covered by the different CI platforms: -| | 3.8 | 3.9 | 3.10 | 3.11 | 3.12 | -|---------|----------------------------------------------|-----------|-----------|---------|--------------------------------------| -| Linux | AppVeyor¹ / Azure Pipelines / GitHub Actions | Travis CI | Cirrus CI | | CircleCI¹ / GitHub Actions / GitLab¹ | -| macOS | AppVeyor¹ / Azure Pipelines | | Cirrus CI | GitLab¹ | CircleCI¹ / GitHub Actions | -| Windows | AppVeyor¹ / Azure Pipelines | Travis CI | Cirrus CI | | GitHub Actions / GitLab¹ | +| | 3.11 | 3.12 | 3.13 | +|---------|----------------------------------------------|---------------------------------------------|----------------| +| Linux | Azure Pipelines / GitHub Actions / Travis CI | AppVeyor¹ / CircleCI¹ / Cirrus CI / GitLab¹ | GitHub Actions | +| macOS | Azure Pipelines / GitLab¹ | AppVeyor¹ / CircleCI¹ / Cirrus CI / GitLab¹ | GitHub Actions | +| Windows | Azure Pipelines / Travis CI | AppVeyor¹ / Cirrus CI / GitLab¹ | GitHub Actions | > ¹ Runs a reduced set of tests to reduce CI load -Non-x86 architectures are covered on Travis CI using Python 3.9. +Non-x86 architectures are covered on Travis CI using Python 3.11. diff --git a/appveyor.yml b/appveyor.yml index 4f12790da..2dd413f3b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,18 +1,18 @@ environment: matrix: - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu - APPVEYOR_JOB_NAME: "python38-x64-ubuntu" + APPVEYOR_JOB_NAME: "python312-x64-ubuntu" - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - APPVEYOR_JOB_NAME: "python38-x64-vs2015" + APPVEYOR_JOB_NAME: "python312-x64-vs2015" - APPVEYOR_BUILD_WORKER_IMAGE: macos - APPVEYOR_JOB_NAME: "python38-x64-macos" + APPVEYOR_JOB_NAME: "python312-x64-macos" -stack: python 3.8 +stack: python 3.12 build: off init: -- cmd: set PATH=C:\Python38;C:\Python38\Scripts;%PATH% +- cmd: set PATH=C:\Python312;C:\Python312\Scripts;%PATH% - ps: | $BRANCH = if ($env:APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH) { $env:APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH } else { $env:APPVEYOR_REPO_BRANCH } if (-not ($BRANCH -eq 'main' -or $BRANCH.ToLower().StartsWith('appveyor-'))) { diff --git a/azure-pipelines.yml b/azure-pipelines.yml index beb3d80d7..5caf65ff3 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -5,34 +5,34 @@ pr: - .pre-commit-config.yaml jobs: -- job: linux_38 +- job: linux_311 timeoutInMinutes: 120 pool: {vmImage: 'Ubuntu-20.04'} steps: - task: UsePythonVersion@0 inputs: - versionSpec: '3.8' + versionSpec: '3.11' - bash: | python -m pip install -e ".[dev]" python ./bin/run_tests.py -- job: macos_38 +- job: macos_311 pool: {vmImage: 'macOS-12'} steps: - task: UsePythonVersion@0 inputs: - versionSpec: '3.8' + versionSpec: '3.11' - bash: | python -m pip install -e ".[dev]" python ./bin/run_tests.py --num-processes 2 -- job: windows_38 +- job: windows_311 pool: {vmImage: 'windows-2019'} timeoutInMinutes: 180 steps: - task: UsePythonVersion@0 inputs: - versionSpec: '3.8' + versionSpec: '3.11' - bash: | python -m pip install -e ".[dev]" python ./bin/run_tests.py