-
Notifications
You must be signed in to change notification settings - Fork 5
137 lines (137 loc) · 4.59 KB
/
run-acceptance-tests.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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GO111MODULE: "on"
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
PROVIDER: policy
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
PULUMI_API: https://api.pulumi-staging.io
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
PR_COMMIT_SHA: ${{ github.event.client_payload.pull_request.head.sha }}
jobs:
comment-notification:
# We only care about adding the result to the PR if it's a repository_dispatch event
if: github.event_name == 'repository_dispatch'
runs-on: ubuntu-latest
steps:
- name: Create URL to the run output
id: vars
run: echo run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID >> "$GITHUB_OUTPUT"
- name: Update with Result
uses: peter-evans/create-or-update-comment@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
body: |
Please view the PR build - ${{ steps.vars.outputs.run-url }}
lint:
name: lint
runs-on: ubuntu-latest
steps:
- name: Set up Go ${{ matrix.go-version }}
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go-version }}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: ${{matrix.node-version}}
registry-url: https://registry.npmjs.org
- name: Install pipenv
run: |
python -m pip install --upgrade pipenv pip requests wheel urllib3 chardet
- name: Install pulumictl
uses: jaxxstorm/[email protected]
with:
repo: pulumi/pulumictl
- name: Checkout Repo
uses: actions/checkout@v2
- name: Unshallow clone for tags
run: git fetch --prune --unshallow --tags
- name: Install Yarn
run: curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.13.0
- name: Ensure
run: |
make ensure
- name: Lint Node
run: |
cd sdk/nodejs/policy && make lint
- name: Lint Python
run: |
cd sdk/python && make lint
strategy:
fail-fast: true
matrix:
platform: [ ubuntu-latest ]
go-version: [ 1.21.x ]
python-version: [ 3.9.x ]
node-version: [ 18.x ]
build_and_test:
name: Build and Test SDK
runs-on: ${{ matrix.platform }}
if: github.event_name == 'repository_dispatch' || github.event.pull_request.head.repo.full_name == github.repository
steps:
- name: Checkout Repo
uses: actions/checkout@v2
with:
ref: ${{ env.PR_COMMIT_SHA }}
- name: Unshallow clone for tags
run: git fetch --prune --unshallow --tags
- name: Install Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go-version }}
- name: Install pulumictl
uses: jaxxstorm/[email protected]
with:
repo: pulumi/pulumictl
- name: Install Pulumi CLI
uses: pulumi/actions@v4
with:
pulumi-version: ">=3.88.0"
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: ${{matrix.node-version}}
registry-url: https://registry.npmjs.org
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: ${{matrix.python-version}}
- name: Install pipenv
run: |
python -m pip install --upgrade pipenv pip requests wheel urllib3 chardet
- name: Ensure dependencies
run: make ensure
- name: Checkout Scripts Repo
uses: actions/checkout@v2
with:
path: ci-scripts
repository: pulumi/scripts
- name: Build SDK
run: make only_build
- name: Check worktree clean
run: ./ci-scripts/ci/check-worktree-is-clean
- name: Run Unit Tests
run: make only_test_fast
- name: Run Integration Tests
run: make test_all
strategy:
fail-fast: true
matrix:
platform: [ ubuntu-latest ]
go-version: [ 1.21.x ]
python-version: [ 3.9.x ]
node-version: [ 18.x ]
name: Run Acceptance Tests from PR
on:
repository_dispatch:
types: [run-acceptance-tests-command]
pull_request:
branches:
- main