@@ -49,19 +49,29 @@ jobs:
49
49
cat /tmp/__gh_output.txt >> $GITHUB_OUTPUT
50
50
fi
51
51
- name : Leeway build
52
+ id : leeway-build
52
53
if : ${{ steps.find-target.outputs.buildNumber }}
53
54
env :
54
55
LEEWAY_MAX_PROVENANCE_BUNDLE_SIZE : " 8388608"
55
56
LEEWAY_REMOTE_CACHE_BUCKET : ${{ github.ref == 'refs/heads/main' && 'leeway-cache-main-c514a01' || 'leeway-cache-dev-3ac8ef5' }}
56
57
run : |
58
+ echo "May upgrade latest ${{ inputs.productId }} image with ${{ steps.find-target.outputs.editorSummary }}"
57
59
imageRepoBase=${{ github.ref == 'refs/heads/main' && 'eu.gcr.io/gitpod-core-dev/build' || 'eu.gcr.io/gitpod-dev-artifact/build' }}
58
- echo "Upgrade latest ${{ inputs.productId }} image with ${{ steps.find-target.outputs.editorSummary }}" >> $GITHUB_STEP_SUMMARY
59
- 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 }}
60
+ 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)
61
+ if echo "$output" | grep -q "🔧[[:space:]]*build"; then
62
+ echo "leewayUsingCache=false" >> $GITHUB_OUTPUT
63
+ echo "Needs to build"
64
+ echo "Upgrade latest ${{ inputs.productId }} image with ${{ steps.find-target.outputs.editorSummary }}" >> $GITHUB_STEP_SUMMARY
65
+ 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 }}
66
+ else
67
+ echo "leewayUsingCache=true" >> $GITHUB_OUTPUT
68
+ echo "No need to build"
69
+ fi
60
70
- name : Get previous job's status
61
71
id : lastrun
62
72
uses : filiptronicek/get-last-job-status@main
63
73
- name : Slack Notification
64
- if : ${{ (success() && steps.find-target.outputs.buildNumber) || failure() }}
74
+ if : ${{ (success() && steps.find-target.outputs.buildNumber && steps.leeway-build.outputs.leewayUsingCache == 'false' ) || failure() }}
65
75
uses : rtCamp/action-slack-notify@v2
66
76
env :
67
77
SLACK_WEBHOOK : ${{ secrets.IDE_SLACK_WEBHOOK }}
0 commit comments