From c188f85527ecc0eab86339be10fc298a383041ab Mon Sep 17 00:00:00 2001 From: Manoel Aranda Neto Date: Thu, 30 Apr 2026 11:28:22 +0200 Subject: [PATCH 1/2] chore: commit generated references with GitHub App --- .github/workflows/generate-references.yml | 22 ++++++++++++++--- .github/workflows/release.yml | 30 ++++++++++++++++++++--- 2 files changed, 44 insertions(+), 8 deletions(-) diff --git a/.github/workflows/generate-references.yml b/.github/workflows/generate-references.yml index c1f64f83..e66d3468 100644 --- a/.github/workflows/generate-references.yml +++ b/.github/workflows/generate-references.yml @@ -9,11 +9,20 @@ jobs: runs-on: ubuntu-latest permissions: contents: write + environment: "Release" steps: + - name: Get GitHub App token + id: releaser + uses: actions/create-github-app-token@v3 + with: + client-id: ${{ secrets.GH_APP_POSTHOG_PYTHON_RELEASER_APP_ID }} + private-key: ${{ secrets.GH_APP_POSTHOG_PYTHON_RELEASER_PRIVATE_KEY }} + - name: Checkout the repository uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2 with: fetch-depth: 0 + token: ${{ steps.releaser.outputs.token }} - name: Set up Python uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 @@ -23,8 +32,8 @@ jobs: - name: Install uv uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0 with: - enable-cache: true - pyproject-file: 'pyproject.toml' + enable-cache: true + pyproject-file: 'pyproject.toml' - name: Generate references run: | @@ -42,8 +51,13 @@ jobs: echo "No new references generated in references directory" fi - - uses: stefanzweifel/git-auto-commit-action@778341af668090896ca464160c2def5d1d1a3eb0 + - name: Commit generated references if: steps.changes.outputs.changed == 'true' + uses: planetscale/ghcommit-action@25309d8005ac7c3bcd61d3fe19b69e0fe47dbdde # v0.2.20 with: commit_message: "Update generated references" - file_pattern: references/ \ No newline at end of file + repo: ${{ github.repository }} + branch: main + file_pattern: references/ + env: + GITHUB_TOKEN: ${{ steps.releaser.outputs.token }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b5c5eeb1..a4a5149c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -68,7 +68,6 @@ jobs: environment: "Release" # This will require an approval from a maintainer, they are notified in Slack above permissions: contents: write - actions: write id-token: write steps: - name: Notify Slack - Approved @@ -195,11 +194,34 @@ jobs: NEW_VERSION: ${{ steps.sampo-release.outputs.new_version }} run: gh release create "$NEW_VERSION" --generate-notes - - name: Dispatch generate-references + - name: Generate references if: steps.commit-release.outputs.commit-hash != '' + run: | + uv run bin/docs generate-references + + - name: Check for changes in references + if: steps.commit-release.outputs.commit-hash != '' + id: references-changes + run: | + if [ -n "$(git status --porcelain references/)" ]; then + echo "changed=true" >> "$GITHUB_OUTPUT" + echo "New references generated in references directory:" + git status --porcelain references/ + else + echo "changed=false" >> "$GITHUB_OUTPUT" + echo "No new references generated in references directory" + fi + + - name: Commit generated references + if: steps.commit-release.outputs.commit-hash != '' && steps.references-changes.outputs.changed == 'true' + uses: planetscale/ghcommit-action@25309d8005ac7c3bcd61d3fe19b69e0fe47dbdde # v0.2.20 + with: + commit_message: "Update generated references" + repo: ${{ github.repository }} + branch: main + file_pattern: references/ env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: gh workflow run generate-references.yml --ref main + GITHUB_TOKEN: ${{ steps.releaser.outputs.token }} # Notify in case of a failure - name: Send failure event to PostHog From 2ca23ef3e0e57b7f3924ba1e1b9d44d8bdffdc7c Mon Sep 17 00:00:00 2001 From: Manoel Aranda Neto Date: Thu, 30 Apr 2026 11:30:59 +0200 Subject: [PATCH 2/2] chore: remove standalone references workflow --- .github/workflows/generate-references.yml | 63 ----------------------- 1 file changed, 63 deletions(-) delete mode 100644 .github/workflows/generate-references.yml diff --git a/.github/workflows/generate-references.yml b/.github/workflows/generate-references.yml deleted file mode 100644 index e66d3468..00000000 --- a/.github/workflows/generate-references.yml +++ /dev/null @@ -1,63 +0,0 @@ -name: "Generate References" - -on: - workflow_dispatch: - -jobs: - docs-generation: - name: Generate references - runs-on: ubuntu-latest - permissions: - contents: write - environment: "Release" - steps: - - name: Get GitHub App token - id: releaser - uses: actions/create-github-app-token@v3 - with: - client-id: ${{ secrets.GH_APP_POSTHOG_PYTHON_RELEASER_APP_ID }} - private-key: ${{ secrets.GH_APP_POSTHOG_PYTHON_RELEASER_PRIVATE_KEY }} - - - name: Checkout the repository - uses: actions/checkout@85e6279cec87321a52edac9c87bce653a07cf6c2 - with: - fetch-depth: 0 - token: ${{ steps.releaser.outputs.token }} - - - name: Set up Python - uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 - with: - python-version: 3.11.11 - - - name: Install uv - uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0 - with: - enable-cache: true - pyproject-file: 'pyproject.toml' - - - name: Generate references - run: | - uv run bin/docs generate-references - - - name: Check for changes in references - id: changes - run: | - if [ -n "$(git status --porcelain references/)" ]; then - echo "changed=true" >> $GITHUB_OUTPUT - echo "New references generated in references directory:" - git status --porcelain references/ - else - echo "changed=false" >> $GITHUB_OUTPUT - echo "No new references generated in references directory" - fi - - - name: Commit generated references - if: steps.changes.outputs.changed == 'true' - uses: planetscale/ghcommit-action@25309d8005ac7c3bcd61d3fe19b69e0fe47dbdde # v0.2.20 - with: - commit_message: "Update generated references" - repo: ${{ github.repository }} - branch: main - file_pattern: references/ - env: - GITHUB_TOKEN: ${{ steps.releaser.outputs.token }}