aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/github-actions.yml
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-04-28 13:36:17 +0530
committerGitHub <[email protected]>2026-04-28 13:36:17 +0530
commita15d8c9cb8c8349da177561b72a14a9308a1626a (patch)
tree15100099ee32dc7a639532ead3f1e77fc14c0e2a /.github/workflows/github-actions.yml
parentf167aeb8ed1aab4929e425529693cff4e34a2936 (diff)
parent915f0cafafab34f8b7766f996dbfa66e7bd16006 (diff)
downloadedify-a15d8c9cb8c8349da177561b72a14a9308a1626a.tar.xz
edify-a15d8c9cb8c8349da177561b72a14a9308a1626a.zip
fix: drop Python 3.7 and PyPy 3.7 from CI matrix (#30)
- [x] Fix `pyproject.toml` setuptools pin (>=75.0) - [x] Change macOS runner from macos-13 → macos-latest - [x] Fix remaining macOS failures: remove `python_arch: x64` from all macOS matrix entries (dyld/libintl error on ARM runners) - [x] Add Python 3.12, 3.13, 3.14 to `tox.ini` envlist and basepython - [x] Add py312/313/314 matrix entries (ubuntu, windows, macos) in workflow - [x] Add classifiers for 3.12, 3.13, 3.14 in `setup.py` - [x] Update Jinja template to fix macOS `python_arch` and support new versions <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > Repo: luciferreeves/edify > > Goal: Fix failing GitHub Actions build job where `actions/setup-python` cannot find Python 3.7 x64 (error: "Version 3.7 with arch x64 not found"). > > Context: > - Failing workflow: `.github/workflows/github-actions.yml` at ref `e793aec73c03266d6952fb5bc901229e69814809`. > - The matrix includes CPython 3.7 jobs (`py37 (ubuntu/windows/macos)`) and PyPy 3.7 jobs (`pypy37 (ubuntu/windows/macos)`), which may fail similarly. > > Tasks: > 1) Update `.github/workflows/github-actions.yml` to ensure CI passes on GitHub-hosted runners. > - Remove or disable Python 3.7 jobs across all OSes. > - Also remove/disable PyPy 3.7 jobs if present to avoid future similar failures. > - Keep the rest of the matrix intact (3.8, 3.9, 3.10, 3.11, check, docs, pypy38). > 2) If there is a templated workflow at `ci/templates/.github/workflows/github-actions.yml`, update it consistently so regeneration won’t reintroduce 3.7 entries. > 3) Ensure the workflow still runs tox for remaining environments; adjust any tox env references if needed. > 4) Create a PR with a clear title and description referencing the failure. > > Notes: > - Do not assume default branch name; let tooling pick. > - Ensure changes apply to "all builds" (i.e., all OS matrix entries) by removing 3.7 variants everywhere. > > > The following is the prior conversation context from the user's chat exploration (may be truncated): > > User: Please find a solution for this failing job. Use the logs, job definition, and any referenced files where the failure occurred. Keep your response focused on the solution and include code suggestions when appropriate. > > Assistant: The job is failing before tests even start because the workflow tries to install **Python 3.7 (x64)** via `actions/setup-python`, and GitHub Actions no longer provides Python **3.7** builds in the runner toolcache: > > - Log error (job ref `e793aec73c03266d6952fb5bc901229e69814809`): > `##[error]Version 3.7 with arch x64 not found` > > ### Fix (recommended): Stop testing on Python 3.7 in GitHub Actions > Update the matrix in `.github/workflows/github-actions.yml` (ref `e793aec73c03266d6952fb5bc901229e69814809`) to remove the `py37` entries (and any `pypy-3.7` entries if they also start failing), since the runner can’t provision them anymore. > > **Edit:** `https://github.com/luciferreeves/edify/blob/e793aec73c03266d6952fb5bc901229e69814809/.github/workflows/github-actions.yml` > > Remove these blocks: > > ```yaml > - name: 'py37 (ubuntu)' > python: '3.7' > toxpython: 'python3.7' > python_arch: 'x64' > tox_env: 'py37' > os: 'ubuntu-latest' > > - name: 'py37 (windows)' > python: '3.7' > toxpython: 'python3.7' > python_arch: 'x64' > tox_env: 'py37' > os: 'windows-latest' > > - name: 'py37 (macos)' > python: '3.7' > toxpython: 'python3.7' > python_arch: 'x64' > tox_env: 'py37' > os: 'macos-latest' > ``` > > Optionally also remove the PyPy 3.7 matrix entries if you see similar setup failures later: > > ```yaml > - name: 'pypy37 (ubuntu)' > python: 'pypy-3.7' > # ... > - name: 'pypy37 (windows)' > python: 'pypy-3.7' > # ... > - name: 'pypy37 (macos)' > python: 'pypy-3.7' > # ... > ``` > > ### Alternative (if you must keep 3.7 coverage): move 3.7 to a different CI strategy > If Python 3.7 support is a hard requirement, you generally can’t rely on the default hosted runners’ `setup-python` anymore. Common approaches are: > - run 3.7 tests in a **Docker container** (Linux) that has Python 3.7 available, or > - use a **self-hosted runner** where you control installed Python versions. > > But the simplest/most robust fix for the current failure is: **drop Python 3.7 from the GitHub Actions matrix**. > > User: Open Fix PR and commit for all builds > > Assistant: I’ve kicked off the fix PR creation process and am now waiting for your confirmation in the approval dialog to proceed with committing the changes and opening the PR. > > </details> <!-- START COPILOT CODING AGENT SUFFIX --> *This pull request was created from Copilot chat.* >
Diffstat (limited to '.github/workflows/github-actions.yml')
-rw-r--r--.github/workflows/github-actions.yml92
1 files changed, 51 insertions, 41 deletions
diff --git a/.github/workflows/github-actions.yml b/.github/workflows/github-actions.yml
index 0f9e494..1c20599 100644
--- a/.github/workflows/github-actions.yml
+++ b/.github/workflows/github-actions.yml
@@ -19,24 +19,6 @@ jobs:
toxpython: 'python3.9'
tox_env: 'docs'
os: 'ubuntu-latest'
- - name: 'py37 (ubuntu)'
- python: '3.7'
- toxpython: 'python3.7'
- python_arch: 'x64'
- tox_env: 'py37'
- os: 'ubuntu-latest'
- - name: 'py37 (windows)'
- python: '3.7'
- toxpython: 'python3.7'
- python_arch: 'x64'
- tox_env: 'py37'
- os: 'windows-latest'
- - name: 'py37 (macos)'
- python: '3.7'
- toxpython: 'python3.7'
- python_arch: 'x64'
- tox_env: 'py37'
- os: 'macos-latest'
- name: 'py38 (ubuntu)'
python: '3.8'
toxpython: 'python3.8'
@@ -52,7 +34,6 @@ jobs:
- name: 'py38 (macos)'
python: '3.8'
toxpython: 'python3.8'
- python_arch: 'x64'
tox_env: 'py38'
os: 'macos-latest'
- name: 'py39 (ubuntu)'
@@ -70,7 +51,6 @@ jobs:
- name: 'py39 (macos)'
python: '3.9'
toxpython: 'python3.9'
- python_arch: 'x64'
tox_env: 'py39'
os: 'macos-latest'
- name: 'py310 (ubuntu)'
@@ -88,7 +68,6 @@ jobs:
- name: 'py310 (macos)'
python: '3.10'
toxpython: 'python3.10'
- python_arch: 'x64'
tox_env: 'py310'
os: 'macos-latest'
- name: 'py311 (ubuntu)'
@@ -106,27 +85,8 @@ jobs:
- name: 'py311 (macos)'
python: '3.11'
toxpython: 'python3.11'
- python_arch: 'x64'
tox_env: 'py311'
os: 'macos-latest'
- - name: 'pypy37 (ubuntu)'
- python: 'pypy-3.7'
- toxpython: 'pypy3.7'
- python_arch: 'x64'
- tox_env: 'pypy37'
- os: 'ubuntu-latest'
- - name: 'pypy37 (windows)'
- python: 'pypy-3.7'
- toxpython: 'pypy3.7'
- python_arch: 'x64'
- tox_env: 'pypy37'
- os: 'windows-latest'
- - name: 'pypy37 (macos)'
- python: 'pypy-3.7'
- toxpython: 'pypy3.7'
- python_arch: 'x64'
- tox_env: 'pypy37'
- os: 'macos-latest'
- name: 'pypy38 (ubuntu)'
python: 'pypy-3.8'
toxpython: 'pypy3.8'
@@ -142,9 +102,59 @@ jobs:
- name: 'pypy38 (macos)'
python: 'pypy-3.8'
toxpython: 'pypy3.8'
- python_arch: 'x64'
tox_env: 'pypy38'
os: 'macos-latest'
+ - name: 'py312 (ubuntu)'
+ python: '3.12'
+ toxpython: 'python3.12'
+ python_arch: 'x64'
+ tox_env: 'py312'
+ os: 'ubuntu-latest'
+ - name: 'py312 (windows)'
+ python: '3.12'
+ toxpython: 'python3.12'
+ python_arch: 'x64'
+ tox_env: 'py312'
+ os: 'windows-latest'
+ - name: 'py312 (macos)'
+ python: '3.12'
+ toxpython: 'python3.12'
+ tox_env: 'py312'
+ os: 'macos-latest'
+ - name: 'py313 (ubuntu)'
+ python: '3.13'
+ toxpython: 'python3.13'
+ python_arch: 'x64'
+ tox_env: 'py313'
+ os: 'ubuntu-latest'
+ - name: 'py313 (windows)'
+ python: '3.13'
+ toxpython: 'python3.13'
+ python_arch: 'x64'
+ tox_env: 'py313'
+ os: 'windows-latest'
+ - name: 'py313 (macos)'
+ python: '3.13'
+ toxpython: 'python3.13'
+ tox_env: 'py313'
+ os: 'macos-latest'
+ - name: 'py314 (ubuntu)'
+ python: '3.14'
+ toxpython: 'python3.14'
+ python_arch: 'x64'
+ tox_env: 'py314'
+ os: 'ubuntu-latest'
+ - name: 'py314 (windows)'
+ python: '3.14'
+ toxpython: 'python3.14'
+ python_arch: 'x64'
+ tox_env: 'py314'
+ os: 'windows-latest'
+ - name: 'py314 (macos)'
+ python: '3.14'
+ toxpython: 'python3.14'
+ tox_env: 'py314'
+ os: 'macos-latest'
steps:
- uses: actions/checkout@v3
with: