-
Notifications
You must be signed in to change notification settings - Fork 16
199 lines (197 loc) · 8.18 KB
/
build_external.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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# Builds external repositories that use this so we can create tickets to update them before their ci pipelines break.
# NOTE: This is not a required check to merge, merely a check so you know to create tickets to update the products that rely on this.
name: Build External Repositories
on:
pull_request:
# Only run 1 of this workflow at a time per PR
concurrency:
group: integration-build-check-${{ github.ref }}
cancel-in-progress: true
jobs:
build-chainlink:
environment: integration
permissions:
id-token: write
contents: read
name: Build Chainlink Image
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Get core ref from PR body
if: github.event_name == 'pull_request'
run: |
comment=$(gh pr view https://github.com/${{ github.repository }}/pull/${{ github.event.pull_request.number }} --json body -q '.body')
core_ref=$(echo $comment | grep -oP 'core ref: \K\S+' || true)
if [ ! -z "$core_ref" ]; then
echo "CUSTOM_CORE_REF=${core_ref}" >> "${GITHUB_ENV}"
else
echo "CUSTOM_CORE_REF=develop" >> "${GITHUB_ENV}"
fi
- name: Collect Metrics
id: collect-gha-metrics
uses: smartcontractkit/push-gha-metrics-action@dea9b546553cb4ca936607c2267a09c004e4ab3f # v3.0.0
with:
id: build-chainlink
basic-auth: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }}
hostname: ${{ secrets.GRAFANA_INTERNAL_HOST }}
org-id: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }}
this-job-name: Build Chainlink Image
continue-on-error: true
- name: Checkout the repo
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Build the image
uses: smartcontractkit/chainlink-github-actions/chainlink-testing-framework/build-image@e29366cdecfe6befff9ab8c3cfe4825218505d58 # v2.3.16
env:
GH_TOKEN: ${{ github.token }}
with:
push_tag: ""
cl_repo: smartcontractkit/chainlink
cl_ref: ${{ env.CUSTOM_CORE_REF }}
dep_common_sha: ${{ github.event.pull_request.head.sha }}
should_checkout: true
QA_AWS_REGION: ""
QA_AWS_ROLE_TO_ASSUME: ""
solana-build-relay:
environment: integration
permissions:
id-token: write
contents: read
name: Solana Build Relay
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
runs-on: ubuntu-latest
steps:
- name: Get solana ref from PR body
if: github.event_name == 'pull_request'
run: |
comment=$(gh pr view https://github.com/${{ github.repository }}/pull/${{ github.event.pull_request.number }} --json body -q '.body')
solana_ref=$(echo $comment | grep -oP 'solana ref: \K\S+' || true)
if [ ! -z "$solana_ref" ]; then
echo "CUSTOM_SOLANA_REF=${solana_ref}" >> "${GITHUB_ENV}"
else
echo "CUSTOM_SOLANA_REF=develop" >> "${GITHUB_ENV}"
fi
- name: Collect Metrics
id: collect-gha-metrics
uses: smartcontractkit/push-gha-metrics-action@dea9b546553cb4ca936607c2267a09c004e4ab3f # v3.0.0
with:
id: solana-build-relay
basic-auth: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }}
hostname: ${{ secrets.GRAFANA_INTERNAL_HOST }}
org-id: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }}
this-job-name: Solana Build Relay
continue-on-error: true
- name: Checkout the solana repo
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
repository: smartcontractkit/chainlink-solana
ref: ${{ env.CUSTOM_SOLANA_REF }}
- name: Setup Go
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version-file: "go.mod"
- name: Replace chainlink-common deps
run: |
go get github.com/smartcontractkit/chainlink-common@${{ github.event.pull_request.head.sha }}
go mod tidy
- name: Install Solana CLI
run: ./scripts/install-solana-ci.sh
- name: Build & Test
run: make test_relay_unit
starknet-build-relay:
environment: integration
permissions:
id-token: write
contents: read
name: Starknet Build Relay
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
runs-on: ubuntu-latest
steps:
- name: Get starknet ref from PR body
if: github.event_name == 'pull_request'
run: |
comment=$(gh pr view https://github.com/${{ github.repository }}/pull/${{ github.event.pull_request.number }} --json body -q '.body')
starknet_ref=$(echo $comment | grep -oP 'starknet ref: \K\S+' || true)
if [ ! -z "$starknet_ref" ]; then
echo "CUSTOM_STARKNET_REF=${starknet_ref}" >> "${GITHUB_ENV}"
else
echo "CUSTOM_STARKNET_REF=develop" >> "${GITHUB_ENV}"
fi
- name: Collect Metrics
id: collect-gha-metrics
uses: smartcontractkit/push-gha-metrics-action@dea9b546553cb4ca936607c2267a09c004e4ab3f # v3.0.0
with:
id: starknet-build-relay
basic-auth: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }}
hostname: ${{ secrets.GRAFANA_INTERNAL_HOST }}
org-id: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }}
this-job-name: Starknet Build Relay
continue-on-error: true
- name: Checkout the starknet repo
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
with:
repository: smartcontractkit/chainlink-starknet
ref: ${{ env.CUSTOM_STARKNET_REF }}
- name: Setup Go
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
go-version-file: ./relayer/go.mod
- name: Replace chainlink-common deps
run: |
cd relayer
go get github.com/smartcontractkit/chainlink-common@${{ github.event.pull_request.head.sha }}
go mod tidy
- name: Install Nix
uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
with:
nix_path: nixpkgs=channel:nixos-unstable
- name: Build
run: nix develop -c make build-go-relayer
- name: Test
run: nix develop -c make test-unit-go
# terra-build-relay:
# environment: integration
# permissions:
# id-token: write
# contents: read
# name: Terra Build Relay
# runs-on: ubuntu-latest
# steps:
# - name: Collect Metrics
# id: collect-gha-metrics
# uses: smartcontractkit/push-gha-metrics-action@dea9b546553cb4ca936607c2267a09c004e4ab3f # v3.0.0
# with:
# id: terra-build-relay
# basic-auth: ${{ secrets.GRAFANA_INTERNAL_BASIC_AUTH }}
# hostname: ${{ secrets.GRAFANA_INTERNAL_HOST }}
# org-id: ${{ secrets.GRAFANA_INTERNAL_TENANT_ID }}
# this-job-name: Terra Build Relay
# continue-on-error: true
# - name: Checkout the terra repo
# uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
# with:
# repository: smartcontractkit/chainlink-terra
# - name: Setup Go
# uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
# with:
# go-version-file: "go.mod"
# - name: Replace chainlink-common deps
# run: |
# go get github.com/smartcontractkit/chainlink-common@${{ github.event.pull_request.head.sha }}
# go mod tidy
# - name: Install Nix
# uses: cachix/install-nix-action@v14
# with:
# install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install
# install_options: "--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve"
# extra_nix_config: |
# experimental-features = nix-command flakes
# access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
# - name: Compile relay
# run: nix develop -c go build -v ./pkg/terra/...
# - name: Run unit tests
# run: nix develop -c go test -v ./pkg/terra/...