@@ -3,10 +3,7 @@ name: Tech Report API Pipeline
3
3
on : [push]
4
4
5
5
env :
6
- PIPELINE_PROJECT_ID : ${{ secrets.GCP_PROJECT_ID }}
7
6
PIPELINE_SA_KEY : ${{ secrets.GCP_SA_KEY }}
8
- PIPELINE_PROJECT_DATABASE_DEV : ${{ secrets.GCP_PROJECT_DATABASE_DEV }}
9
- PIPELINE_PROJECT_DATABASE_PROD : ${{ secrets.GCP_PROJECT_DATABASE_PROD }}
10
7
PIPELINE_GOOGLE_SERVICE_ACCOUNT_CLOUD_FUNCTIONS : ${{ secrets.GCP_SERVICE_ACCOUNT_CLOUD_FUNCTIONS }}
11
8
PIPELINE_GOOGLE_SERVICE_ACCOUNT_API_GATEWAY : ${{ secrets.GCP_SERVICE_ACCOUNT_API_GATEWAY }}
12
9
@@ -15,18 +12,10 @@ jobs:
15
12
runs-on : ubuntu-latest
16
13
steps :
17
14
- uses : actions/checkout@v3
18
- - name : Set up Python 3.10
19
- uses : actions/setup-python@v3
20
- with :
21
- python-version : " 3.10"
22
- - name : Install dependencies
23
- run : |
24
- python -m pip install --upgrade pip
25
- python -m pip install pytest
26
- if [ -f requirements.txt ]; then python -m pip install -r requirements.txt; fi
27
- - name : Test with pytest
28
- run : |
29
- python -m pytest -W "ignore"
15
+ - run : |
16
+ cd src
17
+ npm ci
18
+ npm run test
30
19
31
20
deploy_development :
32
21
if : github.ref == 'refs/heads/development'
@@ -40,30 +29,29 @@ jobs:
40
29
- name : Google Cloud Auth
41
30
uses : ' google-github-actions/auth@v2'
42
31
with :
43
- project_id : ${{ env.PIPELINE_PROJECT_ID }}
32
+ project_id : ' httparchive '
44
33
credentials_json : ${{ env.PIPELINE_SA_KEY }}
45
34
46
35
- uses : hashicorp/setup-terraform@v3
47
-
36
+
48
37
- name : Terraform fmt
49
38
id : fmt
50
39
run : terraform fmt -check
51
40
continue-on-error : true
52
-
41
+
53
42
- name : Terraform Init
54
43
id : init
55
44
run : terraform init
56
-
45
+
57
46
- name : Terraform Validate
58
47
id : validate
59
48
run : terraform validate -no-color
60
-
49
+
61
50
- name : Terraform Plan
62
51
id : plan
63
52
run : |
64
53
terraform plan -no-color -var="google_service_account_cloud_functions=${{ env.PIPELINE_GOOGLE_SERVICE_ACCOUNT_CLOUD_FUNCTIONS }}" \
65
- -var="google_service_account_api_gateway=${{ env.PIPELINE_GOOGLE_SERVICE_ACCOUNT_API_GATEWAY }}" \
66
- -var="project_database=${{ env.PIPELINE_PROJECT_DATABASE_DEV }}"
54
+ -var="google_service_account_api_gateway=${{ env.PIPELINE_GOOGLE_SERVICE_ACCOUNT_API_GATEWAY }}"
67
55
continue-on-error : true
68
56
69
57
- name : Terraform Plan status
75
63
run : |
76
64
terraform apply -var="google_service_account_cloud_functions=${{ env.PIPELINE_GOOGLE_SERVICE_ACCOUNT_CLOUD_FUNCTIONS }}" \
77
65
-var="google_service_account_api_gateway=${{ env.PIPELINE_GOOGLE_SERVICE_ACCOUNT_API_GATEWAY }}" \
78
- -var="project_database=${{ env.PIPELINE_PROJECT_DATABASE_DEV }}" \
79
66
-auto-approve
80
-
67
+
81
68
deploy_production :
82
69
if : github.ref == 'refs/heads/main'
83
70
runs-on : ubuntu-latest
@@ -90,30 +77,29 @@ jobs:
90
77
- name : Google Cloud Auth
91
78
uses : ' google-github-actions/auth@v2'
92
79
with :
93
- project_id : ${{ env.PIPELINE_PROJECT_ID }}
80
+ project_id : ' httparchive '
94
81
credentials_json : ${{ env.PIPELINE_SA_KEY }}
95
82
96
83
- uses : hashicorp/setup-terraform@v3
97
-
84
+
98
85
- name : Terraform fmt
99
86
id : fmt
100
87
run : terraform fmt -check
101
88
continue-on-error : true
102
-
89
+
103
90
- name : Terraform Init
104
91
id : init
105
92
run : terraform init
106
-
93
+
107
94
- name : Terraform Validate
108
95
id : validate
109
96
run : terraform validate -no-color
110
-
97
+
111
98
- name : Terraform Plan
112
99
id : plan
113
100
run : |
114
101
terraform plan -no-color -var="google_service_account_cloud_functions=${{ env.PIPELINE_GOOGLE_SERVICE_ACCOUNT_CLOUD_FUNCTIONS }}" \
115
- -var="google_service_account_api_gateway=${{ env.PIPELINE_GOOGLE_SERVICE_ACCOUNT_API_GATEWAY }}" \
116
- -var="project_database=${{ env.PIPELINE_PROJECT_DATABASE_PROD }}"
102
+ -var="google_service_account_api_gateway=${{ env.PIPELINE_GOOGLE_SERVICE_ACCOUNT_API_GATEWAY }}"
117
103
continue-on-error : true
118
104
119
105
- name : Terraform Plan status
@@ -125,7 +111,5 @@ jobs:
125
111
run : |
126
112
terraform apply -var="google_service_account_cloud_functions=${{ env.PIPELINE_GOOGLE_SERVICE_ACCOUNT_CLOUD_FUNCTIONS }}" \
127
113
-var="google_service_account_api_gateway=${{ env.PIPELINE_GOOGLE_SERVICE_ACCOUNT_API_GATEWAY }}" \
128
- -var="project_database=${{ env.PIPELINE_PROJECT_DATABASE_PROD }}" \
129
114
-auto-approve
130
-
131
-
115
+
0 commit comments