Skip to content

Deploy Prod

Deploy Prod #9

Workflow file for this run

name: Deploy Prod
env:
MODULES_REGISTRY: ${{ vars.PROD_REGISTRY }}
MODULE_SOURCE_NAME: ${{ vars.PROD_MODULE_SOURCE_NAME }}
CI_COMMIT_REF_NAME: ${{ github.ref_name }}
MODULES_MODULE_NAME: ${{ vars.MODULE_NAME }}
RELEASE_CHANNEL: ${{ github.event.inputs.version }}
MODULES_REGISTRY_LOGIN: ${{ vars.PROD_MODULES_REGISTRY_LOGIN }}
MODULES_REGISTRY_PASSWORD: ${{ secrets.PROD_MODULES_REGISTRY_PASSWORD }}
MODULES_MODULE_TAG: ${{ github.event.inputs.tag }}
on:
workflow_dispatch:
inputs:
version:
description: "Select version"
type: choice
default: alpha
options:
- "alpha"
- "beta"
- "early-access"
- "stable"
- "rock-solid"
ce:
type: boolean
description: CE
ee:
type: boolean
description: EE
fe:
type: boolean
description: FE
tag:
description: "Tag of the module, example v1.21.1"
type: string
required: true
enableBuild:
type: boolean
default: true
description: 'Set to true if build is required'
jobs:
print-vars:
runs-on: ubuntu-latest
name: Print vars
steps:
- name: PRINT VARS
run: |
echo $MODULES_REGISTRY
echo $MODULE_SOURCE_NAME
echo $CI_COMMIT_REF_NAME
echo $MODULES_MODULE_NAME
echo $RELEASE_CHANNEL
echo $MODULES_MODULE_TAG
shell: bash
job-CE:
name: Edition CE
runs-on: ubuntu-latest
if: github.event.inputs.ce == 'true'
steps:
- run: echo "CE"
- name: SET VAR
run: |
echo "MODULES_MODULE_SOURCE=$MODULES_REGISTRY/$MODULE_SOURCE_NAME/ce/modules" >> "$GITHUB_ENV"
- name: ECHO VAR
run: |
echo $MODULES_MODULE_SOURCE
- uses: actions/checkout@v4
- uses: deckhouse/modules-actions/setup@v1
- if: ${{ github.event.inputs.enableBuild == 'true' }}
uses: deckhouse/modules-actions/build@v1
- name: Register the module if enableBuild
if: ${{ github.event.inputs.enableBuild == 'true' }}
run: |
echo "✨ Register the module ${MODULES_MODULE_NAME}"
crane append \
--oci-empty-base \
--new_layer "" \
--new_tag "${MODULES_MODULE_SOURCE}:${MODULES_MODULE_NAME}"
shell: bash
- name: Register the module
if: ${{ github.event.inputs.enableBuild == 'true' }}
run: |
echo "✨ Register the module ${MODULES_MODULE_NAME}"
crane append \
--oci-empty-base \
--new_layer "" \
--new_tag "${MODULES_MODULE_SOURCE}:${MODULES_MODULE_NAME}"
shell: bash
- uses: deckhouse/modules-actions/deploy@v1
job-EE:
name: Edition EE
runs-on: ubuntu-latest
if: github.event.inputs.ee == 'true'
steps:
- run: echo "EE"
- name: SET VAR
run: |
echo "MODULES_MODULE_SOURCE=$MODULES_REGISTRY/$MODULE_SOURCE_NAME/ee/modules" >> "$GITHUB_ENV"
- name: ECHO VAR
run: |
echo $MODULES_MODULE_SOURCE
- uses: actions/checkout@v4
- uses: deckhouse/modules-actions/setup@v1
- if: ${{ github.event.inputs.enableBuild == 'true' }}
uses: deckhouse/modules-actions/build@v1
- name: Register the module if enableBuild
if: ${{ github.event.inputs.enableBuild == 'true' }}
run: |
echo "✨ Register the module ${MODULES_MODULE_NAME}"
crane append \
--oci-empty-base \
--new_layer "" \
--new_tag "${MODULES_MODULE_SOURCE}:${MODULES_MODULE_NAME}"
shell: bash
- name: Register the module
if: ${{ github.event.inputs.enableBuild == 'true' }}
run: |
echo "✨ Register the module ${MODULES_MODULE_NAME}"
crane append \
--oci-empty-base \
--new_layer "" \
--new_tag "${MODULES_MODULE_SOURCE}:${MODULES_MODULE_NAME}"
shell: bash
- uses: deckhouse/modules-actions/deploy@v1
job-FE:
name: Edition FE
runs-on: ubuntu-latest
if: github.event.inputs.fe == 'true'
steps:
- run: echo "FE"
- name: SET VAR
run: |
echo "MODULES_MODULE_SOURCE=$MODULES_REGISTRY/$MODULE_SOURCE_NAME/fe/modules" >> "$GITHUB_ENV"
- name: ECHO VAR
run: |
echo $MODULES_MODULE_SOURCE
- name: Validation for tag
run: |
echo ${{ github.event.inputs.tag }} | grep -P '^v\d+\.\d+\.\d+'
shell: bash
- uses: actions/checkout@v4
- uses: deckhouse/modules-actions/setup@v1
- if: ${{ github.event.inputs.enableBuild == 'true' }}
uses: deckhouse/modules-actions/build@v1
- name: Register the module if enableBuild
if: ${{ github.event.inputs.enableBuild == 'true' }}
run: |
echo "✨ Register the module ${MODULES_MODULE_NAME}"
crane append \
--oci-empty-base \
--new_layer "" \
--new_tag "${MODULES_MODULE_SOURCE}:${MODULES_MODULE_NAME}"
shell: bash
- name: Register the module
if: ${{ github.event.inputs.enableBuild == 'true' }}
run: |
echo "✨ Register the module ${MODULES_MODULE_NAME}"
crane append \
--oci-empty-base \
--new_layer "" \
--new_tag "${MODULES_MODULE_SOURCE}:${MODULES_MODULE_NAME}"
shell: bash
- uses: deckhouse/modules-actions/deploy@v1