11
11
description : For example "RC1"
12
12
required : true
13
13
type : string
14
+ tag :
15
+ description : tags the repository if value is true
16
+ required : true
17
+ type : boolean
14
18
15
19
permissions :
16
20
contents : write
17
21
22
+ env :
23
+ AWS_ACCESS_KEY_ID : ${{ secrets.CDN_S3_ACCESS_KEY }}
24
+ AWS_SECRET_ACCESS_KEY : ${{ secrets.CDN_S3_SECRET_KEY }}
25
+ AWS_DEFAULT_REGION : us-east-1
26
+ AWS_ENDPOINT_URL_S3 : ${{ secrets.CDN_S3_ENDPOINT }}
27
+ AWS_S3_BUCKET : ${{ secrets.CDN_BUCKET }}/spring-tools
28
+ DOWNLOAD_URL_ROOT : https://cdn.spring.io/spring-tools
29
+
30
+
18
31
jobs :
19
32
20
33
tag-vscode-extension :
@@ -23,16 +36,14 @@ jobs:
23
36
steps :
24
37
- name : Checkout vscode-extension '${{ inputs.extension-name }}'
25
38
uses : actions/checkout@v4
26
- with :
27
- sparse-checkout : |
28
- vscode-extensions/${{ inputs.extension-name }}
29
39
- name : Record Extension Version
30
40
id : version
31
41
run : |
32
42
base_version=`jq -r .version vscode-extensions/${{ inputs.extension-name }}/package.json`
33
43
echo "Version: ${base_version}"
34
44
echo "version=$base_version" >> $GITHUB_OUTPUT
35
45
- name : Create tag
46
+ if : ${{ inputs.tag }}
36
47
uses : actions/github-script@v7
37
48
with :
38
49
script : |
@@ -42,12 +53,43 @@ jobs:
42
53
ref: 'refs/tags/${{ inputs.extension-name }}-${{ steps.version.outputs.version }}-${{ inputs.postfix }}',
43
54
sha: context.sha
44
55
})
56
+ - name : Set up JDK 17
57
+ uses : actions/setup-java@v4
58
+ with :
59
+ java-version : ' 17'
60
+ distribution : ' temurin'
61
+ - name : Build .VSIX file
62
+ id : build-vsix
63
+ run : |
64
+ ${{ github.workspace }}/.github/scripts/build-vscode-extension.sh ${{ inputs.extension-name }} release
65
+ ls ./vsix
66
+ - name : Upload VSIX
67
+ id : upload-release
68
+ run : |
69
+ vsix_file=`ls ./vsix | head -n 1`
70
+ echo "VSIX file to upload ${vsix_file}"
71
+ s3_path=release/vscode-extensions/${{ inputs.extension-name }}/${{ steps.version.outputs.version }}
72
+ echo "S3 path: ${s3_path}"
73
+ aws s3 rm s3://$AWS_S3_BUCKET/$s3_path/ --recursive
74
+ aws s3 cp ./vsix/$vsix_file s3://$AWS_S3_BUCKET/$s3_path/$vsix_file --no-progress
75
+ echo "s3_url=${DOWNLOAD_URL_ROOT}/$s3_path/$vsix_file" >> $GITHUB_OUTPUT
76
+ - id : tools-team-slack
77
+
78
+ env :
79
+ SLACK_BOT_TOKEN : ${{ secrets.VMWARE_SLACK_BOT_TOKEN }}
80
+ with :
81
+ channel-id : " C0188MENU2J"
82
+ payload : |
83
+ {
84
+ "text": "Release build `${{ inputs.extension-name }}-${{ steps.version.outputs.version }}`",
85
+ "blocks": [
86
+ {
87
+ "type": "section",
88
+ "text": {
89
+ "type": "mrkdwn",
90
+ "text": "Release build for `${{ inputs.extension-name }}-${{ steps.version.outputs.version }}` is available: ${{ steps.upload-release.outputs.s3_url }}"
91
+ }
92
+ }
93
+ ]
94
+ }
45
95
46
- release-build-upload :
47
- needs : [ tag-vscode-extension ]
48
- uses : ./.github/workflows/build-vscode-extension.yml
49
- name : Build and Upload VSCode Extension '${{ inputs.extension-name }}' Release
50
- with :
51
- extension-name : ${{ inputs.extension-name }}
52
- dist : ' release'
53
- secrets : inherit
0 commit comments