From ebd8339c91226dfbfe2cb09e7d1c3c88b9cea5d8 Mon Sep 17 00:00:00 2001 From: AkshatRai07 Date: Fri, 28 Aug 2026 21:58:52 +0530 Subject: [PATCH 01/13] Renamed workflow files --- .github/workflows/{isobench.yml => bench-iso.yml} | 0 .github/workflows/{lha_bot_rust.yml => bench-lha-rust.yml} | 0 .github/workflows/{lha_bot.yml => bench-lha.yml} | 0 .github/workflows/{crates.yml => release-crates.yml} | 0 .github/workflows/{maturin.yml => release-ekors.yml} | 0 .github/workflows/{pypi.yml => release-python.yml} | 0 .github/workflows/{unittests.yml => unittests-python.yml} | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{isobench.yml => bench-iso.yml} (100%) rename .github/workflows/{lha_bot_rust.yml => bench-lha-rust.yml} (100%) rename .github/workflows/{lha_bot.yml => bench-lha.yml} (100%) rename .github/workflows/{crates.yml => release-crates.yml} (100%) rename .github/workflows/{maturin.yml => release-ekors.yml} (100%) rename .github/workflows/{pypi.yml => release-python.yml} (100%) rename .github/workflows/{unittests.yml => unittests-python.yml} (100%) diff --git a/.github/workflows/isobench.yml b/.github/workflows/bench-iso.yml similarity index 100% rename from .github/workflows/isobench.yml rename to .github/workflows/bench-iso.yml diff --git a/.github/workflows/lha_bot_rust.yml b/.github/workflows/bench-lha-rust.yml similarity index 100% rename from .github/workflows/lha_bot_rust.yml rename to .github/workflows/bench-lha-rust.yml diff --git a/.github/workflows/lha_bot.yml b/.github/workflows/bench-lha.yml similarity index 100% rename from .github/workflows/lha_bot.yml rename to .github/workflows/bench-lha.yml diff --git a/.github/workflows/crates.yml b/.github/workflows/release-crates.yml similarity index 100% rename from .github/workflows/crates.yml rename to .github/workflows/release-crates.yml diff --git a/.github/workflows/maturin.yml b/.github/workflows/release-ekors.yml similarity index 100% rename from .github/workflows/maturin.yml rename to .github/workflows/release-ekors.yml diff --git a/.github/workflows/pypi.yml b/.github/workflows/release-python.yml similarity index 100% rename from .github/workflows/pypi.yml rename to .github/workflows/release-python.yml diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests-python.yml similarity index 100% rename from .github/workflows/unittests.yml rename to .github/workflows/unittests-python.yml From 4f536cb2c6e0ebf13ab4a10d23df8b4d1aa347e4 Mon Sep 17 00:00:00 2001 From: AkshatRai07 Date: Sat, 29 Aug 2026 00:02:53 +0530 Subject: [PATCH 02/13] Changed tag regex --- .github/workflows/release-capi.yml | 2 +- .github/workflows/release-crates.yml | 2 +- .github/workflows/release-ekors.yml | 2 +- .github/workflows/release-pyapi.yml | 2 +- .github/workflows/release-python.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release-capi.yml b/.github/workflows/release-capi.yml index ae3b9b8c0..ef3463af8 100644 --- a/.github/workflows/release-capi.yml +++ b/.github/workflows/release-capi.yml @@ -3,7 +3,7 @@ name: Deploy C-API on: push: tags: - - "*" + - 'v[0-9]+*' workflow_dispatch: permissions: diff --git a/.github/workflows/release-crates.yml b/.github/workflows/release-crates.yml index 935ce2aba..3d225476a 100644 --- a/.github/workflows/release-crates.yml +++ b/.github/workflows/release-crates.yml @@ -3,7 +3,7 @@ name: Deploy Crates on: push: tags: - - "*" + - 'v[0-9]+*' workflow_dispatch: jobs: diff --git a/.github/workflows/release-ekors.yml b/.github/workflows/release-ekors.yml index 4d5699e46..b8ce9f40d 100644 --- a/.github/workflows/release-ekors.yml +++ b/.github/workflows/release-ekors.yml @@ -3,7 +3,7 @@ name: Deploy Maturin wheels on: push: tags: - - "*" + - 'v[0-9]+*' workflow_dispatch: permissions: diff --git a/.github/workflows/release-pyapi.yml b/.github/workflows/release-pyapi.yml index eea3a1217..5036ab373 100644 --- a/.github/workflows/release-pyapi.yml +++ b/.github/workflows/release-pyapi.yml @@ -3,7 +3,7 @@ name: Deploy Maturin wheels on: push: tags: - - "*" + - 'v[0-9]+*' workflow_dispatch: permissions: diff --git a/.github/workflows/release-python.yml b/.github/workflows/release-python.yml index 908ca79c5..85b534d1a 100644 --- a/.github/workflows/release-python.yml +++ b/.github/workflows/release-python.yml @@ -3,7 +3,7 @@ name: deploy on: push: tags: - - "*" + - 'v[0-9]+*' jobs: publish: From e718a3769e704513481e5091e8fd1413e128e78e Mon Sep 17 00:00:00 2001 From: AkshatRai07 Date: Sat, 29 Aug 2026 00:05:27 +0530 Subject: [PATCH 03/13] Added optional tag input --- .github/workflows/release-capi.yml | 6 ++++++ .github/workflows/release-crates.yml | 6 ++++++ .github/workflows/release-ekors.yml | 6 ++++++ .github/workflows/release-pyapi.yml | 6 ++++++ .github/workflows/release-python.yml | 7 +++++++ 5 files changed, 31 insertions(+) diff --git a/.github/workflows/release-capi.yml b/.github/workflows/release-capi.yml index ef3463af8..da6b66f67 100644 --- a/.github/workflows/release-capi.yml +++ b/.github/workflows/release-capi.yml @@ -5,6 +5,12 @@ on: tags: - 'v[0-9]+*' workflow_dispatch: + inputs: + tag: + description: >- + Existing release tag to (re)publish. Use this to complete a release + whose tag-triggered run failed partway. + required: false permissions: contents: write diff --git a/.github/workflows/release-crates.yml b/.github/workflows/release-crates.yml index 3d225476a..62fd90e39 100644 --- a/.github/workflows/release-crates.yml +++ b/.github/workflows/release-crates.yml @@ -5,6 +5,12 @@ on: tags: - 'v[0-9]+*' workflow_dispatch: + inputs: + tag: + description: >- + Existing release tag to (re)publish. Use this to complete a release + whose tag-triggered run failed partway. + required: false jobs: deploy: diff --git a/.github/workflows/release-ekors.yml b/.github/workflows/release-ekors.yml index b8ce9f40d..376b5bda1 100644 --- a/.github/workflows/release-ekors.yml +++ b/.github/workflows/release-ekors.yml @@ -5,6 +5,12 @@ on: tags: - 'v[0-9]+*' workflow_dispatch: + inputs: + tag: + description: >- + Existing release tag to (re)publish. Use this to complete a release + whose tag-triggered run failed partway. + required: false permissions: contents: read diff --git a/.github/workflows/release-pyapi.yml b/.github/workflows/release-pyapi.yml index 5036ab373..fd22cab49 100644 --- a/.github/workflows/release-pyapi.yml +++ b/.github/workflows/release-pyapi.yml @@ -5,6 +5,12 @@ on: tags: - 'v[0-9]+*' workflow_dispatch: + inputs: + tag: + description: >- + Existing release tag to (re)publish. Use this to complete a release + whose tag-triggered run failed partway. + required: false permissions: contents: read diff --git a/.github/workflows/release-python.yml b/.github/workflows/release-python.yml index 85b534d1a..3bd3e19a4 100644 --- a/.github/workflows/release-python.yml +++ b/.github/workflows/release-python.yml @@ -4,6 +4,13 @@ on: push: tags: - 'v[0-9]+*' + workflow_dispatch: + inputs: + tag: + description: >- + Existing release tag to (re)publish. Use this to complete a release + whose tag-triggered run failed partway. + required: false jobs: publish: From 3d66db19ae1b645820b8ed5ca0d131efb3ff1474 Mon Sep 17 00:00:00 2001 From: AkshatRai07 Date: Sat, 29 Aug 2026 00:35:08 +0530 Subject: [PATCH 04/13] Changed tag and ver detection --- .github/workflows/release-capi.yml | 15 ++++++++++----- .github/workflows/release-crates.yml | 5 ++++- .github/workflows/release-ekors.yml | 10 ++++++---- .github/workflows/release-pyapi.yml | 8 ++++++-- .github/workflows/release-python.yml | 1 + 5 files changed, 27 insertions(+), 12 deletions(-) diff --git a/.github/workflows/release-capi.yml b/.github/workflows/release-capi.yml index da6b66f67..6b6a9a073 100644 --- a/.github/workflows/release-capi.yml +++ b/.github/workflows/release-capi.yml @@ -21,11 +21,13 @@ jobs: steps: - uses: actions/checkout@v4 - name: Install tomlkit - if: startsWith(github.ref, 'refs/tags/') + if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' run: pip install tomlkit - name: Bump versions - if: startsWith(github.ref, 'refs/tags/') - run: python crates/bump-versions.py ${{ github.ref_name }} + if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' + env: + TAG: ${{ github.event.inputs.tag || github.ref_name }} + run: python crates/bump-versions.py ${{ env.TAG }} - name: Upload patched Cargo files uses: actions/upload-artifact@v4 with: @@ -70,8 +72,10 @@ jobs: run: ./crates/ekore_capi/tests/run_tests.sh - name: Package dist id: package + env: + TAG: ${{ github.event.inputs.tag || github.ref_name }} run: | - archive="ekore_capi-${{ github.ref_name }}-${{ matrix.platform.name }}.tar.gz" + archive="ekore_capi-${TAG}-${{ matrix.platform.name }}.tar.gz" tar -C crates/ekore_capi/dist -czf "$archive" . echo "archive=$archive" >> "$GITHUB_OUTPUT" - name: Upload archive @@ -84,7 +88,7 @@ jobs: name: Publish release runs-on: ubuntu-latest needs: [build] - if: startsWith(github.ref, 'refs/tags/') + if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' steps: - name: Download archives uses: actions/download-artifact@v4 @@ -98,6 +102,7 @@ jobs: - name: Publish to GitHub Releases uses: softprops/action-gh-release@v2 with: + tag_name: ${{ github.event.inputs.tag || github.ref_name }} files: | dist-artifacts/*.tar.gz dist-artifacts/SHA256SUMS.txt diff --git a/.github/workflows/release-crates.yml b/.github/workflows/release-crates.yml index 62fd90e39..037a6ffb7 100644 --- a/.github/workflows/release-crates.yml +++ b/.github/workflows/release-crates.yml @@ -15,6 +15,7 @@ on: jobs: deploy: runs-on: ubuntu-latest + if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' steps: - uses: actions/checkout@v4 @@ -24,9 +25,11 @@ jobs: - name: Install task runner run: pip install poethepoet - name: Bump versions + env: + TAG: ${{ github.event.inputs.tag || github.ref_name }} run: | poetry install --only version - poe bump-version + python crates/bump-versions.py ${{ env.TAG }} - name: Publish crates run: | jq '.[]' crates/release.json | xargs -I _ cargo publish -p _ --allow-dirty diff --git a/.github/workflows/release-ekors.yml b/.github/workflows/release-ekors.yml index 376b5bda1..418e92e82 100644 --- a/.github/workflows/release-ekors.yml +++ b/.github/workflows/release-ekors.yml @@ -21,11 +21,13 @@ jobs: steps: - uses: actions/checkout@v4 - name: Install tomlkit - if: startsWith(github.ref, 'refs/tags/') + if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' run: pip install tomlkit - name: Bump versions - if: startsWith(github.ref, 'refs/tags/') - run: python crates/bump-versions.py ${{ github.ref_name }} + if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' + env: + TAG: ${{ github.event.inputs.tag || github.ref_name }} + run: python crates/bump-versions.py ${{ env.TAG }} - name: Upload patched Cargo files uses: actions/upload-artifact@v4 with: @@ -163,7 +165,7 @@ jobs: release: name: Release runs-on: ubuntu-latest - if: "startsWith(github.ref, 'refs/tags/')" + if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' needs: [linux, windows, macos, sdist] steps: - uses: actions/download-artifact@v4 diff --git a/.github/workflows/release-pyapi.yml b/.github/workflows/release-pyapi.yml index fd22cab49..7e8f5e254 100644 --- a/.github/workflows/release-pyapi.yml +++ b/.github/workflows/release-pyapi.yml @@ -24,9 +24,13 @@ jobs: with: python-version: ${{ vars.PYTHON_VERSION_WORKFLOWS }} - name: Install tomlkit + if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' run: pip install tomlkit - name: Bump versions - run: python crates/bump-versions.py ${{ github.ref_name }} + if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' + env: + TAG: ${{ github.event.inputs.tag || github.ref_name }} + run: python crates/bump-versions.py ${{ env.TAG }} - name: Upload patched Cargo files uses: actions/upload-artifact@v4 with: @@ -170,7 +174,7 @@ jobs: release: name: Release runs-on: ubuntu-latest - if: "startsWith(github.ref, 'refs/tags/')" + if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' needs: [linux, windows, macos, sdist] steps: - uses: actions/download-artifact@v4 diff --git a/.github/workflows/release-python.yml b/.github/workflows/release-python.yml index 3bd3e19a4..0bed7bc69 100644 --- a/.github/workflows/release-python.yml +++ b/.github/workflows/release-python.yml @@ -14,6 +14,7 @@ on: jobs: publish: + if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' uses: ./.github/workflows/python-poetry-pypi-with-data.yml secrets: PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} From e35ce18c3fa4a6f19db017e093e17c7411ad7298 Mon Sep 17 00:00:00 2001 From: AkshatRai07 Date: Sat, 29 Aug 2026 00:38:42 +0530 Subject: [PATCH 05/13] Added python setup in release bump-version --- .github/workflows/release-capi.yml | 3 +++ .github/workflows/release-ekors.yml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/.github/workflows/release-capi.yml b/.github/workflows/release-capi.yml index 6b6a9a073..601091128 100644 --- a/.github/workflows/release-capi.yml +++ b/.github/workflows/release-capi.yml @@ -20,6 +20,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: ${{ vars.PYTHON_VERSION_WORKFLOWS }} - name: Install tomlkit if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' run: pip install tomlkit diff --git a/.github/workflows/release-ekors.yml b/.github/workflows/release-ekors.yml index 418e92e82..5f148d209 100644 --- a/.github/workflows/release-ekors.yml +++ b/.github/workflows/release-ekors.yml @@ -20,6 +20,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: ${{ vars.PYTHON_VERSION_WORKFLOWS }} - name: Install tomlkit if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' run: pip install tomlkit From 20e6c37c5296e6f37b98fc18ad58f7750f214fd6 Mon Sep 17 00:00:00 2001 From: AkshatRai07 Date: Sat, 29 Aug 2026 00:41:42 +0530 Subject: [PATCH 06/13] Updated actions and codecov versions --- .github/workflows/bench-iso.yml | 4 ++-- .github/workflows/bench-lha-rust.yml | 2 +- .github/workflows/bench-lha.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/bench-iso.yml b/.github/workflows/bench-iso.yml index 615dd481b..c2692e080 100644 --- a/.github/workflows/bench-iso.yml +++ b/.github/workflows/bench-iso.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: # tags needed for dynamic versioning fetch-depth: 0 @@ -39,7 +39,7 @@ jobs: run: | poe bench-iso - name: Upload coverage to Codecov - uses: codecov/codecov-action@v2 + uses: codecov/codecov-action@v4 with: files: ./coverage.xml flags: isobench diff --git a/.github/workflows/bench-lha-rust.yml b/.github/workflows/bench-lha-rust.yml index b4ba3aba2..ac0b9ceaa 100644 --- a/.github/workflows/bench-lha-rust.yml +++ b/.github/workflows/bench-lha-rust.yml @@ -24,7 +24,7 @@ jobs: fail-fast: false steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} 🐍 id: setup-python uses: actions/setup-python@v5 diff --git a/.github/workflows/bench-lha.yml b/.github/workflows/bench-lha.yml index 92df8153c..7729c02de 100644 --- a/.github/workflows/bench-lha.yml +++ b/.github/workflows/bench-lha.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: # tags needed for dynamic versioning fetch-depth: 0 From bdb5eb00d6bb5b7ca20135322481e7f1f466dafa Mon Sep 17 00:00:00 2001 From: AkshatRai07 Date: Sat, 29 Aug 2026 00:43:32 +0530 Subject: [PATCH 07/13] Pinned MacOS version --- .github/workflows/release-ekors.yml | 2 +- .github/workflows/release-pyapi.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-ekors.yml b/.github/workflows/release-ekors.yml index 5f148d209..d6ec28b89 100644 --- a/.github/workflows/release-ekors.yml +++ b/.github/workflows/release-ekors.yml @@ -118,7 +118,7 @@ jobs: strategy: matrix: platform: - - runner: macos-latest + - runner: macos-13 target: x86_64 - runner: macos-14 target: aarch64 diff --git a/.github/workflows/release-pyapi.yml b/.github/workflows/release-pyapi.yml index 7e8f5e254..0963e8d9c 100644 --- a/.github/workflows/release-pyapi.yml +++ b/.github/workflows/release-pyapi.yml @@ -122,7 +122,7 @@ jobs: strategy: matrix: platform: - - runner: macos-latest + - runner: macos-13 target: x86_64 - runner: macos-14 target: aarch64 From 1acaa592f0b05a4e6ffeef22865df9f7d9be2b4f Mon Sep 17 00:00:00 2001 From: AkshatRai07 Date: Sat, 29 Aug 2026 00:46:12 +0530 Subject: [PATCH 08/13] Updated filename in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 70d0dbf92..d327bad96 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ EKO

- Tests + Tests Rust tests Docs From cdc09e523eb1e4b2c239f8bb51d55f2498c6ca2f Mon Sep 17 00:00:00 2001 From: AkshatRai07 Date: Sat, 29 Aug 2026 00:59:01 +0530 Subject: [PATCH 09/13] Reverted MacOS 13 change --- .github/workflows/release-capi.yml | 2 +- .github/workflows/release-ekors.yml | 2 +- .github/workflows/release-pyapi.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-capi.yml b/.github/workflows/release-capi.yml index 601091128..935c555af 100644 --- a/.github/workflows/release-capi.yml +++ b/.github/workflows/release-capi.yml @@ -52,7 +52,7 @@ jobs: - name: linux-aarch64 runner: ubuntu-24.04-arm - name: macos-x86_64 - runner: macos-13 + runner: macos-latest - name: macos-aarch64 runner: macos-14 steps: diff --git a/.github/workflows/release-ekors.yml b/.github/workflows/release-ekors.yml index d6ec28b89..5f148d209 100644 --- a/.github/workflows/release-ekors.yml +++ b/.github/workflows/release-ekors.yml @@ -118,7 +118,7 @@ jobs: strategy: matrix: platform: - - runner: macos-13 + - runner: macos-latest target: x86_64 - runner: macos-14 target: aarch64 diff --git a/.github/workflows/release-pyapi.yml b/.github/workflows/release-pyapi.yml index 0963e8d9c..7e8f5e254 100644 --- a/.github/workflows/release-pyapi.yml +++ b/.github/workflows/release-pyapi.yml @@ -122,7 +122,7 @@ jobs: strategy: matrix: platform: - - runner: macos-13 + - runner: macos-latest target: x86_64 - runner: macos-14 target: aarch64 From 044496fb8845706007c64a35fbbe0132b89cda1f Mon Sep 17 00:00:00 2001 From: AkshatRai07 Date: Sat, 29 Aug 2026 01:47:15 +0530 Subject: [PATCH 10/13] Updated tag regex --- .github/workflows/release-capi.yml | 3 ++- .github/workflows/release-crates.yml | 3 ++- .github/workflows/release-ekors.yml | 3 ++- .github/workflows/release-pyapi.yml | 3 ++- .github/workflows/release-python.yml | 3 ++- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release-capi.yml b/.github/workflows/release-capi.yml index 935c555af..7b93761b6 100644 --- a/.github/workflows/release-capi.yml +++ b/.github/workflows/release-capi.yml @@ -3,7 +3,8 @@ name: Deploy C-API on: push: tags: - - 'v[0-9]+*' + - 'v[0-9]*.[0-9]*.[0-9]*' + - 'v[0-9]*.[0-9]*.[0-9]*-*' workflow_dispatch: inputs: tag: diff --git a/.github/workflows/release-crates.yml b/.github/workflows/release-crates.yml index 037a6ffb7..a14e93a86 100644 --- a/.github/workflows/release-crates.yml +++ b/.github/workflows/release-crates.yml @@ -3,7 +3,8 @@ name: Deploy Crates on: push: tags: - - 'v[0-9]+*' + - 'v[0-9]*.[0-9]*.[0-9]*' + - 'v[0-9]*.[0-9]*.[0-9]*-*' workflow_dispatch: inputs: tag: diff --git a/.github/workflows/release-ekors.yml b/.github/workflows/release-ekors.yml index 5f148d209..51e265c1f 100644 --- a/.github/workflows/release-ekors.yml +++ b/.github/workflows/release-ekors.yml @@ -3,7 +3,8 @@ name: Deploy Maturin wheels on: push: tags: - - 'v[0-9]+*' + - 'v[0-9]*.[0-9]*.[0-9]*' + - 'v[0-9]*.[0-9]*.[0-9]*-*' workflow_dispatch: inputs: tag: diff --git a/.github/workflows/release-pyapi.yml b/.github/workflows/release-pyapi.yml index 7e8f5e254..ec5a8a05f 100644 --- a/.github/workflows/release-pyapi.yml +++ b/.github/workflows/release-pyapi.yml @@ -3,7 +3,8 @@ name: Deploy Maturin wheels on: push: tags: - - 'v[0-9]+*' + - 'v[0-9]*.[0-9]*.[0-9]*' + - 'v[0-9]*.[0-9]*.[0-9]*-*' workflow_dispatch: inputs: tag: diff --git a/.github/workflows/release-python.yml b/.github/workflows/release-python.yml index 0bed7bc69..c8b499154 100644 --- a/.github/workflows/release-python.yml +++ b/.github/workflows/release-python.yml @@ -3,7 +3,8 @@ name: deploy on: push: tags: - - 'v[0-9]+*' + - 'v[0-9]*.[0-9]*.[0-9]*' + - 'v[0-9]*.[0-9]*.[0-9]*-*' workflow_dispatch: inputs: tag: From a5b6a4da57a5e18627e4074eea844fb2bbe8b964 Mon Sep 17 00:00:00 2001 From: AkshatRai07 Date: Sat, 5 Sep 2026 14:38:41 +0530 Subject: [PATCH 11/13] Added poe bump-version --- .github/workflows/release-capi.yml | 11 ++++++++--- .github/workflows/release-crates.yml | 2 +- .github/workflows/release-ekors.yml | 11 ++++++++--- .github/workflows/release-pyapi.yml | 11 ++++++++--- Cargo.toml | 4 ++-- extras/gsoc/architecture.md | 2 +- pyproject.toml | 2 +- 7 files changed, 29 insertions(+), 14 deletions(-) diff --git a/.github/workflows/release-capi.yml b/.github/workflows/release-capi.yml index 7b93761b6..822664549 100644 --- a/.github/workflows/release-capi.yml +++ b/.github/workflows/release-capi.yml @@ -24,14 +24,19 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ vars.PYTHON_VERSION_WORKFLOWS }} - - name: Install tomlkit + - name: Install and configure Poetry if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' - run: pip install tomlkit + uses: snok/install-poetry@v1 + - name: Install task runner + if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' + run: pip install poethepoet - name: Bump versions if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' env: TAG: ${{ github.event.inputs.tag || github.ref_name }} - run: python crates/bump-versions.py ${{ env.TAG }} + run: | + poetry install --only version + poe bump-version - name: Upload patched Cargo files uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/release-crates.yml b/.github/workflows/release-crates.yml index a14e93a86..2f692b488 100644 --- a/.github/workflows/release-crates.yml +++ b/.github/workflows/release-crates.yml @@ -30,7 +30,7 @@ jobs: TAG: ${{ github.event.inputs.tag || github.ref_name }} run: | poetry install --only version - python crates/bump-versions.py ${{ env.TAG }} + poe bump-version - name: Publish crates run: | jq '.[]' crates/release.json | xargs -I _ cargo publish -p _ --allow-dirty diff --git a/.github/workflows/release-ekors.yml b/.github/workflows/release-ekors.yml index 51e265c1f..8faf76b3f 100644 --- a/.github/workflows/release-ekors.yml +++ b/.github/workflows/release-ekors.yml @@ -24,14 +24,19 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ vars.PYTHON_VERSION_WORKFLOWS }} - - name: Install tomlkit + - name: Install and configure Poetry if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' - run: pip install tomlkit + uses: snok/install-poetry@v1 + - name: Install task runner + if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' + run: pip install poethepoet - name: Bump versions if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' env: TAG: ${{ github.event.inputs.tag || github.ref_name }} - run: python crates/bump-versions.py ${{ env.TAG }} + run: | + poetry install --only version + poe bump-version - name: Upload patched Cargo files uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/release-pyapi.yml b/.github/workflows/release-pyapi.yml index ec5a8a05f..87f144de6 100644 --- a/.github/workflows/release-pyapi.yml +++ b/.github/workflows/release-pyapi.yml @@ -24,14 +24,19 @@ jobs: - uses: actions/setup-python@v5 with: python-version: ${{ vars.PYTHON_VERSION_WORKFLOWS }} - - name: Install tomlkit + - name: Install and configure Poetry if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' - run: pip install tomlkit + uses: snok/install-poetry@v1 + - name: Install task runner + if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' + run: pip install poethepoet - name: Bump versions if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' env: TAG: ${{ github.event.inputs.tag || github.ref_name }} - run: python crates/bump-versions.py ${{ env.TAG }} + run: | + poetry install --only version + poe bump-version - name: Upload patched Cargo files uses: actions/upload-artifact@v4 with: diff --git a/Cargo.toml b/Cargo.toml index 3716c60e7..83afd9a27 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,12 +19,12 @@ keywords = ["physics"] license = "GPL-3.0-or-later" repository = "https://github.com/NNPDF/eko" rust-version = "1.85.0" -version = "0.0.1" +version = "0.0.0" # all dependencies should be collected here in the workspace [workspace.dependencies] # Internal crates -ekore = { path = "crates/ekore", version = "0.0.1" } +ekore = { path = "crates/ekore", version = "0.0.0" } # External dependencies lz4_flex = "0.11.6" diff --git a/extras/gsoc/architecture.md b/extras/gsoc/architecture.md index c1d115183..d2f03d97f 100644 --- a/extras/gsoc/architecture.md +++ b/extras/gsoc/architecture.md @@ -237,7 +237,7 @@ files = ["src/eko/version.py", "src/ekomark/version.py", "src/ekobox/version.py" The Rust workspace and all crates inside `crates/` have their own `version` fields in their respective `Cargo.toml` files. They must be bumped manually before a release using: ```bash -poe bump-version # runs: python crates/bump-versions.py $(git describe --tags) +poe bump-version # runs: python crates/bump-versions.py ${TAG:-$(git describe --tags)} ``` `bump-versions.py` does two things: diff --git a/pyproject.toml b/pyproject.toml index 97a5069a9..02a2f8dfa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -144,7 +144,7 @@ docs-server = { "shell" = "cd doc; make server" } docs-clean = { "shell" = "cd doc; make clean" } docs-cleanall = { "shell" = "cd doc; make cleanall" } docs-install-nb = { "shell" = "python -m ipykernel install --user --name=$(basename $(poetry env info -p))" } -bump-version = { "shell" = "python crates/bump-versions.py $(git describe --tags)" } +bump-version = { "shell" = "python crates/bump-versions.py ${TAG:-$(git describe --tags)}" } compile = "maturin develop --release --manifest-path crates/eko/Cargo.toml" rdocs.cmd = "cargo doc --workspace --no-deps" rdocs.env = { RUSTDOCFLAGS = "--html-in-header crates/doc-header.html" } From ee4f5b582549d56942ca75f49d2e2c4f100a0501 Mon Sep 17 00:00:00 2001 From: AkshatRai07 Date: Sat, 5 Sep 2026 15:08:46 +0530 Subject: [PATCH 12/13] Update secrets as per OIDC --- .github/workflows/python-poetry-pypi-with-data.yml | 8 ++------ .github/workflows/release-ekors.yml | 2 +- .github/workflows/release-pyapi.yml | 2 +- .github/workflows/release-python.yml | 6 ++++-- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/.github/workflows/python-poetry-pypi-with-data.yml b/.github/workflows/python-poetry-pypi-with-data.yml index 1697287e2..f539573e2 100644 --- a/.github/workflows/python-poetry-pypi-with-data.yml +++ b/.github/workflows/python-poetry-pypi-with-data.yml @@ -24,15 +24,13 @@ on: required: false description: > Extras to be installed, in poetry format (e.g. "-E extra1 extra2") - secrets: - PYPI_TOKEN: - required: true - description: "Token used to deploy package on PyPI" jobs: publish: name: 📦 PyPI (🐍 ${{ inputs.python-version }}) runs-on: ubuntu-latest + permissions: + id-token: write steps: - uses: actions/checkout@v4 @@ -89,5 +87,3 @@ jobs: poetry build - name: Publish distribution 📦 to PyPI uses: pypa/gh-action-pypi-publish@release/v1 - with: - password: ${{ secrets.PYPI_TOKEN }} diff --git a/.github/workflows/release-ekors.yml b/.github/workflows/release-ekors.yml index 8faf76b3f..f6ee33f96 100644 --- a/.github/workflows/release-ekors.yml +++ b/.github/workflows/release-ekors.yml @@ -15,6 +15,7 @@ on: permissions: contents: read + id-token: write jobs: set-version: @@ -185,5 +186,4 @@ jobs: - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: - password: ${{ secrets.PYPI_TOKEN }} skip-existing: true diff --git a/.github/workflows/release-pyapi.yml b/.github/workflows/release-pyapi.yml index 87f144de6..ec568efdf 100644 --- a/.github/workflows/release-pyapi.yml +++ b/.github/workflows/release-pyapi.yml @@ -15,6 +15,7 @@ on: permissions: contents: read + id-token: write jobs: set-version: @@ -191,5 +192,4 @@ jobs: - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: - password: ${{ secrets.PYPI_TOKEN }} skip-existing: true diff --git a/.github/workflows/release-python.yml b/.github/workflows/release-python.yml index c8b499154..e16c3d7f3 100644 --- a/.github/workflows/release-python.yml +++ b/.github/workflows/release-python.yml @@ -13,12 +13,14 @@ on: whose tag-triggered run failed partway. required: false +permissions: + contents: read + id-token: write + jobs: publish: if: startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag != '' uses: ./.github/workflows/python-poetry-pypi-with-data.yml - secrets: - PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} with: poetry-extras: "-E mark -E box" data-version: "v2" From 89954cfc9bd894e1a46635ff464a42c3abe04bf7 Mon Sep 17 00:00:00 2001 From: AkshatRai07 Date: Sat, 5 Sep 2026 15:20:46 +0530 Subject: [PATCH 13/13] Updated architecture.md --- extras/architecture.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extras/architecture.md b/extras/architecture.md index fbc263fe8..ee961c71f 100644 --- a/extras/architecture.md +++ b/extras/architecture.md @@ -367,5 +367,5 @@ poe bump-version # runs: python crates/bump-versions.py ${TAG:-$(git describe Cargo requires concrete versions in `Cargo.toml`. To avoid manual version bump commits in git, CI dynamically patches `Cargo.toml` on tag push: -- **`crates.yml`**: Runs `poe bump-version` and publishes using `cargo publish --allow-dirty`. -- **`maturin.yml` & `release-capi.yml`**: A `set-version` job patches `Cargo.toml` and uploads it as an artifact (`patched-cargo`), which matrix build jobs download before compiling. +- **`release-crates.yml`**: Runs `poe bump-version` and publishes using `cargo publish --allow-dirty`. +- **`release-ekors.yml`, `release-capi.yml` & `release-pyapi.yml`**: A `set-version` job patches `Cargo.toml` and uploads it as an artifact (`patched-cargo`), which matrix build jobs download before compiling.