GitHub 작업의 조건부 워크플로 및 실패

GitHub Actions가 Dependabot PR과 작동하는 방식을 변경하는 GitHub, 3월 1일 출시 예정. 이 변경 사항은 이러한 모든 Dependabot PR을 리포지토리에 대한 포크로 취급하므로 토큰과 같은 항목에 액세스할 수 없습니다. 따라서 프로젝트에서 Dependabot을 사용하는 경우 recent GitHub Actions Security vulnerabilities research을 읽은 후 로 변경하는 것이 좋습니다.

내 작업 로그에 러너의 컨텍스트를 덤프하는 예제 워크플로가 있습니다. 디버그에 tmate 또는 이와 유사한 것을 사용하지 않으려는 경우에 유용합니다. 훌륭한 작은 디버깅 도구입니다.


name: dump

on:
  pull_request:

jobs:
  dump:
    runs-on: ubuntu-latest
    steps:
      - name: Dump context
        uses: crazy-max/ghaction-dump-context@v1

변경 로그에 따라 pull_request_target을 사용하도록 업데이트하여 쓰기 액세스 권한이 있는 GITHUB_TOKEN에 액세스할 수 있습니다. 그러나 나는 또한 이 워크플로를 활용하는 depends-bot PR만 원합니다. 이를 위해 github.actor'dependabot[bot]'인지 확인하는 작업 흐름에 conditional expression을 추가할 수 있습니다.

name: dump

on:
  pull_request:

jobs:
  dump:
    runs-on: ubuntu-latest
    steps:
      - name: Dump context
        if: github.actor == 'dependabot[bot]' // added condiontal
        uses: crazy-max/ghaction-dump-context@v1

이제 액터가 아닌 경우 조건부가 워크플로 단계를 건너뜁니다'dependabot[bot]'. 하지만 인간 기여자의 작업 흐름을 실패시키려면 어떻게 해야 합니까? 조건문을 뒤집을 수 있지만 실패를 추가할 수도 있지만 실행exit 1은 이렇게 합니다.

name: dump

on:
  pull_request:

jobs:
  dump:
    runs-on: ubuntu-latest
    steps:
      - name: Dump context
        if: github.actor == 'dependabot[bot]'
        run: exit 1 // added failure
      - name: the dump
        uses: crazy-max/ghaction-dump-context@v1

그러나 조건이 있고 실패를 원하지 않는 어떤 것에 의존하지 않는 경우 작업을 건너뛸 것입니다.

도움이 되었기를 바랍니다. GitHub Changelog에서 향후 액션 업데이트 및 기타 기능을 확인하십시오.

이것은 28일간의 Actions 시리즈의 일부입니다. 더 많은 GitHub 작업 팁에 대한 알림을 받으려면 여기 Dev에서 GitHub 조직을 팔로우하세요. Node.js로 작업을 빌드하는 방법 알아보기

02:13

좋은 웹페이지 즐겨찾기