18
18
NODE_VERSION : 14
19
19
PYTHON2_VERSION : 2.7.18
20
20
PYTHON3_VERSION : 3.8.10
21
- VIRTUALENV_VERSION : 20.21 .1
21
+ VIRTUALENV_VERSION : 20.15 .1
22
22
GCLOUD_VERSION : 290.0.1
23
23
24
24
jobs :
25
25
26
26
test :
27
27
runs-on : ubuntu-20.04
28
+ container : python:2.7.18-buster
28
29
timeout-minutes : 30
29
30
env :
30
31
RS_PREFIX : ci_${{ github.sha }}_${{ github.run_id }}_${{ github.run_attempt }}_
@@ -44,14 +45,17 @@ jobs:
44
45
uses : actions/setup-node@v1
45
46
with :
46
47
node-version : ${{ env.NODE_VERSION }}
47
- - name : Setup python 2
48
- uses : actions/setup-python@v2
49
- with :
50
- python-version : ${{ env.PYTHON2_VERSION }}
51
- - name : Setup python 3
52
- uses : actions/setup-python@v2
53
- with :
54
- python-version : ${{ env.PYTHON3_VERSION }}
48
+ - name : Setup yarn
49
+ run : npm install -g yarn
50
+ - name : Install dependencies
51
+ run : |
52
+ apt-get update
53
+ apt-get -y install rsync zip unzip curl glibc-source groff less
54
+ - name : Install AWS CLI
55
+ run : |
56
+ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
57
+ unzip awscliv2.zip
58
+ ./aws/install
55
59
- name : Setup virtualenv
56
60
run : pip install virtualenv==${{ env.VIRTUALENV_VERSION }}
57
61
- name : Configure AWS Credentials
@@ -72,15 +76,36 @@ jobs:
72
76
if : github.ref_name == 'main'
73
77
needs : test
74
78
runs-on : ubuntu-20.04
79
+ container : python:2.7.18-buster
75
80
timeout-minutes : 20
81
+ strategy :
82
+ matrix :
83
+ include :
84
+ - host : RS_HOST_CD
85
+ database : RS_DATABASE_CD
86
+ user : RS_USER_CD
87
+ password : RS_PASSWORD_CD
88
+ bucket : RS_BUCKET_CD
89
+ region : RS_REGION_CD
90
+ aws_access_key_id : RS_AWS_ACCESS_KEY_ID_CD
91
+ aws_secret_access_key : RS_AWS_SECRET_ACCESS_KEY_CD
92
+ - host : RS_HOST_CI
93
+ database : RS_DATABASE_CI
94
+ user : RS_USER_CI
95
+ password : RS_PASSWORD_CI
96
+ bucket : RS_BUCKET_CI
97
+ region : RS_REGION_CI
98
+ aws_access_key_id : RS_AWS_ACCESS_KEY_ID_CI
99
+ aws_secret_access_key : RS_AWS_SECRET_ACCESS_KEY_CI
76
100
env :
77
- RS_HOST : ${{ secrets.RS_HOST_CD }}
78
- RS_DATABASE : ${{ secrets.RS_DATABASE_CD }}
79
- RS_USER : ${{ secrets.RS_USER_CD }}
80
- RS_PASSWORD : ${{ secrets.RS_PASSWORD_CD }}
81
- RS_BUCKET : ${{ secrets.RS_BUCKET_CD }}
82
- AWS_ACCESS_KEY_ID : ${{ secrets.RS_AWS_ACCESS_KEY_ID_CD }}
83
- AWS_SECRET_ACCESS_KEY : ${{ secrets.RS_AWS_SECRET_ACCESS_KEY_CD }}
101
+ RS_HOST : ${{ secrets[matrix.host] }}
102
+ RS_DATABASE : ${{ secrets[matrix.database] }}
103
+ RS_USER : ${{ secrets[matrix.user] }}
104
+ RS_PASSWORD : ${{ secrets[matrix.password] }}
105
+ RS_BUCKET : ${{ secrets[matrix.bucket] }}
106
+ RS_REGION : ${{ secrets[matrix.region] }}
107
+ AWS_ACCESS_KEY_ID : ${{ secrets[matrix.aws_access_key_id] }}
108
+ AWS_SECRET_ACCESS_KEY : ${{ secrets[matrix.aws_secret_access_key] }}
84
109
steps :
85
110
- name : Checkout repo
86
111
uses : actions/checkout@v2
@@ -90,22 +115,25 @@ jobs:
90
115
uses : actions/setup-node@v1
91
116
with :
92
117
node-version : ${{ env.NODE_VERSION }}
93
- - name : Setup python 2
94
- uses : actions/setup-python@v2
95
- with :
96
- python-version : ${{ env.PYTHON2_VERSION }}
97
- - name : Setup python 3
98
- uses : actions/setup-python@v2
99
- with :
100
- python-version : ${{ env.PYTHON3_VERSION }}
118
+ - name : Setup yarn
119
+ run : npm install -g yarn
120
+ - name : Install dependencies
121
+ run : |
122
+ apt-get update
123
+ apt-get -y install rsync zip unzip curl glibc-source groff less
124
+ - name : Install AWS CLI
125
+ run : |
126
+ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
127
+ unzip awscliv2.zip
128
+ ./aws/install
101
129
- name : Setup virtualenv
102
130
run : pip install virtualenv==${{ env.VIRTUALENV_VERSION }}
103
131
- name : Configure AWS Credentials
104
132
uses : aws-actions/configure-aws-credentials@v1
105
133
with :
106
- aws-access-key-id : ${{ secrets.RS_AWS_ACCESS_KEY_ID_CD }}
107
- aws-secret-access-key : ${{ secrets.RS_AWS_SECRET_ACCESS_KEY_CD }}
108
- aws-region : ${{ secrets.RS_REGION_CD }}
134
+ aws-access-key-id : ${{ env.AWS_ACCESS_KEY_ID }}
135
+ aws-secret-access-key : ${{ env.AWS_SECRET_ACCESS_KEY }}
136
+ aws-region : ${{ env.RS_REGION }}
109
137
- name : Run deploy
110
138
run : |
111
139
cd clouds/redshift
@@ -115,6 +143,7 @@ jobs:
115
143
if : github.ref_name == 'stable'
116
144
needs : test
117
145
runs-on : ubuntu-20.04
146
+ container : python:2.7.18-buster
118
147
timeout-minutes : 10
119
148
env :
120
149
PACKAGE_BUCKET : gs://carto-analytics-toolbox-core/redshift
@@ -126,12 +155,19 @@ jobs:
126
155
uses : actions/setup-node@v1
127
156
with :
128
157
node-version : ${{ env.NODE_VERSION }}
129
- - name : Setup python 2
130
- uses : actions/setup-python@v2
131
- with :
132
- python-version : ${{ env.PYTHON2_VERSION }}
158
+ - name : Setup yarn
159
+ run : npm install -g yarn
133
160
- name : Setup virtualenv
134
161
run : pip install virtualenv==${{ env.VIRTUALENV_VERSION }}
162
+ - name : Install dependencies
163
+ run : |
164
+ apt-get update
165
+ apt-get -y install rsync zip unzip curl glibc-source groff less
166
+ - name : Install AWS CLI
167
+ run : |
168
+ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
169
+ unzip awscliv2.zip
170
+ ./aws/install
135
171
- name : Auth google
136
172
uses : google-github-actions/auth@v0
137
173
with :
0 commit comments