From 5ef609be34873c9b76730c26998b32b331156881 Mon Sep 17 00:00:00 2001 From: zeevdr Date: Fri, 5 Jun 2026 00:34:54 +0300 Subject: [PATCH] feat(ci): add regen-stubs workflow for decree releases Adds a repository_dispatch receiver that auto-regens proto stubs when a new decree version is released and opens a PR with the updated stubs. Part of opendecree/decree#157. --- .github/workflows/regen-stubs.yml | 40 +++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .github/workflows/regen-stubs.yml diff --git a/.github/workflows/regen-stubs.yml b/.github/workflows/regen-stubs.yml new file mode 100644 index 0000000..a96c127 --- /dev/null +++ b/.github/workflows/regen-stubs.yml @@ -0,0 +1,40 @@ +name: Regen stubs + +on: + repository_dispatch: + types: [decree-released] + +permissions: + contents: write + pull-requests: write + +jobs: + regen-stubs: + name: Regen stubs for ${{ github.event.client_payload.version }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + persist-credentials: true + + - name: Regen proto stubs + run: make generate + # Python stubs are generated from buf; make generate runs buf generate + + - name: Run tests + run: make test + + - name: Open PR + # peter-evans/create-pull-request@v7 + uses: peter-evans/create-pull-request@aa523f9db61947bd5e06efd77870ef065eae32cc + with: + token: ${{ secrets.PROJECT_TOKEN }} + commit-message: "chore: regen stubs for decree ${{ github.event.client_payload.version }}" + title: "chore: Regen stubs for decree ${{ github.event.client_payload.version }}" + body: | + Auto-generated by the decree release workflow. + + Triggered by decree release ${{ github.event.client_payload.version }}. + labels: dependencies,ci + branch: "regen-stubs/${{ github.event.client_payload.version }}" + base: main