Make githooks possible to run local hook from global hooks #1345
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: π€ππ€ | |
on: pull_request | |
permissions: | |
contents: write | |
pull-requests: write | |
# checks: read # For private repositories | |
# actions: read # For private repositories | |
jobs: | |
judge-dependabot: | |
timeout-minutes: 5 | |
runs-on: ubuntu-24.04 | |
outputs: | |
merge: ${{ steps.conclusion.outputs.merge }} | |
if: ${{ github.actor == 'dependabot[bot]' }} | |
steps: | |
- name: Dependabot metadata | |
id: dependabot | |
uses: dependabot/[email protected] | |
- name: Judge | |
id: conclusion | |
if: >- | |
steps.dependabot.outputs.update-type != 'version-update:semver-major' || | |
contains(steps.dependabot.outputs.dependency-names, 'DeterminateSystems') | |
run: echo -n 'merge=true' | tee -a "$GITHUB_OUTPUT" | |
dependabot: | |
needs: [judge-dependabot] | |
if: ${{ needs.judge-dependabot.outputs.merge == 'true' }} | |
timeout-minutes: 90 | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Dependabot metadata | |
id: metadata | |
uses: dependabot/[email protected] | |
- name: Wait other jobs | |
uses: kachick/wait-other-jobs@v3 | |
timeout-minutes: 75 | |
with: | |
skip-same-workflow: 'true' | |
- name: Approve and merge | |
run: gh pr review --approve "$PR_URL" && gh pr merge --auto --squash "$PR_URL" | |
env: | |
PR_URL: ${{github.event.pull_request.html_url}} | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
# Avoid `automerge` renovate official feature. | |
# It wait longtime to be merged. | |
# Avoid `platformAutomerge` renovate official feature. | |
# It requires many changes in GitHub settings. | |
# - `Allow auto-merge` | |
# - `Require status checks to pass before merging` and specify the status names | |
# Changing in all personal repository is annoy task for me. Even if using terrafform, getting mandatory CI names in each repo is too annoy! | |
renovate: | |
timeout-minutes: 90 | |
runs-on: ubuntu-24.04 | |
if: ${{ github.actor == 'renovate[bot]' }} | |
steps: | |
- name: Wait other jobs | |
uses: kachick/wait-other-jobs@v3 | |
timeout-minutes: 75 | |
with: | |
skip-same-workflow: 'true' | |
- name: Approve and merge | |
run: gh pr review --approve "$PR_URL" && gh pr merge --auto --squash "$PR_URL" | |
env: | |
PR_URL: ${{github.event.pull_request.html_url}} | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
# https://github.com/kachick/anylang-template/issues/51 | |
selfup-runner: | |
timeout-minutes: 90 | |
runs-on: ubuntu-24.04 | |
if: ${{ github.actor == 'selfup-runner[bot]' }} | |
steps: | |
- name: Wait other jobs | |
uses: kachick/wait-other-jobs@v3 | |
timeout-minutes: 75 | |
with: | |
skip-same-workflow: 'true' | |
- name: Approve and merge | |
run: gh pr review --approve "$PR_URL" && gh pr merge --auto --delete-branch --squash "$PR_URL" | |
env: | |
PR_URL: ${{ github.event.pull_request.html_url }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |