5050 description : terraform-kayobe-multinode version
5151 type : string
5252 default : main
53+ terraform_kayobe_multinode_previous_version :
54+ description : terraform-kayobe-multinode previous version
55+ type : string
5356 upgrade :
5457 # Supported values: 'none', 'minor', 'major'
5558 description : Whether to perform an upgrade
@@ -95,12 +98,18 @@ jobs:
9598 KAYOBE_ENVIRONMENT : ci-multinode
9699 KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD_CI_MULTINODE }}
97100 steps :
98- - name : Fail if previous version is not defined
101+ - name : Fail if stackhpc-kayobe-config previous version is not defined
99102 run : |
100103 echo "StackHPC Kayobe Configuration previous version must be defined for upgrades"
101104 exit 1
102105 if : ${{ (inputs.upgrade != 'none') && inputs.stackhpc_kayobe_config_previous_version == '' }}
103106
107+ - name : Fail if terraform-kayobe-multinode previous version is not defined
108+ run : |
109+ echo "StackHPC Kayobe Configuration previous version must be defined for upgrades"
110+ exit 1
111+ if : ${{ (inputs.upgrade == 'major') && inputs.terraform_kayobe_multinode_previous_version == '' }}
112+
104113 - name : Fail if no SSH key is provided for break_on
105114 run : |
106115 echo "break_on is set to ${{ inputs.break_on }} but an SSH public key has not been provided"
@@ -119,11 +128,11 @@ jobs:
119128 repository : stackhpc/stackhpc-kayobe-config
120129 ref : ${{ (inputs.upgrade != 'none') && inputs.stackhpc_kayobe_config_previous_version || inputs.stackhpc_kayobe_config_version }}
121130
122- - name : Checkout terraform-kayobe-multinode
131+ - name : Checkout ${{ (inputs.upgrade == 'major') && 'previous release' || 'current' }} terraform-kayobe-multinode
123132 uses : actions/checkout@v4
124133 with :
125134 repository : stackhpc/terraform-kayobe-multinode
126- ref : ${{ inputs.terraform_kayobe_multinode_version }}
135+ ref : ${{ (inputs.upgrade == 'major') && inputs.terraform_kayobe_multinode_previous_version || inputs.terraform_kayobe_multinode_version }}
127136 path : terraform-kayobe-multinode
128137
129138 - name : Make sure dockerd is running and test Docker
@@ -337,6 +346,14 @@ jobs:
337346 working-directory : ${{ github.workspace }}/terraform-kayobe-multinode
338347 if : inputs.upgrade == 'major'
339348
349+ - name : Checkout current terraform-kayobe-multinode
350+ uses : actions/checkout@v4
351+ with :
352+ repository : stackhpc/terraform-kayobe-multinode
353+ ref : ${{ inputs.terraform_kayobe_multinode_version }}
354+ path : terraform-kayobe-multinode
355+ if : inputs.upgrade == 'major'
356+
340357 - name : Upgrade Ansible control host
341358 run : |
342359 source venv/bin/activate &&
0 commit comments