@@ -35,19 +35,33 @@ jobs:
35
35
ANSIBLE_FORCE_COLOR : True
36
36
OS_CLOUD : openstack
37
37
TF_VAR_cluster_name : slurmci-${{ matrix.os_version }}-${{ github.run_number }}
38
- CI_CLOUD : ${{ vars.CI_CLOUD }}
38
+ CI_CLOUD : ${{ vars.CI_CLOUD }} # default from repo settings
39
39
steps :
40
40
- uses : actions/checkout@v2
41
41
42
+ - name : Override CI_CLOUD if PR label is present
43
+ if : ${{ github.event_name == 'pull_request' }}
44
+ run : |
45
+ # Iterate over the labels
46
+ labels=$(echo '${{ toJSON(github.event.pull_request.labels) }}' | jq -r '.[].name')
47
+ echo $labels
48
+ for label in $labels; do
49
+ if [[ $label == CI_CLOUD=* ]]; then
50
+ # Extract the value after 'CI_CLOUD='
51
+ CI_CLOUD_OVERRIDE=${label#CI_CLOUD=}
52
+ echo "CI_CLOUD=${CI_CLOUD_OVERRIDE}" >> $GITHUB_ENV
53
+ fi
54
+ done
55
+
42
56
- name : Record settings for CI cloud
43
57
run : |
44
- echo CI_CLOUD: ${{ vars .CI_CLOUD }}
58
+ echo CI_CLOUD: ${{ env .CI_CLOUD }}
45
59
46
60
- name : Setup ssh
47
61
run : |
48
62
set -x
49
63
mkdir ~/.ssh
50
- echo "${{ secrets[format('{0}_SSH_KEY', vars .CI_CLOUD)] }}" > ~/.ssh/id_rsa
64
+ echo "${{ secrets[format('{0}_SSH_KEY', env .CI_CLOUD)] }}" > ~/.ssh/id_rsa
51
65
chmod 0600 ~/.ssh/id_rsa
52
66
shell : bash
53
67
70
84
- name : Write clouds.yaml
71
85
run : |
72
86
mkdir -p ~/.config/openstack/
73
- echo "${{ secrets[format('{0}_CLOUDS_YAML', vars .CI_CLOUD)] }}" > ~/.config/openstack/clouds.yaml
87
+ echo "${{ secrets[format('{0}_CLOUDS_YAML', env .CI_CLOUD)] }}" > ~/.config/openstack/clouds.yaml
74
88
shell : bash
75
89
76
90
- name : Setup environment-specific inventory/terraform inputs
88
102
. venv/bin/activate
89
103
. environments/.stackhpc/activate
90
104
cd $APPLIANCES_ENVIRONMENT_ROOT/terraform
91
- terraform apply -auto-approve -var-file="${{ vars .CI_CLOUD }}.tfvars"
105
+ terraform apply -auto-approve -var-file="${{ env .CI_CLOUD }}.tfvars"
92
106
env :
93
107
TF_VAR_os_version : ${{ matrix.os_version }}
94
108
97
111
. venv/bin/activate
98
112
. environments/.stackhpc/activate
99
113
cd $APPLIANCES_ENVIRONMENT_ROOT/terraform
100
- terraform destroy -auto-approve -var-file="${{ vars .CI_CLOUD }}.tfvars"
114
+ terraform destroy -auto-approve -var-file="${{ env .CI_CLOUD }}.tfvars"
101
115
if : failure() && steps.provision_servers.outcome == 'failure'
102
116
env :
103
117
TF_VAR_os_version : ${{ matrix.os_version }}
@@ -197,7 +211,7 @@ jobs:
197
211
. venv/bin/activate
198
212
. environments/.stackhpc/activate
199
213
cd $APPLIANCES_ENVIRONMENT_ROOT/terraform
200
- terraform destroy -auto-approve -var-file="${{ vars .CI_CLOUD }}.tfvars"
214
+ terraform destroy -auto-approve -var-file="${{ env .CI_CLOUD }}.tfvars"
201
215
if : ${{ success() || cancelled() }}
202
216
env :
203
217
TF_VAR_os_version : ${{ matrix.os_version }}
0 commit comments