-
Notifications
You must be signed in to change notification settings - Fork 0
59 lines (59 loc) · 2.48 KB
/
Copy pathdeploySourceFunction.yml
File metadata and controls
59 lines (59 loc) · 2.48 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
name: Deploy Function
on:
pull_request:
types: [opened, synchronize, labeled]
push:
branches:
- main
workflow_dispatch:
jobs:
DEV:
runs-on: ubuntu-latest
if: github.ref != 'refs/heads/main' || github.event.label.name == '!!_RELEASE_TO_QA'
environment: DEV
steps:
# Pinned to commit SHAs (not mutable tags) to prevent supply-chain tag hijacking.
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: ${{ github.event.pull_request.head.ref }}
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: '.nvmrc'
- name: Install NPM packages
run: npm ci
- name: Run tests
run: npm test
- name: Deploy Function
run: GITHUB_JOB=${{ github.job }} FUNCTION_ID=${{ secrets.FUNCTION_ID }} SOURCE_ID=${{ secrets.SOURCE_ID }} PUBLIC_API_TOKEN=${{ secrets.PUBLIC_API_TOKEN }} node ./scripts/deploySourceFunction.js --unhandled-rejections=strict || { exit 1;}
QA:
runs-on: ubuntu-latest
if: github.event.label.name == '!!_RELEASE_TO_QA'
environment: QA
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: ${{ github.event.pull_request.head.ref }}
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: '.nvmrc'
- name: Install NPM packages
run: npm ci
- name: Run tests
run: npm test
- name: Deploy Function
run: GITHUB_JOB=${{ github.job }} FUNCTION_ID=${{ secrets.FUNCTION_ID }} SOURCE_ID=${{ secrets.SOURCE_ID }} PUBLIC_API_TOKEN=${{ secrets.PUBLIC_API_TOKEN }} node ./scripts/deploySourceFunction.js --unhandled-rejections=strict || { exit 1;}
PROD:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
environment: PROD
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: '.nvmrc'
- name: Install NPM packages
run: npm ci
- name: Run tests
run: npm test
- name: Deploy Function
run: GITHUB_JOB=${{ github.job }} FUNCTION_ID=${{ secrets.FUNCTION_ID }} SOURCE_ID=${{ secrets.SOURCE_ID }} PUBLIC_API_TOKEN=${{ secrets.PUBLIC_API_TOKEN }} node ./scripts/deploySourceFunction.js --unhandled-rejections=strict || { exit 1;}