From 79d5373f753276a8b2826852fb481e641138aebd Mon Sep 17 00:00:00 2001 From: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com> Date: Tue, 24 May 2022 00:47:42 +0900 Subject: [PATCH] ci: add update-tool-versions.yaml (#319) Signed-off-by: Kenji Miyake --- .github/workflows/update-tool-versions.yaml | 66 +++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .github/workflows/update-tool-versions.yaml diff --git a/.github/workflows/update-tool-versions.yaml b/.github/workflows/update-tool-versions.yaml new file mode 100644 index 0000000000000..6dbeead889b9a --- /dev/null +++ b/.github/workflows/update-tool-versions.yaml @@ -0,0 +1,66 @@ +name: update-tool-versions + +on: + schedule: + - cron: 0 0 * * * + workflow_dispatch: + +jobs: + update-tool-versions: + runs-on: ubuntu-latest + steps: + - name: Generate token + id: generate-token + uses: tibdex/github-app-token@v1 + with: + app_id: ${{ secrets.APP_ID }} + private_key: ${{ secrets.PRIVATE_KEY }} + + - name: Check out repository + uses: actions/checkout@v3 + + - name: Set up sd + uses: kenji-miyake/setup-sd@v1 + + - name: Get clang-format version + id: get-clang-format-version + run: | + latest_tag_name=$(gh release view --repo https://github.com/llvm/llvm-project --json tagName --jq ".tagName") + echo ::set-output name=version::$(echo "$latest_tag_name" | sd '.*-(.*)' '$1') + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Update clang-format version + run: | + sd '(clang_format_version): .*' '$1: ${{ steps.get-clang-format-version.outputs.version }}' ansible/roles/pre_commit/defaults/main.yaml + sd '(clang_format_version)=.*' '$1=${{ steps.get-clang-format-version.outputs.version }}' ansible/roles/pre_commit/README.md + + - name: Create PR + id: create-pr + uses: peter-evans/create-pull-request@v4 + with: + token: ${{ steps.generate-token.outputs.token }} + base: ${{ github.event.repository.default_branch }} + branch: update-tool-versions + title: "chore: update tool versions" + commit-message: "chore: update tool versions" + body: "" + labels: | + bot + update-tool-versions + signoff: true + delete-branch: true + + - name: Check outputs + run: | + echo "Pull Request Number - ${{ steps.create-pr.outputs.pull-request-number }}" + echo "Pull Request URL - ${{ steps.create-pr.outputs.pull-request-url }}" + shell: bash + + - name: Enable auto-merge + if: ${{ steps.create-pr.outputs.pull-request-operation == 'created' }} + uses: peter-evans/enable-pull-request-automerge@v2 + with: + token: ${{ steps.generate-token.outputs.token }} + pull-request-number: ${{ steps.create-pr.outputs.pull-request-number }} + merge-method: squash