Skip to content

Commit 0bcfdcb

Browse files
refactor(ci): 'Deploy Prod' can run from main for build specific tag
Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
1 parent 4aed800 commit 0bcfdcb

File tree

2 files changed

+80
-23
lines changed

2 files changed

+80
-23
lines changed

.github/workflows/release_module_release-channels.yml

Lines changed: 46 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,34 @@ jobs:
6464
steps:
6565
- name: PRINT VARS
6666
run: |
67-
echo $MODULES_REGISTRY
68-
echo $MODULE_SOURCE_NAME
69-
echo $CI_COMMIT_REF_NAME
70-
echo $MODULES_MODULE_NAME
71-
echo $RELEASE_CHANNEL
72-
echo $MODULES_MODULE_TAG
67+
echo MODULES_REGISTRY=$MODULES_REGISTRY
68+
echo MODULES_MODULE_SOURCE=$MODULES_MODULE_SOURCE
69+
echo CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME
70+
echo MODULES_MODULE_NAME=$MODULES_MODULE_NAME
71+
echo RELEASE_CHANNEL=$RELEASE_CHANNEL
72+
echo MODULE_EDITION=$MODULE_EDITION
73+
echo DOCKER_CONFIG=$DOCKER_CONFIG
74+
shell: bash
75+
76+
- name: Check that input tag is valid
77+
id: get-tag
78+
run: |
79+
TAG="${{ github.event.inputs.tag }}"
80+
echo "Processing tag: $TAG"
81+
82+
# Check if tag matches vX.Y.Z pattern (release)
83+
if echo "$TAG" | grep -P '^v\d+\.\d+\.\d+$' > /dev/null; then
84+
echo "$TAG is a valid release tag"
85+
else
86+
echo "Error: Invalid tag format. Use format vX.Y.Z"
87+
exit 1
88+
fi
7389
shell: bash
7490

7591
job-CE:
7692
name: Edition CE
7793
runs-on: [self-hosted, large]
94+
needs: print-vars
7895
if: github.event.inputs.ce == 'true'
7996
steps:
8097
- name: Setup Docker config
@@ -95,6 +112,7 @@ jobs:
95112
- uses: actions/checkout@v4
96113
with:
97114
fetch-depth: 0
115+
ref: ${{ github.event.inputs.tag }}
98116

99117
- name: Login to PROD_REGISTRY
100118
uses: deckhouse/modules-actions/setup@v2
@@ -119,19 +137,21 @@ jobs:
119137
source_repo_ssh_key: ${{ secrets.SOURCE_REPO_SSH_KEY }}
120138
secondary_repo: "${{ vars.DEV_MODULE_SOURCE }}/${{ vars.MODULE_NAME }}"
121139

122-
- name: Cleanup Docker config
123-
run: |
124-
rm -rf $DOCKER_CONFIG
125-
140+
126141
- uses: deckhouse/modules-actions/deploy@v2
127142
with:
128143
module_source: ${{ steps.set_vars.outputs.MODULES_MODULE_SOURCE }}
129144
module_name: ${{ vars.MODULE_NAME }}
130145
module_tag: ${{ github.event.inputs.tag }}
131146
release_channel: ${{ github.event.inputs.version }}
132-
147+
148+
- name: Cleanup Docker config
149+
run: |
150+
rm -rf $DOCKER_CONFIG
151+
133152
job-EE:
134153
name: Edition EE
154+
needs: print-vars
135155
runs-on: [self-hosted, large]
136156
if: github.event.inputs.ee == 'true'
137157
steps:
@@ -153,6 +173,7 @@ jobs:
153173
- uses: actions/checkout@v4
154174
with:
155175
fetch-depth: 0
176+
ref: ${{ github.event.inputs.tag }}
156177

157178
- uses: deckhouse/modules-actions/setup@v2
158179
with:
@@ -183,17 +204,17 @@ jobs:
183204
source_repo_ssh_key: ${{ secrets.SOURCE_REPO_SSH_KEY }}
184205
secondary_repo: "${{ vars.DEV_MODULE_SOURCE }}/${{ vars.MODULE_NAME }}"
185206

186-
- name: Cleanup Docker config
187-
run: |
188-
rm -rf $DOCKER_CONFIG
189-
190207
- uses: deckhouse/modules-actions/deploy@v2
191208
with:
192209
module_source: ${{ steps.set_vars.outputs.MODULES_MODULE_SOURCE }}
193210
module_name: ${{ vars.MODULE_NAME }}
194211
module_tag: ${{ github.event.inputs.tag }}
195212
release_channel: ${{ github.event.inputs.version }}
196213

214+
- name: Cleanup Docker config
215+
run: |
216+
rm -rf $DOCKER_CONFIG
217+
197218
job-SE-Plus:
198219
name: Edition SE Plus
199220
needs: job-EE
@@ -217,6 +238,7 @@ jobs:
217238
- uses: actions/checkout@v4
218239
with:
219240
fetch-depth: 0
241+
ref: ${{ github.event.inputs.tag }}
220242

221243
- name: Login to PROD_REGISTRY
222244
uses: deckhouse/modules-actions/setup@v2
@@ -241,16 +263,16 @@ jobs:
241263
source_repo_ssh_key: ${{ secrets.SOURCE_REPO_SSH_KEY }}
242264
secondary_repo: "${{ vars.DEV_MODULE_SOURCE }}/${{ vars.MODULE_NAME }}"
243265

244-
- name: Cleanup Docker config
245-
run: |
246-
rm -rf $DOCKER_CONFIG
247-
248266
- uses: deckhouse/modules-actions/deploy@v2
249267
with:
250268
module_source: ${{ steps.set_vars.outputs.MODULES_MODULE_SOURCE }}
251269
module_name: ${{ vars.MODULE_NAME }}
252270
module_tag: ${{ github.event.inputs.tag }}
253271
release_channel: ${{ github.event.inputs.version }}
272+
273+
- name: Cleanup Docker config
274+
run: |
275+
rm -rf $DOCKER_CONFIG
254276
255277
job-FE:
256278
name: Edition FE
@@ -279,6 +301,7 @@ jobs:
279301
- uses: actions/checkout@v4
280302
with:
281303
fetch-depth: 0
304+
ref: ${{ github.event.inputs.tag }}
282305

283306
- name: Login to PROD_REGISTRY
284307
uses: deckhouse/modules-actions/setup@v2
@@ -303,13 +326,13 @@ jobs:
303326
source_repo_ssh_key: ${{ secrets.SOURCE_REPO_SSH_KEY }}
304327
secondary_repo: "${{ vars.DEV_MODULE_SOURCE }}/${{ vars.MODULE_NAME }}"
305328

306-
- name: Cleanup Docker config
307-
run: |
308-
rm -rf $DOCKER_CONFIG
309-
310329
- uses: deckhouse/modules-actions/deploy@v2
311330
with:
312331
module_source: ${{ steps.set_vars.outputs.MODULES_MODULE_SOURCE }}
313332
module_name: ${{ vars.MODULE_NAME }}
314333
module_tag: ${{ github.event.inputs.tag }}
315334
release_channel: ${{ github.event.inputs.version }}
335+
336+
- name: Cleanup Docker config
337+
run: |
338+
rm -rf $DOCKER_CONFIG

test/dvp-over-dvp/values.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# storageClass: ceph-pool-r2-csi-rbd-immediate
2+
# storageClass: linstor-thin-r1-wffc
3+
namespace: tst-dhctl
4+
clusterConfigurationPrefix: tst-dhctl
5+
deckhouse:
6+
tag: main
7+
kubernetesVersion: Automatic
8+
registryDockerCfg: eyJhdXRocyI6eyJkZXYtcmVnaXN0cnkuZGVja2hvdXNlLmlvIjp7ImF1dGgiOiJiR2xqWlc1elpTMTBiMnRsYmpwMGJXTk9PVmMwVERoa1psSTBiMGRaWlRnM1luRmthMHRtVVhWYWMyTlFZdz09In19fQ==
9+
virtualization:
10+
tag: main #pr1260
11+
image:
12+
url: https://89d64382-20df-4581-8cc7-80df331f67fa.selstorage.ru/ubuntu/noble-server-cloudimg-amd64.img
13+
defaultUser: ubuntu
14+
bootloader: BIOS
15+
ingressHosts:
16+
- api
17+
- grafana
18+
- dex
19+
- prometheus
20+
- console
21+
- virtualization
22+
instances:
23+
masterNodes:
24+
count: 1
25+
cores: 4
26+
coreFraction: 50%
27+
memory: 14Gi
28+
additionalNodes:
29+
- name: worker
30+
count: 3
31+
cores: 4
32+
coreFraction: 25%
33+
memory: 8Gi
34+
nodeType: CloudEphemeral # CloudPermanent

0 commit comments

Comments
 (0)