-
Notifications
You must be signed in to change notification settings - Fork 350
105 lines (93 loc) · 3.68 KB
/
update-prod-staging.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
name: Reusable workflow for updating prod and staging
on:
workflow_call:
inputs:
PINATA_HASH:
type: string
description: IPFS hash to pin and use in release description
required: true
jobs:
production:
runs-on: ubuntu-latest
environment:
name: Production
url: 'https://app.aave.com'
steps:
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2
- name: download build
uses: actions/download-artifact@fb598a63ae348fa914e94cd0ff38f362e927b741 # v3.0.0
with:
name: out
path: out
- name: Pin to primary IPFS server
id: ipfs-primary
uses: ./.github/actions/production-ipfs-pin
with:
DOMAIN: app.aave.com
GCP_SA_KEY: '${{ secrets.GCP_SA_KEY }}'
GKE_CLUSTER: '${{ secrets.GKE_CLUSTER }}'
GKE_CLUSTER_REGION: '${{ secrets.GKE_CLUSTER_REGION }}'
IPFS_SERVER_PORT: '${{ secrets.IPFS_PRIMARY_SERVER_PORT }}'
IPFS_SERVER: '${{ secrets.IPFS_PRIMARY_SERVER }}'
IPFS_SERVER_KEY: '${{ secrets.IPFS_PRIMARY_SERVER_KEY }}'
BUILD_PATH: 'out'
PINATA_HASH: '${{ inputs.PINATA_HASH }}'
- uses: aave/cloudflare-update-action@5c1b528c9c6e0aed18a7dbdd7f957e0b8815a75e
with:
CF_API_TOKEN: '${{ secrets.CF_API_TOKEN }}'
CF_ZONE_ID: '${{ secrets.CF_ZONE_ID }}'
HASH: '${{ inputs.PINATA_HASH }}'
CF_DEPLOYMENT_DOMAIN: app.aave.com
- name: prepare release
run: |
cp .github/release-template.md ./release-notes.md
sed -i 's|<ipfs-hash>|${{ inputs.PINATA_HASH }}|g' ./release-notes.md
echo "TAG=release-$(date '+%Y-%m-%d_%H-%M')" >> ${GITHUB_ENV}
- name: Create GH release
uses: ncipollo/release-action@4c75f0f2e4ae5f3c807cf0904605408e319dcaac # v1.10.0
with:
name: Production release
artifacts: app.tar.gz
bodyFile: release-notes.md
commit: '${{ github.sha }}'
tag: '${{ env.TAG }}'
staging:
runs-on: ubuntu-latest
environment:
name: Staging
url: 'https://staging.aave.com'
steps:
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2
- name: download build
uses: actions/download-artifact@fb598a63ae348fa914e94cd0ff38f362e927b741 # v3.0.0
with:
name: out_staging
path: out_staging
- name: pinata
id: pinata
uses: aave/pinata-action@a3409e26f4cb859a2d9984109317caac53db5f68
with:
PINATA_API_KEY: '${{ secrets.PINATA_API_KEY }}'
PINATA_SECRET_KEY: '${{ secrets.PINATA_SECRET_KEY }}'
PIN_ALIAS: 'app-aave-staging'
BUILD_LOCATION: './out_staging'
CID_VERSION: 1
- name: Pin to primary IPFS server
id: ipfs-primary
uses: ./.github/actions/production-ipfs-pin
with:
DOMAIN: staging.aave.com
GCP_SA_KEY: '${{ secrets.GCP_SA_KEY }}'
GKE_CLUSTER: '${{ secrets.GKE_CLUSTER }}'
GKE_CLUSTER_REGION: '${{ secrets.GKE_CLUSTER_REGION }}'
IPFS_SERVER_PORT: '${{ secrets.IPFS_PRIMARY_SERVER_PORT }}'
IPFS_SERVER: '${{ secrets.IPFS_PRIMARY_SERVER }}'
IPFS_SERVER_KEY: '${{ secrets.IPFS_PRIMARY_SERVER_KEY }}'
BUILD_PATH: 'out_staging'
PINATA_HASH: '${{ steps.pinata.outputs.hash }}'
- uses: aave/cloudflare-update-action@8b9720cbb79a5b824e8e2e618df8955dd9c3a93c
with:
CF_API_TOKEN: '${{ secrets.CF_API_TOKEN }}'
CF_ZONE_ID: '${{ secrets.CF_ZONE_ID }}'
HASH: '${{ steps.pinata.outputs.hash }}'
CF_DEPLOYMENT_DOMAIN: staging.aave.com