gradio/.github/workflows/generate-changeset.yml
2024-08-07 18:27:01 +01:00

97 lines
3.2 KiB
YAML

name: Generate changeset
on:
workflow_run:
workflows: ["trigger-changeset"]
types:
- completed
env:
CI: true
NODE_OPTIONS: "--max-old-space-size=4096"
concurrency:
group: "${{ github.event.workflow_run.head_repository.full_name }}-${{ github.event.workflow_run.head_branch }}-${{ github.workflow_ref }}"
cancel-in-progress: true
permissions: {}
jobs:
get-pr:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
if: github.event.workflow_run.conclusion == 'success'
outputs:
found_pr: ${{ steps.pr_details.outputs.found_pr }}
pr_number: ${{ steps.pr_details.outputs.pr_number }}
source_repo: ${{ steps.pr_details.outputs.source_repo }}
source_branch: ${{ steps.pr_details.outputs.source_branch }}
steps:
- name: get pr details
id: pr_details
uses: gradio-app/github/actions/find-pr@main
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
comment-changes-start:
uses: "./.github/workflows/comment-queue.yml"
needs: get-pr
secrets:
gh_token: ${{ secrets.COMMENT_TOKEN }}
with:
pr_number: ${{ needs.get-pr.outputs.pr_number }}
message: changes~pending~null
version:
permissions:
contents: read
environment: changeset
name: version
needs: get-pr
runs-on: ubuntu-latest
if: needs.get-pr.outputs.found_pr == 'true'
outputs:
skipped: ${{ steps.version.outputs.skipped }}
comment_url: ${{ steps.version.outputs.comment_url }}
steps:
- uses: actions/checkout@v4
with:
repository: ${{ needs.get-pr.outputs.source_repo }}
ref: ${{ needs.get-pr.outputs.source_branch }}
fetch-depth: 0
token: ${{ secrets.COMMENT_TOKEN }}
- name: generate changeset
id: version
uses: "gradio-app/github/actions/generate-changeset@main"
with:
github_token: ${{ secrets.CHANGESET_GITHUB_TOKEN }}
main_pkg: gradio
pr_number: ${{ needs.get-pr.outputs.pr_number }}
branch_name: ${{ needs.get-pr.outputs.source_branch }}
comment-changes-skipped:
uses: "./.github/workflows/comment-queue.yml"
needs: [get-pr, version]
if: needs.version.result == 'success' && needs.version.outputs.skipped == 'true'
secrets:
gh_token: ${{ secrets.COMMENT_TOKEN }}
with:
pr_number: ${{ needs.get-pr.outputs.pr_number }}
message: changes~warning~https://github.com/gradio-app/gradio/actions/runs/${{github.run_id}}/
comment-changes-success:
uses: "./.github/workflows/comment-queue.yml"
needs: [get-pr, version]
if: needs.version.result == 'success' && needs.version.outputs.skipped == 'false'
secrets:
gh_token: ${{ secrets.COMMENT_TOKEN }}
with:
pr_number: ${{ needs.get-pr.outputs.pr_number }}
message: changes~success~${{ needs.version.outputs.comment_url }}
comment-changes-failure:
uses: "./.github/workflows/comment-queue.yml"
needs: [get-pr, version]
if: always() && needs.version.result == 'failure'
secrets:
gh_token: ${{ secrets.COMMENT_TOKEN }}
with:
pr_number: ${{ needs.get-pr.outputs.pr_number }}
message: changes~failure~https://github.com/gradio-app/gradio/actions/runs/${{github.run_id}}/