diff --git a/.github/workflows/ship.yml b/.github/workflows/ship.yml index 0dfb5f8a..826a9f20 100644 --- a/.github/workflows/ship.yml +++ b/.github/workflows/ship.yml @@ -1,18 +1,73 @@ -name: Accept to Ship +name: Ship on: pull_request: - types: [synchronize] + branches: [master] + types: + [ + labeled, + unlabeled, + edited, + closed, + reopened, + synchronize, + review_requested, + review_request_removed, + ] pull_request_review: - types: [submitted, edited] + types: [submitted, edited, dismissed] + check_run: + type: [created, rerequested, completed] + check_suite: + types: [completed] + workflow_run: + branches: ['[0-9]+-[0-9]+-*'] + workflows: ['Node.js CI', 'CodeQL'] + types: [completed] + +concurrency: + group: ${{ github.event.pull_request.number || github.workflow }} + cancel-in-progress: true jobs: - ship: + accept-to-ship: + name: Accept to Ship + if: |- + ${{ + github.base_ref == 'master' || + github.event.pull_request.base.ref == 'master' || + contains(github.event.check_run.pull_requests.*.base.ref, 'master') || + contains(github.event.check_suite.pull_requests.*.base.ref, 'master') || + contains(github.event.workflow_run.pull_requests.*.base.ref, 'master') + }} + runs-on: ubuntu-latest + permissions: write-all + steps: + - uses: actions/checkout@v3 + + - uses: ./ + with: + merge-method: squash + timeout: 0 + + pass-to-ship: + name: Pass to Ship + if: |- + ${{ + github.base_ref == 'master' || + github.event.pull_request.base.ref == 'master' || + contains(github.event.check_run.pull_requests.*.base.ref, 'master') || + contains(github.event.check_suite.pull_requests.*.base.ref, 'master') || + contains(github.event.workflow_run.pull_requests.*.base.ref, 'master') + }} runs-on: ubuntu-latest permissions: write-all steps: - uses: actions/checkout@v3 - - uses: CatChen/accept-to-ship-action@v0.3.0 + - uses: ./ with: merge-method: squash + timeout: 0 + request-zero-accept-zero: true + custom-hashtag: '#pass2ship'