From dc2a51aa35675e4556c1eb0594c106c2312c3530 Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Thu, 19 Dec 2024 15:17:28 -0800 Subject: [PATCH 01/23] testing pipeline --- .github/workflows/build-push-containers-all.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index e1832b4b2..2a34eac90 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -975,4 +975,16 @@ jobs: run: | ./scripts/movement/manifest helios + update-infra-container-tag: + name: Update Infra Container Tag + runs-on: ubuntu-latest + steps: + - name: Dispatch Workflow + uses: benc-uk/workflow-dispatch@v1 + with: + token: ${{ secrets.INFRA_GH_TOKEN }} + repo: movement-infra/cdktf-mvmt-networks + workflow: update-container-tag.yml + inputs: '{"environment":"devNet","containerTag":"${{ github.sha }}"}' + From e419a9675d1bc146be33a0225937a59b42a9fd56 Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Thu, 19 Dec 2024 15:19:26 -0800 Subject: [PATCH 02/23] more pipeline testing --- .github/workflows/build-push-containers-all.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 2a34eac90..2af30d57f 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -982,6 +982,7 @@ jobs: - name: Dispatch Workflow uses: benc-uk/workflow-dispatch@v1 with: + ref: main token: ${{ secrets.INFRA_GH_TOKEN }} repo: movement-infra/cdktf-mvmt-networks workflow: update-container-tag.yml From f98171f1e1116dc61392f861c0aae3276be3defa Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 08:23:36 -0800 Subject: [PATCH 03/23] testing out trigger pipeline --- .github/workflows/build-push-containers-all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 2af30d57f..77a468ad4 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -985,7 +985,7 @@ jobs: ref: main token: ${{ secrets.INFRA_GH_TOKEN }} repo: movement-infra/cdktf-mvmt-networks - workflow: update-container-tag.yml + workflow: environment-deploy.yml inputs: '{"environment":"devNet","containerTag":"${{ github.sha }}"}' From ae0cd023265d4a04aa8524d2a8c38f7c39b41c00 Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 08:54:10 -0800 Subject: [PATCH 04/23] testing ci linking --- .github/workflows/build-push-containers-all.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 77a468ad4..8e261fb78 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -975,11 +975,14 @@ jobs: run: | ./scripts/movement/manifest helios - update-infra-container-tag: - name: Update Infra Container Tag + deploy-to-devNet: + # if: github.event.label.name == 'cicd:movement-containers' || github.ref == 'refs/heads/main' + # needs: [container-checks] + name: Deploy to devNet runs-on: ubuntu-latest steps: - name: Dispatch Workflow + id: deploy uses: benc-uk/workflow-dispatch@v1 with: ref: main @@ -987,5 +990,7 @@ jobs: repo: movement-infra/cdktf-mvmt-networks workflow: environment-deploy.yml inputs: '{"environment":"devNet","containerTag":"${{ github.sha }}"}' + - name: Add link to summary + run: echo "${{ steps.deploy.outputs.workflow_url }}" From d608a02f1e58122c4e3b3c9bbf6816934809398b Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 09:10:49 -0800 Subject: [PATCH 05/23] debugging workflow link --- .../workflows/build-push-containers-all.yml | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 8e261fb78..82eecb022 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -990,7 +990,31 @@ jobs: repo: movement-infra/cdktf-mvmt-networks workflow: environment-deploy.yml inputs: '{"environment":"devNet","containerTag":"${{ github.sha }}"}' - - name: Add link to summary - run: echo "${{ steps.deploy.outputs.workflow_url }}" + - name: Retrieve workflow run ID of the deployment + env: + OWNER: movement-infra + REPO: cdktf-mvmt-networks + WORKFLOW_ID: ${{ steps.deploy.outputs.workflowId }} + BRANCH: main + id: get_run_id + run: | + # API URL to get the workflow runs + API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/workflows/${WORKFLOW_ID}/runs?branch=${BRANCH}&status=completed&per_page=1" + run_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ + -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ + "$API_URL") + run_id=$(echo "$run_data" | jq -r '.workflow_runs[0].id') + run_url=$(echo "$run_data" | jq -r '.workflow_runs[0].html_url') + + echo "Latest workflow run ID is: $run_id" + echo "Latest workflow run URL is: $run_url" + + # Setting the output for other steps in the same job + echo "run_id=$run_id" >> $GITHUB_OUTPUT + echo "run_url=$run_url" >> $GITHUB_OUTPUT + - name: Add the url to the job summary + run: | + echo "Deployment workflow run: ${{ steps.get_run_id.outputs.run_url }}" + From 8d38413cc21ba8aafabf66747d60aec8868ffdd0 Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 09:16:45 -0800 Subject: [PATCH 06/23] adding url to job sumarry --- .github/workflows/build-push-containers-all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 82eecb022..1d7b65657 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -1014,7 +1014,7 @@ jobs: echo "run_url=$run_url" >> $GITHUB_OUTPUT - name: Add the url to the job summary run: | - echo "Deployment workflow run: ${{ steps.get_run_id.outputs.run_url }}" + echo '### [Deployment Pipeline](${{ steps.get_run_id.outputs.run_url }})' >> $GITHUB_STEP_SUMMARY From 9005e52f0eaed94621e45ce06866830b9a0978d6 Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 09:51:19 -0800 Subject: [PATCH 07/23] testing messaging --- .../workflows/build-push-containers-all.yml | 52 ++++++++++++++++--- 1 file changed, 44 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 1d7b65657..b6a0a89a2 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -998,23 +998,59 @@ jobs: BRANCH: main id: get_run_id run: | - # API URL to get the workflow runs API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/workflows/${WORKFLOW_ID}/runs?branch=${BRANCH}&status=completed&per_page=1" run_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ "$API_URL") + run_name=$(echo "$run_data" | jq -r '.workflow_runs[0].name') + run_title=$(echo "$run_data" | jq -r '.workflow_runs[0].display_title') run_id=$(echo "$run_data" | jq -r '.workflow_runs[0].id') run_url=$(echo "$run_data" | jq -r '.workflow_runs[0].html_url') - echo "Latest workflow run ID is: $run_id" - echo "Latest workflow run URL is: $run_url" + echo "Workflow Run Info" + echo "NAME: $run_name" + echo "TITLE: $run_title" + echo "ID: $run_id" + echo "URL: $run_url" # Setting the output for other steps in the same job + echo "run_name=$run_name" >> $GITHUB_OUTPUT + echo "run_title=$run_title" >> $GITHUB_OUTPUT echo "run_id=$run_id" >> $GITHUB_OUTPUT echo "run_url=$run_url" >> $GITHUB_OUTPUT - - name: Add the url to the job summary + echo '### [$run_title]($run_url)' >> $GITHUB_STEP_SUMMARY + - name: Wait for the deployment to complete + id: wait run: | - echo '### [Deployment Pipeline](${{ steps.get_run_id.outputs.run_url }})' >> $GITHUB_STEP_SUMMARY - - - + API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${{ steps.get_run_id.outputs.run_id }}/jobs" + while true; do + job_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ + -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ + "$API_URL") + job_status=$(echo "$job_data" | jq -r '.jobs[0].status') + echo "Job Status: $job_status" + if [ "$job_status" = "completed" ]; then + break + fi + sleep 30 + done + - name: Get the deployment job status + id: get_job_status + run: | + API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${{ steps.get_run_id.outputs.run_id }}/jobs" + job_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ + -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ + "$API_URL") + status_code=$(echo "$job_data" | jq -r '.jobs[0].conclusion') + if [ "$status_code" = "success" ]; then + status_msg="✅ Deployment was successful" + + else + status_msg="❌ Deployment failed, please check workflow for errors." + # exit 1 + fi + echo "$status_code" + echo "$status_msg" + echo "status_code=$status_code" >> $GITHUB_OUTPUT + echo "status_msg=$status_msg" >> $GITHUB_OUTPUT + echo '### $status_msg' >> $GITHUB_STEP_SUMMARY From 8b0df69fb3f1f5f75bfc372bc4ffd057d103c0de Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 10:07:24 -0800 Subject: [PATCH 08/23] debugging messaging for pipeline --- .github/workflows/build-push-containers-all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index b6a0a89a2..c016df813 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -998,7 +998,7 @@ jobs: BRANCH: main id: get_run_id run: | - API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/workflows/${WORKFLOW_ID}/runs?branch=${BRANCH}&status=completed&per_page=1" + API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/workflows/${WORKFLOW_ID}/runs?branch=${BRANCH}&per_page=1" run_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ "$API_URL") From 46d7b6f96fa1a4354092ad05a032ad5d5b519395 Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 10:10:40 -0800 Subject: [PATCH 09/23] mroe workflow debugging --- .github/workflows/build-push-containers-all.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index c016df813..f3856058f 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -998,7 +998,8 @@ jobs: BRANCH: main id: get_run_id run: | - API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/workflows/${WORKFLOW_ID}/runs?branch=${BRANCH}&per_page=1" + sleep 10 + API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/workflows/${WORKFLOW_ID}/runs?branch=${BRANCH}&status=in_progress&per_page=1" run_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ "$API_URL") From bd686430c573873648a149a91c83aaa4579f2212 Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 10:30:21 -0800 Subject: [PATCH 10/23] even more testing --- .github/workflows/build-push-containers-all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index f3856058f..575a1a961 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -998,7 +998,7 @@ jobs: BRANCH: main id: get_run_id run: | - sleep 10 + sleep 30 API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/workflows/${WORKFLOW_ID}/runs?branch=${BRANCH}&status=in_progress&per_page=1" run_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ From 087c8e840d04961d1f5668dce64634d59d4ec53f Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 11:30:31 -0800 Subject: [PATCH 11/23] debugging workflow call messaging --- .github/workflows/build-push-containers-all.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 575a1a961..2abe4eaa5 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -1023,26 +1023,27 @@ jobs: - name: Wait for the deployment to complete id: wait run: | - API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${{ steps.get_run_id.outputs.run_id }}/jobs" + API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${{ steps.get_run_id.outputs.run_id }}" while true; do job_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ "$API_URL") - job_status=$(echo "$job_data" | jq -r '.jobs[0].status') - echo "Job Status: $job_status" + job_status=$(echo "$job_data" | jq -r '.status') + echo "Waiting for job to complete..." if [ "$job_status" = "completed" ]; then + echo "Job completed!" break fi - sleep 30 + sleep 10 done - name: Get the deployment job status id: get_job_status run: | - API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${{ steps.get_run_id.outputs.run_id }}/jobs" + API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${{ steps.get_run_id.outputs.run_id }}" job_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ "$API_URL") - status_code=$(echo "$job_data" | jq -r '.jobs[0].conclusion') + status_code=$(echo "$job_data" | jq -r '.conclusion') if [ "$status_code" = "success" ]; then status_msg="✅ Deployment was successful" From c937c13dbd80ae6761b50b03bb95031da819fb21 Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 11:35:55 -0800 Subject: [PATCH 12/23] debugging workflow call messaging --- .github/workflows/build-push-containers-all.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 2abe4eaa5..a99f152e2 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -1010,7 +1010,6 @@ jobs: echo "Workflow Run Info" echo "NAME: $run_name" - echo "TITLE: $run_title" echo "ID: $run_id" echo "URL: $run_url" @@ -1019,7 +1018,7 @@ jobs: echo "run_title=$run_title" >> $GITHUB_OUTPUT echo "run_id=$run_id" >> $GITHUB_OUTPUT echo "run_url=$run_url" >> $GITHUB_OUTPUT - echo '### [$run_title]($run_url)' >> $GITHUB_STEP_SUMMARY + echo '### [$run_name]($run_url)' >> $GITHUB_STEP_SUMMARY - name: Wait for the deployment to complete id: wait run: | @@ -1029,9 +1028,9 @@ jobs: -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ "$API_URL") job_status=$(echo "$job_data" | jq -r '.status') - echo "Waiting for job to complete..." + echo "Run $job_status..." if [ "$job_status" = "completed" ]; then - echo "Job completed!" + echo "Job $job_status with conclusion of $job_conclusion!" break fi sleep 10 From 11ce4665f2609c0917f6c44c10901d98f15566ae Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 12:15:24 -0800 Subject: [PATCH 13/23] debugging workflow call messaging --- .../workflows/build-push-containers-all.yml | 44 ++++++++----------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index a99f152e2..89f7e846b 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -1004,7 +1004,6 @@ jobs: -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ "$API_URL") run_name=$(echo "$run_data" | jq -r '.workflow_runs[0].name') - run_title=$(echo "$run_data" | jq -r '.workflow_runs[0].display_title') run_id=$(echo "$run_data" | jq -r '.workflow_runs[0].id') run_url=$(echo "$run_data" | jq -r '.workflow_runs[0].html_url') @@ -1015,43 +1014,38 @@ jobs: # Setting the output for other steps in the same job echo "run_name=$run_name" >> $GITHUB_OUTPUT - echo "run_title=$run_title" >> $GITHUB_OUTPUT echo "run_id=$run_id" >> $GITHUB_OUTPUT echo "run_url=$run_url" >> $GITHUB_OUTPUT echo '### [$run_name]($run_url)' >> $GITHUB_STEP_SUMMARY - name: Wait for the deployment to complete id: wait + env: + RUN_ID: ${{ steps.get_run_id.outputs.run_id }} + TOKEN: ${{ secrets.INFRA_GH_TOKEN }} run: | - API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${{ steps.get_run_id.outputs.run_id }}" + API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${run_id}" while true; do job_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ - -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ + -H "Authorization: token ${TOKEN}" \ "$API_URL") job_status=$(echo "$job_data" | jq -r '.status') echo "Run $job_status..." if [ "$job_status" = "completed" ]; then - echo "Job $job_status with conclusion of $job_conclusion!" + completion_code=$(echo "$job_data" | jq -r '.conclusion') + if [ "$completion_code" = "success" ]; then + completion_msg="✅ Deployment was successful" + else + completion_msg="❌ Deployment failed, please check workflow for errors." + # exit 1 + fi + echo "completion_code=$completion_code" >> $GITHUB_OUTPUT + echo "completion_msg=$completion_msg" >> $GITHUB_OUTPUT + echo '### $completion_msg' >> $GITHUB_STEP_SUMMARY + break + fi + if [ "$job_status" != "in_progress" ] || [ "$job_status" != "completed" ]; then + echo "Job failed with unknown status" break fi sleep 10 done - - name: Get the deployment job status - id: get_job_status - run: | - API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${{ steps.get_run_id.outputs.run_id }}" - job_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ - -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ - "$API_URL") - status_code=$(echo "$job_data" | jq -r '.conclusion') - if [ "$status_code" = "success" ]; then - status_msg="✅ Deployment was successful" - - else - status_msg="❌ Deployment failed, please check workflow for errors." - # exit 1 - fi - echo "$status_code" - echo "$status_msg" - echo "status_code=$status_code" >> $GITHUB_OUTPUT - echo "status_msg=$status_msg" >> $GITHUB_OUTPUT - echo '### $status_msg' >> $GITHUB_STEP_SUMMARY From a36cae52d4473fdb3e1b3e06f2f3d640175c8e06 Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 12:16:48 -0800 Subject: [PATCH 14/23] debugging workflow call messaging --- .github/workflows/build-push-containers-all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 89f7e846b..f7d685e20 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -1023,7 +1023,7 @@ jobs: RUN_ID: ${{ steps.get_run_id.outputs.run_id }} TOKEN: ${{ secrets.INFRA_GH_TOKEN }} run: | - API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${run_id}" + API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${RUN_ID}" while true; do job_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token ${TOKEN}" \ From ee2a31af985dd11c1f47924b0021af823e90ca76 Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 12:21:50 -0800 Subject: [PATCH 15/23] debugging workflow call messaging --- .github/workflows/build-push-containers-all.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index f7d685e20..1ff6a83bf 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -1020,10 +1020,12 @@ jobs: - name: Wait for the deployment to complete id: wait env: + OWNER: movement-infra + REPO: cdktf-mvmt-networks RUN_ID: ${{ steps.get_run_id.outputs.run_id }} TOKEN: ${{ secrets.INFRA_GH_TOKEN }} run: | - API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${RUN_ID}" + API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${run_id}" while true; do job_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token ${TOKEN}" \ From 52c254a4c0dfbd52d47138c152927f33b2204578 Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 12:23:03 -0800 Subject: [PATCH 16/23] more debugging workflow call messaging --- .github/workflows/build-push-containers-all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 1ff6a83bf..a5ff045a1 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -1025,7 +1025,7 @@ jobs: RUN_ID: ${{ steps.get_run_id.outputs.run_id }} TOKEN: ${{ secrets.INFRA_GH_TOKEN }} run: | - API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${run_id}" + API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${RUN_ID}" while true; do job_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token ${TOKEN}" \ From 0c89e4dd1e845f1a3e7ca23edcb03b9f1eab5fea Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 12:47:44 -0800 Subject: [PATCH 17/23] more debugging workflow call messaging --- .github/workflows/build-push-containers-all.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index a5ff045a1..1889e3cc4 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -998,8 +998,8 @@ jobs: BRANCH: main id: get_run_id run: | - sleep 30 API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/workflows/${WORKFLOW_ID}/runs?branch=${BRANCH}&status=in_progress&per_page=1" + sleep 15 run_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ "$API_URL") @@ -1031,7 +1031,6 @@ jobs: -H "Authorization: token ${TOKEN}" \ "$API_URL") job_status=$(echo "$job_data" | jq -r '.status') - echo "Run $job_status..." if [ "$job_status" = "completed" ]; then completion_code=$(echo "$job_data" | jq -r '.conclusion') if [ "$completion_code" = "success" ]; then @@ -1040,14 +1039,19 @@ jobs: completion_msg="❌ Deployment failed, please check workflow for errors." # exit 1 fi + echo "$completion_msg" echo "completion_code=$completion_code" >> $GITHUB_OUTPUT echo "completion_msg=$completion_msg" >> $GITHUB_OUTPUT echo '### $completion_msg' >> $GITHUB_STEP_SUMMARY break - fi - if [ "$job_status" != "in_progress" ] || [ "$job_status" != "completed" ]; then - echo "Job failed with unknown status" + elif [ "$job_status" = "queued" ]; then + echo "⚫ Job queued, waiting for it to start..." + break + elif [ "$job_status" != "completed" ] && [ "$job_status" != 'in_progress' ]; then + echo "❌ Job failed with unknown status" break + else + echo "⚪ Job is still running..." fi - sleep 10 + sleep 15 done From 5b830fd511dfb96c2e388d8c6103bb8068df1cf2 Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 12:51:46 -0800 Subject: [PATCH 18/23] more debugging workflow call messaging --- .github/workflows/build-push-containers-all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 1889e3cc4..520563af0 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -999,7 +999,7 @@ jobs: id: get_run_id run: | API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/workflows/${WORKFLOW_ID}/runs?branch=${BRANCH}&status=in_progress&per_page=1" - sleep 15 + sleep 30 run_data=$(curl -sSL -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token ${{ secrets.INFRA_GH_TOKEN }}" \ "$API_URL") From cf40d9b9597af9a23a3dfa0dd0164db7db7f1e06 Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 13:02:50 -0800 Subject: [PATCH 19/23] even more debugging workflow call messaging --- .github/workflows/build-push-containers-all.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 520563af0..59032f5ec 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -1014,9 +1014,9 @@ jobs: # Setting the output for other steps in the same job echo "run_name=$run_name" >> $GITHUB_OUTPUT - echo "run_id=$run_id" >> $GITHUB_OUTPUT + echo "run_id=${run_id}" >> $GITHUB_OUTPUT echo "run_url=$run_url" >> $GITHUB_OUTPUT - echo '### [$run_name]($run_url)' >> $GITHUB_STEP_SUMMARY + echo "### [${run_name}](${run_url})" >> $GITHUB_STEP_SUMMARY - name: Wait for the deployment to complete id: wait env: @@ -1039,10 +1039,10 @@ jobs: completion_msg="❌ Deployment failed, please check workflow for errors." # exit 1 fi - echo "$completion_msg" - echo "completion_code=$completion_code" >> $GITHUB_OUTPUT - echo "completion_msg=$completion_msg" >> $GITHUB_OUTPUT - echo '### $completion_msg' >> $GITHUB_STEP_SUMMARY + echo "${completion_msg}" + echo "completion_code=${completion_code}" >> $GITHUB_OUTPUT + echo "completion_msg=${completion_msg}" >> $GITHUB_OUTPUT + echo '### ${completion_msg}' >> $GITHUB_STEP_SUMMARY break elif [ "$job_status" = "queued" ]; then echo "⚫ Job queued, waiting for it to start..." From 9d09889b52177727932df8447a9a12f8e421f64f Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 13:08:28 -0800 Subject: [PATCH 20/23] fixed single quotes not interpolating vars --- .github/workflows/build-push-containers-all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 59032f5ec..6f510807c 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -1042,7 +1042,7 @@ jobs: echo "${completion_msg}" echo "completion_code=${completion_code}" >> $GITHUB_OUTPUT echo "completion_msg=${completion_msg}" >> $GITHUB_OUTPUT - echo '### ${completion_msg}' >> $GITHUB_STEP_SUMMARY + echo "### ${completion_msg}"" >> $GITHUB_STEP_SUMMARY break elif [ "$job_status" = "queued" ]; then echo "⚫ Job queued, waiting for it to start..." From 74ab0ee9445b5e8dcc8e9c15fe73b686e174675b Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 13:09:47 -0800 Subject: [PATCH 21/23] fixed syntax error --- .github/workflows/build-push-containers-all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 6f510807c..4c206eed9 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -1042,7 +1042,7 @@ jobs: echo "${completion_msg}" echo "completion_code=${completion_code}" >> $GITHUB_OUTPUT echo "completion_msg=${completion_msg}" >> $GITHUB_OUTPUT - echo "### ${completion_msg}"" >> $GITHUB_STEP_SUMMARY + echo "### ${completion_msg}" >> $GITHUB_STEP_SUMMARY break elif [ "$job_status" = "queued" ]; then echo "⚫ Job queued, waiting for it to start..." From 9d2a2cdbe394a435cdd45c053fe2eb7c5f13409c Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 13:20:46 -0800 Subject: [PATCH 22/23] cleanup --- .github/workflows/build-push-containers-all.yml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 4c206eed9..90a1f66cc 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -975,11 +975,15 @@ jobs: run: | ./scripts/movement/manifest helios - deploy-to-devNet: + deploy-trigger: # if: github.event.label.name == 'cicd:movement-containers' || github.ref == 'refs/heads/main' # needs: [container-checks] - name: Deploy to devNet + name: Trigger devNet deployment runs-on: ubuntu-latest + outputs: + run_id: ${{ steps.get_run_id.outputs.run_id }} + run_url: ${{ steps.get_run_id.outputs.run_url }} + run_name: ${{ steps.get_run_id.outputs.run_name }} steps: - name: Dispatch Workflow id: deploy @@ -1017,12 +1021,18 @@ jobs: echo "run_id=${run_id}" >> $GITHUB_OUTPUT echo "run_url=$run_url" >> $GITHUB_OUTPUT echo "### [${run_name}](${run_url})" >> $GITHUB_STEP_SUMMARY + deploy-status: + # if: github.event.label.name == 'cicd:movement-containers' || github.ref == 'refs/heads/main' + needs: [deploy-trigger] + name: Deployment Status + runs-on: ubuntu-latest + steps: - name: Wait for the deployment to complete id: wait env: OWNER: movement-infra REPO: cdktf-mvmt-networks - RUN_ID: ${{ steps.get_run_id.outputs.run_id }} + RUN_ID: ${{ needs.deploy-trigger.outputs.run_id }} TOKEN: ${{ secrets.INFRA_GH_TOKEN }} run: | API_URL="https://api.github.com/repos/${OWNER}/${REPO}/actions/runs/${RUN_ID}" From dc5dbdbc26014dfde4731e15ced84de3ada49ac8 Mon Sep 17 00:00:00 2001 From: Nicholas McMillen Date: Fri, 20 Dec 2024 13:27:33 -0800 Subject: [PATCH 23/23] more clean up --- .github/workflows/build-push-containers-all.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-push-containers-all.yml b/.github/workflows/build-push-containers-all.yml index 90a1f66cc..40f3b140a 100644 --- a/.github/workflows/build-push-containers-all.yml +++ b/.github/workflows/build-push-containers-all.yml @@ -976,8 +976,8 @@ jobs: ./scripts/movement/manifest helios deploy-trigger: - # if: github.event.label.name == 'cicd:movement-containers' || github.ref == 'refs/heads/main' - # needs: [container-checks] + if: github.event.label.name == 'cicd:movement-containers' || github.ref == 'refs/heads/main' + needs: [container-checks] name: Trigger devNet deployment runs-on: ubuntu-latest outputs: @@ -1021,10 +1021,10 @@ jobs: echo "run_id=${run_id}" >> $GITHUB_OUTPUT echo "run_url=$run_url" >> $GITHUB_OUTPUT echo "### [${run_name}](${run_url})" >> $GITHUB_STEP_SUMMARY - deploy-status: - # if: github.event.label.name == 'cicd:movement-containers' || github.ref == 'refs/heads/main' + deploy-check: + if: github.event.label.name == 'cicd:movement-containers' || github.ref == 'refs/heads/main' needs: [deploy-trigger] - name: Deployment Status + name: Deployment Check runs-on: ubuntu-latest steps: - name: Wait for the deployment to complete