-
Notifications
You must be signed in to change notification settings - Fork 78
152 lines (136 loc) · 5.86 KB
/
release.yml
File metadata and controls
152 lines (136 loc) · 5.86 KB
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
name: TAG Release
on:
push:
tags:
- 'v*'
env:
AMPLITUDE_API_KEY_DEV: ${{ secrets.VUE_APP_AMPLITUDE_API_KEY_DEV }}
AMPLITUDE_API_KEY_PROD: ${{ secrets.VUE_APP_AMPLITUDE_API_KEY }}
TERRA_MAINNET_URL: ${{ secrets.VUE_APP_TERRA_MAINNET_URL }}
AVALANCHE_MAINNET_NODE: ${{ secrets.VUE_APP_AVALANCHE_MAINNET_NODE }}
AVALANCHE_TESTNET_NODE: ${{ secrets.VUE_APP_AVALANCHE_TESTNET_NODE }}
NEAR_MAINNET_URL: ${{ secrets.VUE_APP_NEAR_MAINNET_URL }}
SEED_WORDS: ${{ secrets.TEST_NET_SEED_WORDS }}
TWENTY_FOUR_SEEDS: ${{ secrets.TWENTY_FOUR_SEEDS }}
TEST_WALLET_PASSWORD: ${{ secrets.TEST_WALLET_PASSWORD }}
# Transak details
TRANSAK_WIDGET_URL_PROD: ${{ secrets.TRANSAK_WIDGET_URL_PROD }}
TRANSAK_API_KEY_PROD: ${{ secrets.TRANSAK_API_KEY_PROD }}
TRANSAK_DEFAULT_FIAT_CURRENCY: ${{ secrets.TRANSAK_DEFAULT_FIAT_CURRENCY }}
# Onramper details
ONRAMPER_WIDGET_URL: ${{ secrets.ONRAMPER_WIDGET_URL }}
ONRAMPER_API_KEY: ${{ secrets.ONRAMPER_API_KEY }}
# firebase details
FIREBASE_API_KEY: ${{ secrets.FIREBASE_API_KEY }}
FIREBASE_AUTH_DOMAIN: ${{ secrets.FIREBASE_AUTH_DOMAIN }}
FIREBASE_PROJECT_ID: ${{ secrets.FIREBASE_PROJECT_ID }}
FIREBASE_STORAGE_BUCKET: ${{ secrets.FIREBASE_STORAGE_BUCKET }}
FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.FIREBASE_MESSAGING_SENDER_ID }}
FIREBASE_APP_ID: ${{ secrets.FIREBASE_APP_ID }}
FIREBASE_MEASUREMENT_ID: ${{ secrets.FIREBASE_MEASUREMENT_ID }}
FIREBASE_DATABASE_URL: ${{ secrets.FIREBASE_DATABASE_URL }}
NODE_OPTIONS: "--max_old_space_size=4096"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-node@v3.7.0
env:
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 'true'
with:
node-version: '14'
# Create screenshots directory
- run: mkdir screenshots
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- name: Restore yarn cache
uses: actions/cache@v3
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
restore-keys: |
yarn-cache-folder-
- name: Get Current Tag
id: get_current_tag
run: echo ::set-output name=tag::${GITHUB_REF#refs/tags/}
- name: Get Previous tag
id: previous_tag
run: echo ::set-output name=tag::$(git tag --sort v:refname | tail -n 2 | head -n 1)
- name: Get next version
id: semvers
uses: WyriHaximus/github-action-next-semvers@v1.2
with:
version: ${{ steps.previous_tag.outputs.tag }}
- name: Set production agents
run: |
export NODE_OPTIONS="--max-old-space-size=5120"
echo VUE_APP_TERRA_MAINNET_URL =$TERRA_MAINNET_URL >> .env
echo VUE_APP_AVALANCHE_MAINNET_NODE =$AVALANCHE_MAINNET_NODE >> .env
echo VUE_APP_AVALANCHE_TESTNET_NODE =$AVALANCHE_TESTNET_NODE >> .env
echo VUE_APP_NEAR_MAINNET_URL =$NEAR_MAINNET_URL >> .env
echo VUE_APP_AMPLITUDE_API_KEY =$AMPLITUDE_API_KEY_PROD >> .env
echo VUE_APP_TRANSAK_WIDGET_URL =$TRANSAK_WIDGET_URL_PROD >> .env
echo VUE_APP_TRANSAK_API_KEY =$TRANSAK_API_KEY_PROD >> .env
echo VUE_APP_TRANSAK_DEFAULT_FIAT_CURRENCY =$TRANSAK_DEFAULT_FIAT_CURRENCY >> .env
echo VUE_APP_ONRAMPER_WIDGET_URL =$ONRAMPER_WIDGET_URL >> .env
echo VUE_APP_ONRAMPER_API_KEY =$ONRAMPER_API_KEY >> .env
echo VUE_APP_FIREBASE_API_KEY =$FIREBASE_API_KEY >> .env
echo VUE_APP_FIREBASE_AUTH_DOMAIN =$FIREBASE_AUTH_DOMAIN >> .env
echo VUE_APP_FIREBASE_PROJECT_ID =$FIREBASE_PROJECT_ID >> .env
echo VUE_APP_FIREBASE_STORAGE_BUCKET =$FIREBASE_STORAGE_BUCKET >> .env
echo VUE_APP_FIREBASE_MESSAGING_SENDER_ID =$FIREBASE_MESSAGING_SENDER_ID >> .env
echo VUE_APP_FIREBASE_APP_ID =$FIREBASE_APP_ID >> .env
echo VUE_APP_FIREBASE_MEASUREMENT_ID =$FIREBASE_MEASUREMENT_ID >> .env
echo VUE_APP_FIREBASE_DATABASE_URL =$FIREBASE_DATABASE_URL >> .env
yarn install
yarn lint
yarn build
# - name: Save Screenshots
# uses: actions/upload-artifact@v2.3.1
# if: always()
# with:
# name: screenshots
# path: screenshots
# if-no-files-found: ignore
- name: Changelog
uses: Bullrich/generate-release-changelog@master
id: Changelog
env:
REPO: ${{ github.repository }}
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
body: |
${{ steps.Changelog.outputs.changelog }}
draft: false
prerelease: false
- name: Upload release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./artifacts/liquality-wallet-${{ steps.get_current_tag.outputs.tag }}-production.zip
asset_name: liquality-wallet-${{ steps.get_current_tag.outputs.tag }}.zip
asset_content_type: application/zip
# # Run tests against Prod mainnet
# - name: Regression tests against Mainnet (PROD Agent)
# uses: beemi/puppeteer-headful@v1.0.12
# env:
# CI: 'true'
# DISPLAY: :99
# SEED_WORDS: ${{ secrets.TEST_NET_SEED_WORDS }}
# TWENTY_FOUR_SEEDS: ${{ secrets.TWENTY_FOUR_SEEDS }}
# with:
# args: yarn test:mainnet:prodagent:release