アプリ開発備忘録

PlayStationMobile、Android、UWPの開発備忘録

【GitHub Actions】 PullRequestの実行したいcommitだけActionを走らせる

作業が完了して、PullRequestのDraftを外して、レビューをしてもらう。レビューで指摘された所を直して、細かくPushしていると、その都度CIが動いてしまう。
作業が完了してから最後のcommitだけActionを走らせたい場合のための方法。

使うもの

github.run_attempt を使用する。 commitで動くものは1、re-runすると2になるので、これを利用する。

リポジトリで実行される特定のワークフローの試行ごとの一意の番号。この数は、ワークフロー実行の最初の試行では1から始まり、再実行するたびに増加します。
https://docs.github.com/en/actions/learn-github-actions/contexts#github-context

サンプル

name: merge_test
on:
  pull_request:

permissions:
  contents: read

jobs:
  test:
    if: ${{ github.run_attempt != 1 }}
    runs-on: ubuntu-latest
    steps:
      - run: |
          echo "github.run_attempt"
          echo ${{ github.run_attempt }}

Re-Runする所

f:id:matsudamper:20220407204453p:plain