From fa01bfb8165b0cc728066daddc0c76463973455a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Sun, 9 Aug 2026 00:39:09 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=90=20Use=20PR=20Submit=20for=20pull?= =?UTF-8?q?=20requests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/pr-submit.yml | 3 +++ .github/workflows/bump-pre-commit-hooks.yml | 16 +++++++++++----- .github/workflows/prepare-release.yml | 18 ++++++++++-------- 3 files changed, 24 insertions(+), 13 deletions(-) create mode 100644 .github/pr-submit.yml diff --git a/.github/pr-submit.yml b/.github/pr-submit.yml new file mode 100644 index 00000000..c9aa5241 --- /dev/null +++ b/.github/pr-submit.yml @@ -0,0 +1,3 @@ +workflows: + - .github/workflows/bump-pre-commit-hooks.yml + - .github/workflows/prepare-release.yml diff --git a/.github/workflows/bump-pre-commit-hooks.yml b/.github/workflows/bump-pre-commit-hooks.yml index 9442b353..c549b207 100644 --- a/.github/workflows/bump-pre-commit-hooks.yml +++ b/.github/workflows/bump-pre-commit-hooks.yml @@ -12,6 +12,9 @@ jobs: if: github.repository_owner == 'fastapi' runs-on: ubuntu-latest timeout-minutes: 10 + permissions: + contents: read + id-token: write steps: - name: Dump GitHub context env: @@ -19,8 +22,7 @@ jobs: run: echo "$GITHUB_CONTEXT" - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: - token: ${{ secrets.LATEST_CHANGES }} - persist-credentials: true + persist-credentials: false - name: Set up Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: @@ -36,9 +38,12 @@ jobs: uv.lock - name: Bump pre-commit hooks run: uv run prek auto-update --freeze --cooldown-days 7 + - name: Get PR Submit token + id: pr-submit + uses: tiangolo/pr-submit@d802fdf59bde80bc3eb8bd3259f4cbeec63de4aa # 0.0.1 - name: Create pull request env: - GH_TOKEN: ${{ secrets.LATEST_CHANGES }} + GH_TOKEN: ${{ steps.pr-submit.outputs.token }} BASE_BRANCH: ${{ github.event.repository.default_branch }} run: | set -euo pipefail @@ -46,12 +51,13 @@ jobs: echo "No pre-commit hook updates available" exit 0 fi - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" + git config user.name "pr-submit[bot]" + git config user.email "pr-submit[bot]@users.noreply.github.com" branch="bump-pre-commit-hooks" git switch -C "$branch" git add .pre-commit-config.yaml git commit -m "⬆ Bump pre-commit hooks" + gh auth setup-git git push --force origin "$branch" if [ -z "$(gh pr list --head "$branch" --state open --json number --jq '.[].number')" ]; then gh pr create \ diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml index 657c553b..0542ebd5 100644 --- a/.github/workflows/prepare-release.yml +++ b/.github/workflows/prepare-release.yml @@ -23,9 +23,8 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 5 permissions: - contents: write - issues: write - pull-requests: write + contents: read + id-token: write env: PREPARE_RELEASE_VERSION_FILE: src/fastapi_cli/__init__.py PREPARE_RELEASE_RELEASE_NOTES_FILE: release-notes.md @@ -36,8 +35,7 @@ jobs: run: echo "$GITHUB_CONTEXT" - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: - token: ${{ secrets.LATEST_CHANGES }} # zizmor: ignore[secrets-outside-env] - persist-credentials: true + persist-credentials: false - name: Set up Python uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: @@ -59,18 +57,22 @@ jobs: version="$(uv run python scripts/prepare_release.py current-version)" echo "$version" echo "version=$version" >> "$GITHUB_OUTPUT" + - name: Get PR Submit token + id: pr-submit + uses: tiangolo/pr-submit@d802fdf59bde80bc3eb8bd3259f4cbeec63de4aa # 0.0.1 - name: Create release pull request env: - GH_TOKEN: ${{ secrets.LATEST_CHANGES }} + GH_TOKEN: ${{ steps.pr-submit.outputs.token }} VERSION: ${{ steps.release-version.outputs.version }} run: | set -euo pipefail branch="release-${VERSION}-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}" - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" + git config user.name "pr-submit[bot]" + git config user.email "pr-submit[bot]@users.noreply.github.com" git switch -c "$branch" git add $PREPARE_RELEASE_VERSION_FILE $PREPARE_RELEASE_RELEASE_NOTES_FILE git commit -m "🔖 Release version ${VERSION}" + gh auth setup-git git push --set-upstream origin "$branch" gh pr create \ --base main \