Deploy Prod #4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |