diff --git a/.github/workflows/regen-stubs.yml b/.github/workflows/regen-stubs.yml new file mode 100644 index 0000000..3fb9720 --- /dev/null +++ b/.github/workflows/regen-stubs.yml @@ -0,0 +1,49 @@ +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: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: "22" + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Regen proto stubs + run: npm run generate + # TypeScript stubs are generated via buf + ts-proto; npm run generate runs buf generate + + - name: Run tests + run: npm 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