diff --git a/.github/workflows/generated-sources.yml b/.github/workflows/generated-sources.yml index a6cae497d3..5e2d2a652d 100644 --- a/.github/workflows/generated-sources.yml +++ b/.github/workflows/generated-sources.yml @@ -1,4 +1,10 @@ -name: Show generated code in PR +name: Preview Generated Code + +permissions: + contents: write + checks: write + statuses: write + pull-requests: write on: pull_request: @@ -10,16 +16,17 @@ on: - ready_for_review jobs: - build: + preview_generated_code: + name: Preview Generated Code + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true runs-on: ubuntu-latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ACTIONS_RUNNER_DEBUG: true + ACTIONS_STEP_DEBUG: true steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.9.1 - with: - access_token: ${{ github.token }} - - name: Checkout repository uses: actions/checkout@v4 @@ -34,59 +41,102 @@ jobs: git config --global user.email "actions@github.com" git config --global user.name "GitHub Actions" - - name: Run Gradle task - run: ./gradlew :core:processKDocsMain korro - - - name: Check for changes in generated sources - id: git-diff - run: echo "::set-output name=changed::$(if git diff --quiet './core/generated-sources' './docs/StardustDocs/snippets' './docs/StardustDocs/topics'; then echo 'false'; else echo 'true'; fi)" - - - name: Commit and push if changes - id: git-commit - if: steps.git-diff.outputs.changed == 'true' - run: | - git checkout -b generated-sources/docs-update-${{ github.run_number }} - git add './core/generated-sources' './docs/StardustDocs/snippets' './docs/StardustDocs/topics' - git commit -m "Update generated sources with recent changes" - git push origin generated-sources/docs-update-${{ github.run_number }} - echo "::set-output name=commit::$(git rev-parse HEAD)" - - - name: Remove old comments + - name: TEST! Update status to PR uses: actions/github-script@v7 - if: steps.git-diff.outputs.changed == 'true' with: + debug: true # language=js script: | - const issue_number = context.issue.number; - const {owner, repo} = context.repo; - - const comments = await github.rest.issues.listComments({ - issue_number, - owner, - repo, - }); + const name = "Click here to see Generated Code"; - const botComments = comments.data.filter( - (comment) => comment.user.login === 'github-actions[bot]' - ); - - for (const comment of botComments) { - await github.rest.issues.deleteComment({ - comment_id: comment.id, - owner, - repo, - }); - } - - - name: Add comment to PR - uses: actions/github-script@v7 - if: steps.git-diff.outputs.changed == 'true' - with: - # language=js - script: | - github.rest.issues.createComment({ - issue_number: context.issue.number, + const response = await github.rest.repos.createCommitStatus({ owner: context.repo.owner, repo: context.repo.repo, - body: "Generated sources will be updated after merging this PR.\nPlease inspect the changes in [here](https://github.com/${{ github.repository }}/commit/${{ steps.git-commit.outputs.commit }}).", + sha: context.payload.pull_request.head.sha, + state: "success", + description: name, + context: "ci/custom-status" }); + + console.log("Check response:", response.data); + +# - name: Run Gradle task +# run: ./gradlew :core:processKDocsMain korro +# +# - name: Check for changes in generated sources +# id: git-diff +# run: echo "changed=$(if git diff --quiet './core/generated-sources' './docs/StardustDocs/snippets' './docs/StardustDocs/topics'; then echo 'false'; else echo 'true'; fi)" >> $GITHUB_OUTPUT +# +# - name: Commit and push if changes +# id: git-commit +# if: steps.git-diff.outputs.changed == 'true' +# run: | +# git checkout -b generated-sources/docs-update-${{ github.run_number }} +# git add './core/generated-sources' './docs/StardustDocs/snippets' './docs/StardustDocs/topics' +# git commit -m "Update generated sources with recent changes" +# git push origin generated-sources/docs-update-${{ github.run_number }} +# echo "commit=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT +# +## - name: Remove old comments +## uses: actions/github-script@v7 +## if: steps.git-diff.outputs.changed == 'true' +## with: +## # language=js +## script: | +## const issue_number = context.issue.number; +## const {owner, repo} = context.repo; +## +## const comments = await github.rest.issues.listComments({ +## issue_number, +## owner, +## repo, +## }); +## +## const botComments = comments.data.filter( +## (comment) => comment.user.login === 'github-actions[bot]' +## ); +## +## for (const comment of botComments) { +## await github.rest.issues.deleteComment({ +## comment_id: comment.id, +## owner, +## repo, +## }); +## } +# +# # - name: Add comment to PR +# # uses: actions/github-script@v7 +# # if: steps.git-diff.outputs.changed == 'true' +# # with: +# # # language=js +# # script: | +# # github.rest.issues.createComment({ +# # issue_number: context.issue.number, +# # owner: context.repo.owner, +# # repo: context.repo.repo, +# # body: "Generated sources will be updated after merging this PR.\nPlease inspect the changes in [here](https://github.com/${{ github.repository }}/commit/${{ steps.git-commit.outputs.commit }}).", +# # }); +# +# - name: Update status to PR +# uses: actions/github-script@v7 +# if: steps.git-diff.outputs.changed == 'true' +# env: +# parameter_url: '${{ github.event.workflow_run.html_url }}' +# with: +# debug: ${{ secrets.ACTIONS_STEP_DEBUG || false }} +# # language=js +# script: | +# await github.rest.checks.create({ +# owner: context.repo.owner, +# repo: context.repo.repo, +# name: "Click here!", +# head_sha: context.sha, +# conclusion: "success", +# status: "completed", +# output: { +# title: "Check 'Details' to see changes in generated sources", +# summary: "Generated sources will be updated after merging this PR.\nPlease inspect the changes in [here](https://github.com/${{ github.repository }}/commit/${{ steps.git-commit.outputs.commit }}).", +# text: "Generated sources will be updated after merging this PR.\nPlease inspect the changes in [here](https://github.com/${{ github.repository }}/commit/${{ steps.git-commit.outputs.commit }})." +# }, +# }); +