-
Notifications
You must be signed in to change notification settings - Fork 35
96 lines (87 loc) · 2.89 KB
/
preview.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
name: Deploy Preview Branch
on:
pull_request_target:
branches:
- staging
types: [opened, synchronize, reopened]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref }}
cancel-in-progress: true
jobs:
permissions-check:
runs-on: ubuntu-latest
steps:
- name: Get User Permission
id: checkAccess
uses: actions-cool/check-user-permission@v2
with:
require: write
username: ${{ github.triggering_actor }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check User Permission
if: steps.checkAccess.outputs.require-result == 'false'
run: |
echo "${{ github.triggering_actor }} does not have permissions on this repo."
echo "Current permission level is ${{ steps.checkAccess.outputs.user-permission }}"
echo "Job originally triggered by ${{ github.actor }}"
exit 1
call-test-api:
if: ${{ !failure() && !cancelled()}}
uses: ./.github/workflows/test-api.yml
needs: permissions-check
secrets: inherit
with:
sha: ${{ github.event.pull_request.head.sha }}
environment: staging
call-test-build:
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/test-build.yml
needs: permissions-check
secrets: inherit
with:
sha: ${{ github.event.pull_request.head.sha }}
environment: staging
netlify-context: branch-deploy
runner-label: ${{ vars.PREVIEW_RUNNER_LABEL }}
call-test:
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/test.yml
needs: call-test-build
secrets: inherit
with:
sha: ${{ github.event.pull_request.head.sha }}
environment: staging
runner-label: ${{ vars.PREVIEW_RUNNER_LABEL }}
call-test-playwright:
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/test-playwright.yml
needs: call-test-build
secrets: inherit
with:
sha: ${{ github.event.pull_request.head.sha }}
environment: staging
runner-label: ${{ vars.PREVIEW_RUNNER_LABEL }}
call-test-playwright-full:
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/test-playwright-full.yml
needs: permissions-check
secrets: inherit
with:
sha: ${{ github.event.pull_request.head.sha }}
environment: staging
runner-label: ${{ vars.PREVIEW_RUNNER_LABEL }}
call-deploy:
if: ${{ !failure() && !cancelled() }}
uses: ./.github/workflows/deploy.yml
needs: permissions-check
secrets: inherit
permissions:
pull-requests: write
with:
sha: ${{ github.event.pull_request.head.sha }}
environment: staging
netlify-context: branch-deploy
netlify-alias: pr-${{ github.event.pull_request.number }}
runner-label: ${{ vars.PREVIEW_RUNNER_LABEL }}
site-url: https://pr-${{ github.event.pull_request.number }}--staging-aiid.netlify.app