From d473905e979fa5010af1225417801a11c23e0fe2 Mon Sep 17 00:00:00 2001 From: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com> Date: Wed, 4 Nov 2026 18:23:12 +0000 Subject: [PATCH 1/7] Create updater.yaml --- .github/workflows/updater.yaml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/updater.yaml diff --git a/.github/workflows/updater.yaml b/.github/workflows/updater.yaml new file mode 100644 index 000000000..647553d31 --- /dev/null +++ b/.github/workflows/updater.yaml @@ -0,0 +1,23 @@ +name: GitHub Actions Version Updater + +on: + workflow_dispatch: + schedule: + - cron: "28 18 * * 1#1" # first Monday of the month at 18:28 UTC + +permissions: + contents: read + +jobs: + update: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + token: ${{ secrets.UPDATER_TOKEN }} + + - name: Run GitHub Actions Version Updater + uses: saadmk11/github-actions-version-updater@764bee6cd2905c6c91624f35332f1472fa736c23 # v1.0.3 + with: + token: ${{ secrets.UPDATER_TOKEN }} + update_version_with: release-commit-sha From 30ee7e2bb0be66330a542c755d7c63ee6e1eea88 Mon Sep 17 00:00:00 2001 From: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com> Date: Wed, 4 Nov 2026 19:21:37 +0000 Subject: [PATCH 2/7] Update schedule --- .github/workflows/updater.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/updater.yaml b/.github/workflows/updater.yaml index 647553d31..d767431f2 100644 --- a/.github/workflows/updater.yaml +++ b/.github/workflows/updater.yaml @@ -3,7 +3,7 @@ name: GitHub Actions Version Updater on: workflow_dispatch: schedule: - - cron: "28 18 * * 1#1" # first Monday of the month at 18:28 UTC + - cron: "28 18 1-7 * 1" # first Monday of the month at 18:28 UTC permissions: contents: read From c6eeb27242de82c2f1856bb5b1277ac22b21c5a5 Mon Sep 17 00:00:00 2001 From: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com> Date: Wed, 4 Nov 2026 19:45:23 +0000 Subject: [PATCH 3/7] Add temporary 'push' to test --- .github/workflows/updater.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/updater.yaml b/.github/workflows/updater.yaml index d767431f2..3f437ecd9 100644 --- a/.github/workflows/updater.yaml +++ b/.github/workflows/updater.yaml @@ -1,6 +1,7 @@ name: GitHub Actions Version Updater on: + push: workflow_dispatch: schedule: - cron: "28 18 1-7 * 1" # first Monday of the month at 18:28 UTC From 5d79e6f781ca059e2c15e7edafdb4958f95dc21d Mon Sep 17 00:00:00 2001 From: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com> Date: Wed, 4 Nov 2026 19:53:59 +0000 Subject: [PATCH 4/7] Add label --- .github/workflows/updater.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/updater.yaml b/.github/workflows/updater.yaml index 3f437ecd9..1c928d8cd 100644 --- a/.github/workflows/updater.yaml +++ b/.github/workflows/updater.yaml @@ -22,3 +22,4 @@ jobs: with: token: ${{ secrets.UPDATER_TOKEN }} update_version_with: release-commit-sha + pull_request_labels: "CI" From 1f4f394c366fc99ae3673d86596372fef3f056b1 Mon Sep 17 00:00:00 2001 From: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com> Date: Wed, 4 Nov 2026 20:06:12 +0000 Subject: [PATCH 5/7] Remove label --- .github/workflows/updater.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/updater.yaml b/.github/workflows/updater.yaml index 1c928d8cd..3f437ecd9 100644 --- a/.github/workflows/updater.yaml +++ b/.github/workflows/updater.yaml @@ -22,4 +22,3 @@ jobs: with: token: ${{ secrets.UPDATER_TOKEN }} update_version_with: release-commit-sha - pull_request_labels: "CI" From bc7a3dc3a6b3c9ed885e5e8e0c0ff7eddc61d5bd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 4 Nov 2026 20:06:40 +0000 Subject: [PATCH 6/7] Update GitHub Action Versions --- .github/workflows/draft-pdf.yml | 6 ++--- .github/workflows/lychee_links.yaml | 6 ++--- .../workflows/nightly_dependency_tests.yaml | 6 ++--- .github/workflows/release_action.yaml | 20 +++++++------- .github/workflows/scheduled_tests.yaml | 8 +++--- .github/workflows/test_on_pull_request.yaml | 26 +++++++++---------- .github/workflows/updater.yaml | 4 +-- 7 files changed, 38 insertions(+), 38 deletions(-) diff --git a/.github/workflows/draft-pdf.yml b/.github/workflows/draft-pdf.yml index 4763e41d5..67db76c3c 100644 --- a/.github/workflows/draft-pdf.yml +++ b/.github/workflows/draft-pdf.yml @@ -15,17 +15,17 @@ jobs: name: Paper Draft steps: - name: Checkout - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Build draft PDF - uses: openjournals/openjournals-draft-action@85a18372e48f551d8af9ddb7a747de685fbbb01c # v1.0 + uses: openjournals/openjournals-draft-action@85a18372e48f551d8af9ddb7a747de685fbbb01c # v1.0 with: journal: joss # This should be the path to the paper within your repo. paper-path: papers/joss/paper.md - name: Upload - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: paper # This is the output path where Pandoc will write the compiled diff --git a/.github/workflows/lychee_links.yaml b/.github/workflows/lychee_links.yaml index eb1bb6c50..31181b162 100644 --- a/.github/workflows/lychee_links.yaml +++ b/.github/workflows/lychee_links.yaml @@ -15,19 +15,19 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Restore lychee cache - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 + uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: .lycheecache key: cache-lychee-${{ github.sha }} restore-keys: cache-lychee- - name: Run lychee - uses: lycheeverse/lychee-action@e7477775783ea5526144ba13e8db5eec57747ce8 # v2.9.0 + uses: lycheeverse/lychee-action@e7477775783ea5526144ba13e8db5eec57747ce8 # v2.9.0 with: args: >- --cache diff --git a/.github/workflows/nightly_dependency_tests.yaml b/.github/workflows/nightly_dependency_tests.yaml index d27f9e974..36450ab3c 100644 --- a/.github/workflows/nightly_dependency_tests.yaml +++ b/.github/workflows/nightly_dependency_tests.yaml @@ -39,12 +39,12 @@ jobs: issues: write # for creating issues when tests fail steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up Python ${{ matrix.python-version }} - uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3 + uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3 with: python-version: ${{ matrix.python-version }} activate-environment: "true" @@ -97,7 +97,7 @@ jobs: fi - name: Create issues from pytest logs - uses: scientific-python/issue-from-pytest-log-action@35b4e0a9e06f8e7e261778289cf4b968b722662d # v1.6.2 + uses: scientific-python/issue-from-pytest-log-action@35b4e0a9e06f8e7e261778289cf4b968b722662d # v1.6.2 if: | failure() && steps.pytest.outcome == 'failure' diff --git a/.github/workflows/release_action.yaml b/.github/workflows/release_action.yaml index 26c294669..e95f8aa8d 100644 --- a/.github/workflows/release_action.yaml +++ b/.github/workflows/release_action.yaml @@ -11,17 +11,17 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up Python - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: "3.12" - name: Build a source tarball and a wheel from it run: pipx run build - name: Store the distribution packages - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: python-package-distributions path: dist/ @@ -42,13 +42,13 @@ jobs: steps: - name: Download all the dists - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 + uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 with: name: python-package-distributions path: dist/ merge-multiple: true - name: Publish distribution 📦 to PyPI - uses: pypa/gh-action-pypi-publish@7245906fb61fa33a13554f9d5fb856fe61758086 # v1.14.3 + uses: pypa/gh-action-pypi-publish@7245906fb61fa33a13554f9d5fb856fe61758086 # v1.14.3 github-release: name: >- @@ -64,19 +64,19 @@ jobs: steps: - name: Download all the dists - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 + uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 with: name: python-package-distributions path: dist/ merge-multiple: true - name: Sign the dists with Sigstore - uses: sigstore/gh-action-sigstore-python@790bc6befb9d733738f18d8f895854b453640ec9 # v3.5.0 + uses: sigstore/gh-action-sigstore-python@790bc6befb9d733738f18d8f895854b453640ec9 # v3.5.0 with: inputs: >- ./dist/*.tar.gz ./dist/*.whl - name: Publish artifacts and signatures to GitHub Releases - uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3 + uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3 with: # `dist/` contains the built packages, and the # sigstore-produced signatures and certificates. @@ -99,12 +99,12 @@ jobs: steps: - name: Download all the dists - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 + uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 with: name: python-package-distributions path: dist/ merge-multiple: true - name: Publish distribution 📦 to TestPyPI - uses: pypa/gh-action-pypi-publish@7245906fb61fa33a13554f9d5fb856fe61758086 # v1.14.3 + uses: pypa/gh-action-pypi-publish@7245906fb61fa33a13554f9d5fb856fe61758086 # v1.14.3 with: repository-url: https://test.pypi.org/legacy/ diff --git a/.github/workflows/scheduled_tests.yaml b/.github/workflows/scheduled_tests.yaml index a23e7e715..579eb68dd 100644 --- a/.github/workflows/scheduled_tests.yaml +++ b/.github/workflows/scheduled_tests.yaml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out PyBOP repository - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false sparse-checkout-cone-mode: false @@ -83,11 +83,11 @@ jobs: PYBAMM_VERSION: ${{ matrix.pybamm_version }} steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up Python ${{ matrix.python_version }} - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: ${{ matrix.python_version }} @@ -128,7 +128,7 @@ jobs: rm -rf ./* || true rm -rf ./.??* || true - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false diff --git a/.github/workflows/test_on_pull_request.yaml b/.github/workflows/test_on_pull_request.yaml index d410b496a..52ffb7d7b 100644 --- a/.github/workflows/test_on_pull_request.yaml +++ b/.github/workflows/test_on_pull_request.yaml @@ -20,12 +20,12 @@ jobs: style: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Setup Python - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: 3.11 @@ -46,12 +46,12 @@ jobs: name: Integration tests (${{ matrix.os }} / Python ${{ matrix.python-version }}) steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: ${{ matrix.python-version }} - name: Install dependencies @@ -77,12 +77,12 @@ jobs: name: Unit tests (${{ matrix.os }} / Python ${{ matrix.python-version }}) steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: ${{ matrix.python-version }} - name: Install dependencies @@ -105,12 +105,12 @@ jobs: name: Test examples (${{ matrix.os }} / Python ${{ matrix.python-version }}) steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: ${{ matrix.python-version }} - name: Install dependencies @@ -133,12 +133,12 @@ jobs: name: Test notebooks (${{ matrix.os }} / Python ${{ matrix.python-version }}) steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: ${{ matrix.python-version }} - name: Install dependencies @@ -159,13 +159,13 @@ jobs: steps: - name: Check out PyBOP repository - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up Python 3.12 id: setup-python - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: 3.12 cache: 'pip' @@ -178,7 +178,7 @@ jobs: run: nox -s coverage - name: Upload coverage report - uses: codecov/codecov-action@303a32d7a59b442fa8d48b6a1cc6825c09c847a5 # v7.1.1 + uses: codecov/codecov-action@303a32d7a59b442fa8d48b6a1cc6825c09c847a5 # v7.1.1 with: fail_ci_if_error: true verbose: true diff --git a/.github/workflows/updater.yaml b/.github/workflows/updater.yaml index 3f437ecd9..e8a47ac1f 100644 --- a/.github/workflows/updater.yaml +++ b/.github/workflows/updater.yaml @@ -13,12 +13,12 @@ jobs: update: runs-on: ubuntu-latest steps: - - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: token: ${{ secrets.UPDATER_TOKEN }} - name: Run GitHub Actions Version Updater - uses: saadmk11/github-actions-version-updater@764bee6cd2905c6c91624f35332f1472fa736c23 # v1.0.3 + uses: saadmk11/github-actions-version-updater@764bee6cd2905c6c91624f35332f1472fa736c23 # v1.0.3 with: token: ${{ secrets.UPDATER_TOKEN }} update_version_with: release-commit-sha From 114ddf664a1c0dc32898cc178bb160a8229cd08d Mon Sep 17 00:00:00 2001 From: NicolaCourtier <45851982+NicolaCourtier@users.noreply.github.com> Date: Wed, 4 Nov 2026 20:08:52 +0000 Subject: [PATCH 7/7] Remove 'push' --- .github/workflows/updater.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/updater.yaml b/.github/workflows/updater.yaml index 3f437ecd9..d767431f2 100644 --- a/.github/workflows/updater.yaml +++ b/.github/workflows/updater.yaml @@ -1,7 +1,6 @@ name: GitHub Actions Version Updater on: - push: workflow_dispatch: schedule: - cron: "28 18 1-7 * 1" # first Monday of the month at 18:28 UTC