From 9ef4ea3c73adb48150d64263337c8fdfe2d11eab Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Fri, 25 Oct 2024 11:41:28 +0800 Subject: [PATCH] format command --- .github/workflows/format.yml | 49 ++++++++++++++++++++ .github/workflows/slash-command-dispatch.yml | 32 +++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 .github/workflows/format.yml create mode 100644 .github/workflows/slash-command-dispatch.yml diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml new file mode 100644 index 0000000000..4a68882ae4 --- /dev/null +++ b/.github/workflows/format.yml @@ -0,0 +1,49 @@ +name: Format +on: + repository_dispatch: + types: [format-command] +jobs: + format: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + token: ${{ secrets.SLANGBOT_PAT }} + repository: ${{ github.event.client_payload.pull_request.head.repo.full_name }} + ref: ${{ github.event.client_payload.pull_request.head.ref }} + + - run: pip3 install gersemi + + - name: install clang-format + run: | + tmpdir=$(mktemp -d) + curl -L -H "Authorization: token ${{ secrets.SLANGBOT_PAT }}" \ + -o "$tmpdir/clang-format" \ + https://github.com/shader-slang/slang-binaries/raw/4e88845ec51641b4c92e68027e359090bdb219e0/clang-format/x86_64-linux/bin/clang-format + chmod +x "$tmpdir/clang-format" + echo "$tmpdir" >> $GITHUB_PATH + + - run: ./extras/formatting.sh + + - name: Configure Git commit signing + run: | + echo "${{ secrets.SLANGBOT_SIGNING_KEY }}" > "${{runner.temp}}"/signing_key + chmod 600 "${{runner.temp}}"/signing_key + git config commit.gpgsign true + git config gpg.format ssh + git config user.signingkey "${{runner.temp}}"/signing_key + + - uses: EndBug/add-and-commit@v9 + with: + fetch: false + message: "format code" + push: true + + - name: Add reaction + uses: peter-evans/create-or-update-comment@v4 + with: + token: ${{ secrets.SLANGBOT_PAT }} + repository: ${{ github.event.client_payload.github.payload.repository.full_name }} + comment-id: ${{ github.event.client_payload.github.payload.comment.id }} + reactions-edit-mode: replace + reactions: hooray diff --git a/.github/workflows/slash-command-dispatch.yml b/.github/workflows/slash-command-dispatch.yml new file mode 100644 index 0000000000..fc357f89ea --- /dev/null +++ b/.github/workflows/slash-command-dispatch.yml @@ -0,0 +1,32 @@ +name: Slash Command Dispatch +on: + issue_comment: + types: [created] +jobs: + slashCommandDispatch: + runs-on: ubuntu-latest + steps: + + - name: Slash Command Dispatch + id: scd + uses: peter-evans/slash-command-dispatch@v4 + with: + token: ${{ secrets.SLANGBOT_PAT }} + reaction-token: ${{ secrets.SLANGBOT_PAT }} + config: > + [ + { + "command": "format", + "permission": "none", + "issue_type": "pull-request" + } + ] + + - name: Edit comment with error message + if: steps.scd.outputs.error-message + uses: peter-evans/create-or-update-comment@v4 + with: + token: ${{ secrets.SLANGBOT_PAT }} + comment-id: ${{ github.event.comment.id }} + body: | + > ${{ steps.scd.outputs.error-message }}