From 1ef0039fba482841b31a9e5994d594500a42ca49 Mon Sep 17 00:00:00 2001 From: Huiwen Date: Wed, 6 Nov 2024 15:37:51 +0000 Subject: [PATCH 1/7] [gha] prevent slack notifications for skipped JetBrains nightly builds --- .../workflows/jetbrains-auto-update-template.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/jetbrains-auto-update-template.yml b/.github/workflows/jetbrains-auto-update-template.yml index 05511405c09999..feae5d7ebec163 100644 --- a/.github/workflows/jetbrains-auto-update-template.yml +++ b/.github/workflows/jetbrains-auto-update-template.yml @@ -49,19 +49,27 @@ jobs: cat /tmp/__gh_output.txt >> $GITHUB_OUTPUT fi - name: Leeway build + id: leeway-build if: ${{ steps.find-target.outputs.buildNumber }} env: LEEWAY_MAX_PROVENANCE_BUNDLE_SIZE: "8388608" LEEWAY_REMOTE_CACHE_BUCKET: ${{ github.ref == 'refs/heads/main' && 'leeway-cache-main-c514a01' || 'leeway-cache-dev-3ac8ef5' }} run: | imageRepoBase=${{ github.ref == 'refs/heads/main' && 'eu.gcr.io/gitpod-core-dev/build' || 'eu.gcr.io/gitpod-dev-artifact/build' }} - echo "Upgrade latest ${{ inputs.productId }} image with ${{ steps.find-target.outputs.editorSummary }}" >> $GITHUB_STEP_SUMMARY - leeway build -Dversion=latest -DimageRepoBase=$imageRepoBase -DbuildNumber=${{ steps.find-target.outputs.buildNumber }} components/ide/jetbrains/image:${{ steps.find-target.outputs.image }}-latest -DjbBackendVersion=${{ steps.find-target.outputs.jbBackendVersion }} + leewayUsingCache=$(leeway build -Dversion=latest -DimageRepoBase=$imageRepoBase -DbuildNumber=${{ steps.find-target.outputs.buildNumber }} components/ide/jetbrains/image:${{ steps.find-target.outputs.image }}-latest -DjbBackendVersion=${{ steps.find-target.outputs.jbBackendVersion }} --dry-run --dump-plan - 2>&1 >/dev/null | jq -r .[0]==null) + echo "leewayUsingCache=$leewayUsingCache" >> $GITHUB_OUTPUT + + if [[ "$result" != "true" ]]; then + echo "Upgrade latest ${{ inputs.productId }} image with ${{ steps.find-target.outputs.editorSummary }}" >> $GITHUB_STEP_SUMMARY + leeway build -Dversion=latest -DimageRepoBase=$imageRepoBase -DbuildNumber=${{ steps.find-target.outputs.buildNumber }} components/ide/jetbrains/image:${{ steps.find-target.outputs.image }}-latest -DjbBackendVersion=${{ steps.find-target.outputs.jbBackendVersion }} + else + echo "Using leeway cache" + fi - name: Get previous job's status id: lastrun uses: filiptronicek/get-last-job-status@main - name: Slack Notification - if: ${{ (success() && steps.find-target.outputs.buildNumber) || failure() }} + if: ${{ (success() && steps.find-target.outputs.buildNumber && steps.leeway-build.outputs.leewayUsingCache != 'true') || failure() }} uses: rtCamp/action-slack-notify@v2 env: SLACK_WEBHOOK: ${{ secrets.IDE_SLACK_WEBHOOK }} From 2d9ef4a94881a690c726d4fdf9396f63ee7cff5f Mon Sep 17 00:00:00 2001 From: Huiwen Date: Wed, 6 Nov 2024 15:46:25 +0000 Subject: [PATCH 2/7] fixup --- .github/workflows/jetbrains-auto-update-template.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/jetbrains-auto-update-template.yml b/.github/workflows/jetbrains-auto-update-template.yml index feae5d7ebec163..1f837e2cd2c0b2 100644 --- a/.github/workflows/jetbrains-auto-update-template.yml +++ b/.github/workflows/jetbrains-auto-update-template.yml @@ -59,7 +59,7 @@ jobs: leewayUsingCache=$(leeway build -Dversion=latest -DimageRepoBase=$imageRepoBase -DbuildNumber=${{ steps.find-target.outputs.buildNumber }} components/ide/jetbrains/image:${{ steps.find-target.outputs.image }}-latest -DjbBackendVersion=${{ steps.find-target.outputs.jbBackendVersion }} --dry-run --dump-plan - 2>&1 >/dev/null | jq -r .[0]==null) echo "leewayUsingCache=$leewayUsingCache" >> $GITHUB_OUTPUT - if [[ "$result" != "true" ]]; then + if [[ "$leewayUsingCache" != "true" ]]; then echo "Upgrade latest ${{ inputs.productId }} image with ${{ steps.find-target.outputs.editorSummary }}" >> $GITHUB_STEP_SUMMARY leeway build -Dversion=latest -DimageRepoBase=$imageRepoBase -DbuildNumber=${{ steps.find-target.outputs.buildNumber }} components/ide/jetbrains/image:${{ steps.find-target.outputs.image }}-latest -DjbBackendVersion=${{ steps.find-target.outputs.jbBackendVersion }} else @@ -69,7 +69,7 @@ jobs: id: lastrun uses: filiptronicek/get-last-job-status@main - name: Slack Notification - if: ${{ (success() && steps.find-target.outputs.buildNumber && steps.leeway-build.outputs.leewayUsingCache != 'true') || failure() }} + if: ${{ (success() && steps.find-target.outputs.buildNumber && steps.leeway-build.outputs.leewayUsingCache == 'false') || failure() }} uses: rtCamp/action-slack-notify@v2 env: SLACK_WEBHOOK: ${{ secrets.IDE_SLACK_WEBHOOK }} From c93d580090a05ed69346f03f1d661f2418198481 Mon Sep 17 00:00:00 2001 From: Huiwen Date: Wed, 6 Nov 2024 15:51:54 +0000 Subject: [PATCH 3/7] fixup --- .../jetbrains-auto-update-template.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/jetbrains-auto-update-template.yml b/.github/workflows/jetbrains-auto-update-template.yml index 1f837e2cd2c0b2..7129813cfa41ca 100644 --- a/.github/workflows/jetbrains-auto-update-template.yml +++ b/.github/workflows/jetbrains-auto-update-template.yml @@ -68,14 +68,18 @@ jobs: - name: Get previous job's status id: lastrun uses: filiptronicek/get-last-job-status@main - - name: Slack Notification + - name: Mock Slack Notification if: ${{ (success() && steps.find-target.outputs.buildNumber && steps.leeway-build.outputs.leewayUsingCache == 'false') || failure() }} - uses: rtCamp/action-slack-notify@v2 - env: - SLACK_WEBHOOK: ${{ secrets.IDE_SLACK_WEBHOOK }} - SLACK_COLOR: ${{ job.status }} - SLACK_TITLE: Upgrade latest ${{ inputs.productId }} image with ${{ steps.find-target.outputs.editorSummary }} - SLACK_FOOTER: "" + run: | + echo "hey, you need to find out problems if you saw this message" + # - name: Slack Notification + # if: ${{ (success() && steps.find-target.outputs.buildNumber && steps.leeway-build.outputs.leewayUsingCache == 'false') || failure() }} + # uses: rtCamp/action-slack-notify@v2 + # env: + # SLACK_WEBHOOK: ${{ secrets.IDE_SLACK_WEBHOOK }} + # SLACK_COLOR: ${{ job.status }} + # SLACK_TITLE: Upgrade latest ${{ inputs.productId }} image with ${{ steps.find-target.outputs.editorSummary }} + # SLACK_FOOTER: "" delete-runner: if: always() From 756e34250ccbca42b87ee55d65e7608c5545acc4 Mon Sep 17 00:00:00 2001 From: Huiwen Date: Wed, 6 Nov 2024 15:52:49 +0000 Subject: [PATCH 4/7] fixup --- .github/workflows/jetbrains-auto-update-template.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/jetbrains-auto-update-template.yml b/.github/workflows/jetbrains-auto-update-template.yml index 7129813cfa41ca..e5a455254919fc 100644 --- a/.github/workflows/jetbrains-auto-update-template.yml +++ b/.github/workflows/jetbrains-auto-update-template.yml @@ -59,7 +59,7 @@ jobs: leewayUsingCache=$(leeway build -Dversion=latest -DimageRepoBase=$imageRepoBase -DbuildNumber=${{ steps.find-target.outputs.buildNumber }} components/ide/jetbrains/image:${{ steps.find-target.outputs.image }}-latest -DjbBackendVersion=${{ steps.find-target.outputs.jbBackendVersion }} --dry-run --dump-plan - 2>&1 >/dev/null | jq -r .[0]==null) echo "leewayUsingCache=$leewayUsingCache" >> $GITHUB_OUTPUT - if [[ "$leewayUsingCache" != "true" ]]; then + if [ "$leewayUsingCache" != "true" ]; then echo "Upgrade latest ${{ inputs.productId }} image with ${{ steps.find-target.outputs.editorSummary }}" >> $GITHUB_STEP_SUMMARY leeway build -Dversion=latest -DimageRepoBase=$imageRepoBase -DbuildNumber=${{ steps.find-target.outputs.buildNumber }} components/ide/jetbrains/image:${{ steps.find-target.outputs.image }}-latest -DjbBackendVersion=${{ steps.find-target.outputs.jbBackendVersion }} else From 855406f5eab5e0af992625a1c63f70360dd58531 Mon Sep 17 00:00:00 2001 From: Huiwen Date: Wed, 6 Nov 2024 16:23:55 +0000 Subject: [PATCH 5/7] Use grep instead --- .github/workflows/jetbrains-auto-update-template.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/jetbrains-auto-update-template.yml b/.github/workflows/jetbrains-auto-update-template.yml index e5a455254919fc..c1975f2d8cd27c 100644 --- a/.github/workflows/jetbrains-auto-update-template.yml +++ b/.github/workflows/jetbrains-auto-update-template.yml @@ -56,14 +56,15 @@ jobs: LEEWAY_REMOTE_CACHE_BUCKET: ${{ github.ref == 'refs/heads/main' && 'leeway-cache-main-c514a01' || 'leeway-cache-dev-3ac8ef5' }} run: | imageRepoBase=${{ github.ref == 'refs/heads/main' && 'eu.gcr.io/gitpod-core-dev/build' || 'eu.gcr.io/gitpod-dev-artifact/build' }} - leewayUsingCache=$(leeway build -Dversion=latest -DimageRepoBase=$imageRepoBase -DbuildNumber=${{ steps.find-target.outputs.buildNumber }} components/ide/jetbrains/image:${{ steps.find-target.outputs.image }}-latest -DjbBackendVersion=${{ steps.find-target.outputs.jbBackendVersion }} --dry-run --dump-plan - 2>&1 >/dev/null | jq -r .[0]==null) - echo "leewayUsingCache=$leewayUsingCache" >> $GITHUB_OUTPUT - - if [ "$leewayUsingCache" != "true" ]; then + output=$(leeway build -Dversion=latest -DimageRepoBase=$imageRepoBase -DbuildNumber=${{ steps.find-target.outputs.buildNumber }} components/ide/jetbrains/image:${{ steps.find-target.outputs.image }}-latest -DjbBackendVersion=${{ steps.find-target.outputs.jbBackendVersion }} --dry-run) + if echo "$output" | grep -q "🔧[[:space:]]*build"; then + echo "leewayUsingCache=false" >> $GITHUB_OUTPUT + echo "Needs to build" echo "Upgrade latest ${{ inputs.productId }} image with ${{ steps.find-target.outputs.editorSummary }}" >> $GITHUB_STEP_SUMMARY leeway build -Dversion=latest -DimageRepoBase=$imageRepoBase -DbuildNumber=${{ steps.find-target.outputs.buildNumber }} components/ide/jetbrains/image:${{ steps.find-target.outputs.image }}-latest -DjbBackendVersion=${{ steps.find-target.outputs.jbBackendVersion }} else - echo "Using leeway cache" + echo "leewayUsingCache=true" >> $GITHUB_OUTPUT + echo "No need to build" fi - name: Get previous job's status id: lastrun From 52d73e24e1d31018888ff70d01f7ad9f37ff237d Mon Sep 17 00:00:00 2001 From: Huiwen Date: Wed, 6 Nov 2024 16:27:26 +0000 Subject: [PATCH 6/7] Revert slack notification --- .../jetbrains-auto-update-template.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/.github/workflows/jetbrains-auto-update-template.yml b/.github/workflows/jetbrains-auto-update-template.yml index c1975f2d8cd27c..c9444cfb9f6678 100644 --- a/.github/workflows/jetbrains-auto-update-template.yml +++ b/.github/workflows/jetbrains-auto-update-template.yml @@ -69,18 +69,14 @@ jobs: - name: Get previous job's status id: lastrun uses: filiptronicek/get-last-job-status@main - - name: Mock Slack Notification + - name: Slack Notification if: ${{ (success() && steps.find-target.outputs.buildNumber && steps.leeway-build.outputs.leewayUsingCache == 'false') || failure() }} - run: | - echo "hey, you need to find out problems if you saw this message" - # - name: Slack Notification - # if: ${{ (success() && steps.find-target.outputs.buildNumber && steps.leeway-build.outputs.leewayUsingCache == 'false') || failure() }} - # uses: rtCamp/action-slack-notify@v2 - # env: - # SLACK_WEBHOOK: ${{ secrets.IDE_SLACK_WEBHOOK }} - # SLACK_COLOR: ${{ job.status }} - # SLACK_TITLE: Upgrade latest ${{ inputs.productId }} image with ${{ steps.find-target.outputs.editorSummary }} - # SLACK_FOOTER: "" + uses: rtCamp/action-slack-notify@v2 + env: + SLACK_WEBHOOK: ${{ secrets.IDE_SLACK_WEBHOOK }} + SLACK_COLOR: ${{ job.status }} + SLACK_TITLE: Upgrade latest ${{ inputs.productId }} image with ${{ steps.find-target.outputs.editorSummary }} + SLACK_FOOTER: "" delete-runner: if: always() From 1c8bbeb9db3da373f9b10995d212365f6e9930ea Mon Sep 17 00:00:00 2001 From: Huiwen Date: Wed, 6 Nov 2024 16:33:35 +0000 Subject: [PATCH 7/7] echo target version --- .github/workflows/jetbrains-auto-update-template.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/jetbrains-auto-update-template.yml b/.github/workflows/jetbrains-auto-update-template.yml index c9444cfb9f6678..c5430460b77d0b 100644 --- a/.github/workflows/jetbrains-auto-update-template.yml +++ b/.github/workflows/jetbrains-auto-update-template.yml @@ -55,6 +55,7 @@ jobs: LEEWAY_MAX_PROVENANCE_BUNDLE_SIZE: "8388608" LEEWAY_REMOTE_CACHE_BUCKET: ${{ github.ref == 'refs/heads/main' && 'leeway-cache-main-c514a01' || 'leeway-cache-dev-3ac8ef5' }} run: | + echo "May upgrade latest ${{ inputs.productId }} image with ${{ steps.find-target.outputs.editorSummary }}" imageRepoBase=${{ github.ref == 'refs/heads/main' && 'eu.gcr.io/gitpod-core-dev/build' || 'eu.gcr.io/gitpod-dev-artifact/build' }} output=$(leeway build -Dversion=latest -DimageRepoBase=$imageRepoBase -DbuildNumber=${{ steps.find-target.outputs.buildNumber }} components/ide/jetbrains/image:${{ steps.find-target.outputs.image }}-latest -DjbBackendVersion=${{ steps.find-target.outputs.jbBackendVersion }} --dry-run) if echo "$output" | grep -q "🔧[[:space:]]*build"; then