From 70bdaf5599fe0ffa969abbb43646a3e53d8fa525 Mon Sep 17 00:00:00 2001 From: Mats Wichmann Date: Thu, 15 Oct 2026 08:13:58 -0600 Subject: [PATCH 1/3] Perform CI experiment Violating standard principles, we're trying three new things at once: * ubuntu-26.04 (out Sept, phasing in as ubuntu-default from mid-Oct to mid-Nov) * Python 3.15 (released Oct) * New setup-python@v7 For the experiment, this is a separate yaml file, not integrated into our regular matrix. Signed-off-by: Mats Wichmann --- .github/workflows/runtest-next.yml | 57 ++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/runtest-next.yml diff --git a/.github/workflows/runtest-next.yml b/.github/workflows/runtest-next.yml new file mode 100644 index 000000000..667461edc --- /dev/null +++ b/.github/workflows/runtest-next.yml @@ -0,0 +1,57 @@ +# One-off canary: try newly available runner (ubuntu-26.04) + newly +# released Python (3.15.0). Won't turn CI red if fails. + +name: Next Test Suite + +on: [push, pull_request, workflow_dispatch] + +concurrency: + group: ${{ github.workflow }}|${{ github.ref_name }} + cancel-in-progress: true + +defaults: + run: + shell: bash + +jobs: + runtest-next: + continue-on-error: true + strategy: + fail-fast: false + matrix: + os: [ubuntu-26.04] + python: ["3.15"] + runs-on: ${{ matrix.os }} + timeout-minutes: 30 + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup Python + uses: actions/setup-python@v7 + with: + python-version: ${{ matrix.python }} + cache: pip + pip-install: --group dev + + - name: Setup Ubuntu dependencies + run: | + sudo apt-get update + sudo apt-get install libtirpc-dev + + - name: Setup excluded tests + run: | + touch .excludes + cat .excludes + + - name: Run tests + id: run-tests + run: | + python runtest.py SCons test testing --time --jobs=0 --exclude-list=.excludes + + - name: Archive failed tests + uses: actions/upload-artifact@v7 + if: always() && steps.run-tests.outcome == 'failure' + with: + name: ${{ matrix.os }}-${{ matrix.python }}-failed-tests + path: failed_tests.log From 310140289c62ab47dc2ad055a07fb9b5dab305bc Mon Sep 17 00:00:00 2001 From: Mats Wichmann Date: Thu, 15 Oct 2026 10:16:45 -0600 Subject: [PATCH 2/3] Experiment with fuller test run Using the experimental runtest-next.yml, add in a bunch of packages to see what a full test run looks like. Signed-off-by: Mats Wichmann --- .github/workflows/runtest-next.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/runtest-next.yml b/.github/workflows/runtest-next.yml index 667461edc..3049ef655 100644 --- a/.github/workflows/runtest-next.yml +++ b/.github/workflows/runtest-next.yml @@ -25,19 +25,25 @@ jobs: timeout-minutes: 30 steps: - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Setup Python uses: actions/setup-python@v7 with: python-version: ${{ matrix.python }} cache: pip - pip-install: --group dev + + - name: Install dev dependencies + run: | + python -m pip install --upgrade pip + python -m pip install --group dev - name: Setup Ubuntu dependencies run: | sudo apt-get update - sudo apt-get install libtirpc-dev + sudo apt-get -y install libtirpc-dev + sudo apt-get -y install docbook-xml docbook-xsl xsltproc docbook-xsl-doc-pdf ghostscript gdc gettext fop + sudo apt-get -y --no-install-recommends install texlive biber texmaker texlive-latex-base texlive-latex-extra texlive-bibtex-extra texlive-plain-generic texlive-font-utils texlive-fonts-recommended latexmk - name: Setup excluded tests run: | From f0c7a794be732460292570a33f89bae9f4106a70 Mon Sep 17 00:00:00 2001 From: Mats Wichmann Date: Sun, 18 Oct 2026 10:25:23 -0600 Subject: [PATCH 3/3] Update the two existing workflow files runtest.yml had an error that didn't let pip install the dev pkgs scons-package.yml was still using old syntax for installation - since this runner works with a recent python there should be no problem upgrading. Both now pin newer versions of action scripts. Signed-off-by: Mats Wichmann --- .github/workflows/runtest.yml | 10 +++++++--- .github/workflows/scons-package.yml | 7 +++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/runtest.yml b/.github/workflows/runtest.yml index 5bc09a53d..7a515d92f 100644 --- a/.github/workflows/runtest.yml +++ b/.github/workflows/runtest.yml @@ -22,14 +22,18 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Setup Python - uses: actions/setup-python@v6 + uses: actions/setup-python@v7 with: python-version: ${{ matrix.python }} cache: pip - pip-install: --group dev + + - name: Install dev dependencies + run: | + python -m pip install --upgrade pip + python -m pip install --group dev - name: Setup Ubuntu dependencies if: startsWith(matrix.os, 'ubuntu') diff --git a/.github/workflows/scons-package.yml b/.github/workflows/scons-package.yml index 6180864fc..7c604d8df 100644 --- a/.github/workflows/scons-package.yml +++ b/.github/workflows/scons-package.yml @@ -14,19 +14,18 @@ jobs: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Set up Python 3.14 - uses: actions/setup-python@v5 + uses: actions/setup-python@v7 with: python-version: '3.14' cache: 'pip' - name: Install dependencies run: | + python -m pip install --group pkg python -m pip install --progress-bar off --upgrade pip setuptools wheel - #python -m pip install flake8 pytest - if [ -f requirements-pkg.txt ]; then pip install --progress-bar off -r requirements-pkg.txt; elif [ -f requirements.txt ]; then pip install --progress-bar off -r requirements.txt; fi sudo apt-get update sudo apt-get -y install docbook-xml docbook-xsl xsltproc fop docbook-xsl-doc-pdf # try to keep the texlive install as small as we can to save some time/space