diff --git a/.github/workflows/python_matrix.yml b/.github/workflows/python_matrix.yml index 64c7d74..7ac828a 100644 --- a/.github/workflows/python_matrix.yml +++ b/.github/workflows/python_matrix.yml @@ -22,7 +22,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.12', '3.13'] + python-version: ['3.12', '3.13', '3.14'] project: - { name: PyAutoNerves, tests: test_autonerves } - { name: PyAutoArray, tests: test_autoarray } @@ -43,7 +43,6 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - allow-prereleases: true - name: Install libraries (single combined install — all 5 local) run: | python -m pip install --upgrade pip wheel @@ -71,74 +70,12 @@ jobs: cd ${{ matrix.project.name }} python -m pytest ${{ matrix.project.tests }}/ --tb=short - # Python 3.14 is deliberately unit-suite evidence only. The known PyAutoFit - # workspace-level factor-graph regression is tracked separately and is not - # exercised by this job. Every project gets an isolated cell, but a failure - # cannot weaken or mask the required 3.12/3.13 matrix above. - experimental_python_314: - runs-on: ubuntu-latest - continue-on-error: true - strategy: - fail-fast: false - matrix: - python-version: ['3.14'] - project: - - { name: PyAutoNerves, tests: test_autonerves } - - { name: PyAutoArray, tests: test_autoarray } - - { name: PyAutoFit, tests: test_autofit } - - { name: PyAutoGalaxy, tests: test_autogalaxy } - - { name: PyAutoLens, tests: test_autolens } - steps: - - uses: actions/checkout@v4 - with: { repository: PyAutoLabs/PyAutoNerves, path: PyAutoNerves } - - uses: actions/checkout@v4 - with: { repository: PyAutoLabs/PyAutoArray, path: PyAutoArray } - - uses: actions/checkout@v4 - with: { repository: PyAutoLabs/PyAutoFit, path: PyAutoFit } - - uses: actions/checkout@v4 - with: { repository: PyAutoLabs/PyAutoGalaxy, path: PyAutoGalaxy } - - uses: actions/checkout@v4 - with: { repository: PyAutoLabs/PyAutoLens, path: PyAutoLens } - - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - allow-prereleases: true - - name: Install libraries (experimental 3.14 evidence) - run: | - python -m pip install --upgrade pip wheel - pip install \ - -e ./PyAutoNerves \ - -e "./PyAutoArray[optional]" \ - -e ./PyAutoFit \ - -e ./PyAutoGalaxy \ - -e "./PyAutoLens[optional]" - pip install pytest pytest-cov - pip list | grep -iE "^(autonerves|autoarray|autofit|autogalaxy|autolens|jax|numpy|scipy|nautilus)" - - name: Run experimental tests - env: - NUMBA_CACHE_DIR: /tmp/numba_cache - MPLCONFIGDIR: /tmp/matplotlib - JAX_ENABLE_X64: "True" - run: | - cd ${{ matrix.project.name }} - python -m pytest ${{ matrix.project.tests }}/ --tb=short - - name: Record experimental cell result - if: always() - run: | - { - echo "### Python 3.14 experimental unit evidence" - echo "" - echo "- Project: ${{ matrix.project.name }}" - echo "- Cell status before continue-on-error: ${{ job.status }}" - echo "- This cell is non-required and does not cover workspace scripts." - } >> "$GITHUB_STEP_SUMMARY" - smoke_tests: runs-on: ubuntu-latest strategy: fail-fast: false matrix: - python-version: ['3.12', '3.13'] + python-version: ['3.12', '3.13', '3.14'] workspace: - { repo: PyAutoLabs/autofit_workspace, path: autofit_workspace } - { repo: PyAutoLabs/autogalaxy_workspace, path: autogalaxy_workspace } @@ -166,7 +103,6 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - allow-prereleases: true - name: Install libraries (single combined install — all 5 local) run: | python -m pip install --upgrade pip wheel @@ -205,7 +141,7 @@ jobs: summary: runs-on: ubuntu-latest - needs: [unit_tests, smoke_tests, experimental_python_314] + needs: [unit_tests, smoke_tests] if: always() steps: - name: Post summary @@ -217,13 +153,7 @@ jobs: echo "|--------------|---------------------------------|" echo "| unit_tests | ${{ needs.unit_tests.result }} |" echo "| smoke_tests | ${{ needs.smoke_tests.result }} |" - echo "| python_314 (non-required job conclusion) | ${{ needs.experimental_python_314.result }} |" - echo "" - echo "Each 3.14 matrix cell records its pre-continue-on-error status" - echo "in that cell's summary; the aggregate conclusion may be coerced" - echo "to success by GitHub's job-level continue-on-error semantics." echo "" - echo "**Required and supported:** 3.12, 3.13." - echo "**Experimental evidence (non-required):** 3.14." + echo "**Required and supported:** 3.12, 3.13, 3.14." echo "**Current source metadata rejects:** Python 3.11 and older." } >> "$GITHUB_STEP_SUMMARY"