@@ -163,18 +163,35 @@ jobs:
163163 - name : Install tenv
164164 uses : cmsgov/cdap/actions/setup-tenv@8343fb96563ce4b74c4dececee9b268f42bd4a40
165165 - name : Init, Plan OpenTofu
166+ # FARGATE FIXUP: adding fargate vars to tf plan
167+ if : ${{ env.RELEASE_ENV == 'dev' }}
168+ working-directory : terraform/${{ env.RELEASE_ENV }}
169+ run : |
170+ IFS=":@" read -r -a STRS <<< ${{ env.DATABASE_URL }}
171+ export APP_DB_PW=${STRS[2]}
172+ tofu init
173+ tofu plan \
174+ -var 'env=${{ env.RELEASE_ENV }}' \
175+ -var 'ami_id=${{ env.BCDA_AMI }}' \
176+ -var 'worker_ami_id=${{ env.WORKER_AMI }}' \
177+ -var 'instance_type=${{ vars.INSTANCE_CLASS }}' \
178+ -var 'api_image_tag=${{ env.RELEASE_VERSION }}' \
179+ -var 'ssas_image_tag=${{ env.SSAS_RELEASE_VERSION }}' \
180+ -var 'worker_image_tag=${{ env.RELEASE_VERSION }}' \
181+ -out 'bcda-release-api-worker.tfplan'
182+ - name : Init, Plan OpenTofu
183+ # FARGATE FIXUP: adding fargate vars to tf plan
184+ if : ${{ env.RELEASE_ENV != 'dev' }}
166185 working-directory : terraform/${{ env.RELEASE_ENV }}
167186 run : |
168187 IFS=":@" read -r -a STRS <<< ${{ env.DATABASE_URL }}
169188 export APP_DB_PW=${STRS[2]}
170- touch bcda-release-api-worker-vars.tfvars
171189 tofu init
172190 tofu plan \
173191 -var 'env=${{ env.RELEASE_ENV }}' \
174192 -var 'ami_id=${{ env.BCDA_AMI }}' \
175193 -var 'worker_ami_id=${{ env.WORKER_AMI }}' \
176194 -var 'instance_type=${{ vars.INSTANCE_CLASS }}' \
177- -var-file=bcda-release-api-worker-vars.tfvars \
178195 -out 'bcda-release-api-worker.tfplan'
179196 - name : OpenTofu Apply
180197 working-directory : terraform/${{ env.RELEASE_ENV }}
@@ -186,6 +203,13 @@ jobs:
186203 aws autoscaling start-instance-refresh --region ${{ vars.AWS_REGION }} --auto-scaling-group-name ${ASG}
187204 export WORKER_ASG=`aws autoscaling describe-auto-scaling-groups --region ${{ vars.AWS_REGION }} --filters "Name=tag:Name,Values=bcda-${{ env.RELEASE_ENV }}-worker" --query 'AutoScalingGroups[0].AutoScalingGroupName' --output text`
188205 aws autoscaling start-instance-refresh --region ${{ vars.AWS_REGION }} --auto-scaling-group-name ${WORKER_ASG}
206+ - name : Refresh Deployments
207+ # FARGATE FIXUP:
208+ if : ${{ env.RELEASE_ENV == 'dev' }}
209+ run : |
210+ aws ecs update-service --cluster bcda-${{ env.RELEASE_ENV }} --service bcda-${{ env.RELEASE_ENV }}-api --force-new-deployment
211+ aws ecs update-service --cluster bcda-${{ env.RELEASE_ENV }} --service bcda-${{ env.RELEASE_ENV }}-ssas --force-new-deployment
212+ aws ecs update-service --cluster bcda-${{ env.RELEASE_ENV }} --service bcda-${{ env.RELEASE_ENV }}-worker --force-new-deployment
189213 - name : Upload notify script
190214 uses : actions/upload-artifact@v4
191215 with :
@@ -256,7 +280,7 @@ jobs:
256280 export IMAGE_ID=`aws ec2 describe-instances --region ${{ vars.AWS_REGION }} --filters 'Name=tag:Name,Values=bcda-${{ env.RELEASE_ENV }}-worker' 'Name=instance-state-name,Values=running' --query 'Reservations[0].Instances[*][LaunchTime,ImageId] | reverse(sort_by(@,&[0])) | [0][1]' --output text`
257281 # Was unable to escape the backticks (`), creating this function seems to get around that
258282 get_image_version () {
259- aws ec2 describe-images --region us-east-1 --image-ids ${IMAGE_ID} --query 'Images[0].Tags[?Key==`version`].Value' --output text
283+ aws ec2 describe-images --region ${{ vars.AWS_REGION }} --image-ids ${IMAGE_ID} --query 'Images[0].Tags[?Key==`version`].Value' --output text
260284 }
261285 export BCDA_WORKER_VERSION=`get_image_version`
262286
@@ -272,6 +296,36 @@ jobs:
272296 break
273297 fi
274298 done
299+
300+ # # FARGATE FIXUP:
301+ # This needs the 'image_tag' tag to be added to each service before this will work
302+ # verify_worker_version:
303+ # needs: [deploy]
304+ # runs-on: codebuild-bcda-app-${{github.run_id}}-${{github.run_attempt}}
305+ # environment: ${{ inputs.env != '0' && inputs.env || 'dev' }}
306+ # steps:
307+ # - uses: aws-actions/configure-aws-credentials@v4
308+ # with:
309+ # aws-region: ${{ vars.AWS_REGION }}
310+ # role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/delegatedadmin/developer/${{ vars.AWS_ROLE_TO_ASSUME }}
311+ # - run: |
312+ # TRY=1
313+
314+ # until [ $TRY -gt $VERIFICATION_RETRIES ]; do
315+ # WORKER_VERSION=`aws ecs --resource-arn list-tags-for-resource arn:aws:ecs:${{ vars.AWS_REGION }}:${{ secrets.AWS_ACCOUNT_ID }}:service/bcda-${{ env.RELEASE_ENV }}/bcda-${{ env.RELEASE_ENV }}-api --query "tags[?key=='image_tag'].value | [0]" --output text`
316+
317+ # if [[ $WORKER_VERSION != ${{ env.RELEASE_VERSION }} ]]; then
318+ # echo "BCDA Worker expected release version: ${{ env.RELEASE_VERSION }} did not match AWS version: ${WORKER_VERSION}."
319+ # TRY=$(($TRY + 1))
320+ # if [ $TRY -gt $VERIFICATION_RETRIES ]; then
321+ # exit 1
322+ # else
323+ # sleep $VERIFICATION_SLEEP
324+ # fi
325+ # else
326+ # break
327+ # fi
328+ # done
275329
276330 smoketests :
277331 needs : [migrate_db, migrate_ssas_db, deploy, verify_api_version, verify_ssas_version, verify_worker_version]
0 commit comments