Github 작업에 대한 워크 플로 간의 종속성


9

두 가지 워크 플로우가있는 monorepo가 ​​있습니다.

.github/workflows/test.yml

name: test

on: [push, pull_request]

jobs:
  test-packages:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: test packages
        run: |
          yarn install
          yarn test
...

.github/workflows/deploy.yml

  deploy-packages:
    runs-on: ubuntu-latest
    needs: test-packages
    steps:
      - uses: actions/checkout@v1
      - name: deploy packages
        run: |
          yarn deploy
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
...

작동하지 않습니다. 다른 워크 플로에서 작업을 참조 할 수 없습니다.

### ERRORED 19:13:07Z

- Your workflow file was invalid: The pipeline is not valid. The pipeline must contain at least one job with no dependencies.

워크 플로간에 종속성을 만드는 방법이 있습니까?

내가 원하는 실행하는 것입니다 test.yml다음 deploy.yml태그에, 그리고 test.yml단지 푸시 및 풀 요청. 워크 플로간에 작업을 복제하고 싶지 않습니다.

답변:


3

워크 플로간에 종속성을 만드는 방법이 있습니까?

나는 이것이 현재로서는 가능하지 않다고 생각합니다. 아마도 향후에 추가 될 기능 일 것입니다. 개인적으로 CircleCI의 orbs와 같은 기능이 추가되어 일반적인 워크 플로 섹션을 공유 할 가능성이 높습니다.

대체 솔루션의 경우 다음 작업과 같은 워크 플로에 모두 적용합니까? 로 deploy-packages시작하는 태그를 누른 경우에만 작업이 실행됩니다 v.

name: my workflow
on: [push, pull_request]
jobs:
  test-packages:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: test packages
        run: echo "Running tests"
  deploy-packages:
    if: startsWith(github.ref, 'refs/tags/v')
    runs-on: ubuntu-latest
    needs: test-packages
    steps:
      - uses: actions/checkout@v1
      - name: deploy packages
        run: echo "Deploying packages"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.