This repository was archived by the owner on Jun 7, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 17
57 lines (52 loc) · 2.88 KB
/
api-staging.yaml
File metadata and controls
57 lines (52 loc) · 2.88 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
name: API Build and Deploy Staging
on:
push:
branches: [develop]
paths:
- "api/**"
- ".github/workflows/api-staging.yaml"
jobs:
build:
runs-on: ubuntu-latest
env:
# Build specific env vars
CONFIG_ID: staging
CONFIG_NODE1_PROVIDER: ${{ secrets.STAGING_CONFIG_NODE1_PROVIDER }}
CONFIG_IPFS_NODE_PROVIDER: ${{ secrets.STAGING_CONFIG_IPFS_NODE_PROVIDER }}
CONFIG_IPFS_NODE_TOKEN: ${{ secrets.STAGING_CONFIG_IPFS_NODE_TOKEN }}
CONFIG_DB_AWS_REGION: ${{ secrets.STAGING_CONFIG_DB_AWS_REGION }}
CONFIG_DB_AWS_ACCESS_KEY_ID: ${{ secrets.STAGING_CONFIG_DB_AWS_ACCESS_KEY_ID }}
CONFIG_DB_AWS_SECRET_ACCESS_KEY: ${{ secrets.STAGING_CONFIG_DB_AWS_SECRET_ACCESS_KEY }}
CONFIG_DB_TABLE_PREFIX: ${{ secrets.STAGING_CONFIG_DB_TABLE_PREFIX }}
CONFIG_ALLOWED_DOMAIN: ${{ secrets.STAGING_CONFIG_ALLOWED_DOMAIN }}
CONFIG_MAX_BYTES: ${{ secrets.STAGING_CONFIG_MAX_BYTES }}
VERCEL_DOMAIN: ${{ secrets.VERCEL_API_STAGING_DOMAIN }}
# Global Vercel env vars
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_API_PROJECT_ID }}
VERCEL_PROJECT_NAME: ${{ secrets.VERCEL_API_PROJECT_NAME }}
steps:
- uses: actions/checkout@v2
- name: API Config
run: |
cd api/src/data/
mv config.template.json config.$CONFIG_ID.json
sed -i 's/NODE1-PROVIDER/${{ env.CONFIG_NODE1_PROVIDER }}/g' config.$CONFIG_ID.json
sed -i 's/IPFS-NODE-PROVIDER/${{ env.CONFIG_IPFS_NODE_PROVIDER }}/g' config.$CONFIG_ID.json
sed -i 's/IPFS-NODE-TOKEN/${{ env.CONFIG_IPFS_NODE_TOKEN }}/g' config.$CONFIG_ID.json
sed -i 's/DB-AWS-REGION/${{ env.CONFIG_DB_AWS_REGION }}/g' config.$CONFIG_ID.json
sed -i 's/DB-AWS-ACCESS-KEY-ID/${{ env.CONFIG_DB_AWS_ACCESS_KEY_ID }}/g' config.$CONFIG_ID.json
sed -i 's/DB-AWS-SECRET-ACCESS-KEY/${{ env.CONFIG_DB_AWS_SECRET_ACCESS_KEY }}/g' config.$CONFIG_ID.json
sed -i 's/DB-TABLE-PREFIX/${{ env.CONFIG_DB_TABLE_PREFIX }}/g' config.$CONFIG_ID.json
sed -i 's/ALLOWED-DOMAIN/${{ env.CONFIG_ALLOWED_DOMAIN }}/g' config.$CONFIG_ID.json
sed -i 's/MAX-BYTES/${{ env.CONFIG_MAX_BYTES }}/g' config.$CONFIG_ID.json
- name: Use Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: "12"
- name: API Deploy
run: |
cd api
npx vercel --token ${{ secrets.VERCEL_TOKEN }} --scope ${{ secrets.VERCEL_SCOPE }} --force -m githubCommitSha=${{ github.sha }} --env CONFIG_ID=$CONFIG_ID
VERCEL_DEPLOYMENT_URL=$(npx vercel ls --token ${{ secrets.VERCEL_TOKEN }} --scope ${{ secrets.VERCEL_SCOPE }} -m githubCommitSha=${{ github.sha }} | grep $VERCEL_PROJECT_NAME | awk {'print $2'})
npx vercel alias --token ${{ secrets.VERCEL_TOKEN }} --scope ${{ secrets.VERCEL_SCOPE }} $VERCEL_DEPLOYMENT_URL $VERCEL_DOMAIN