githubaction에서 특정 명명 규칙이 있는 분기 무시

dependabot의 branch PR로 CI를 낭비해서 돌렸어요.


dependabet에서 자동으로 종료 요청이 발생할 때로 설정합니다.다른 PR과 마찬가지로 CI가 돌고 있지만 cheromatic 테스트에서 시크릿을 읽을 수 없어 실패했습니다.
그래서 응급처치로 이 부분의 테스트만 건너뛰고 싶었다.
develop←nomal_branch는CI이고 develop←debendabot_branch는chromatic의 테스트를 하지 않는다는 구상이다.좋은 방법은 아니지만'어쨌든'느낌이 든다.

가능한 해결 방법


branches-ignore


github의 작업 프로세스 구조에는 branches-ignore의 기술법이 있다.
on:
  push:
    # refs/heads にマッチするパターンのシーケンス
    branches-ignore:
      # refs/heads/mona/octocat にマッチするブランチにイベントをプッシュする
      - 'mona/octocat'
      # refs/heads/releases/beta/3-alpha refs/heads/mona/octocat にマッチするブランチにイベントをプッシュする
      - 'releases/**-alpha'
    # refs/heads にマッチするパターンのシーケンス
    tags-ignore:
      - v1.*           # イベントを v1.0、v1.1、v1.9 タグにプッシュする
https://docs.github.com/ja/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestbranchestags
상술한 기재 방법으로pulshRequest로 변경하면 대상을 대상으로 지정할 수 없습니다.

if에서 함수에 조건 분기 사용하기


실제적으로 대응하는 것은 아래의 문법이다.
jobs:
  test:
    runs-on: ubuntu-latest
    if: ${{ contains(github.head_ref, 'dependabot') == false }}
    steps:
문자열이 포함되지 않으면if 부분에서 진실을 되돌려 주는 것이 좋습니다.이렇게 하면 가짜 상황에서 steps가 실행되지 않습니다.
다시 진행하겠지만 긴급 처치라 테스트를 건너뛰는 건 좋지 않아요.이렇게 말하지만 비슷한 상황이 있는 것 같으니 이때if: 부분으로 컨트롤해 보세요.
하지만 저도 dependabbot 홍보에서 UI 테스트를 해야 하는지 잘 몰라요. 학식이 있는 사람이 알려주면 좋겠어요.

사이트 축소판 그림


https://docs.github.com/ja/actions/reference/workflow-syntax-for-github-actions
https://zenn.dev/ryo_kawamata/articles/github-actions-specific-branch

좋은 웹페이지 즐겨찾기