Skip to content

Commit 11009f0

Browse files
committed
[GHA] Refine release vscode extension workflow
1 parent 515af18 commit 11009f0

File tree

1 file changed

+53
-11
lines changed

1 file changed

+53
-11
lines changed

Diff for: .github/workflows/release-vscode-extension.yml

+53-11
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,23 @@ on:
1111
description: For example "RC1"
1212
required: true
1313
type: string
14+
tag:
15+
description: tags the repository if value is true
16+
required: true
17+
type: boolean
1418

1519
permissions:
1620
contents: write
1721

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+
1831
jobs:
1932

2033
tag-vscode-extension:
@@ -23,16 +36,14 @@ jobs:
2336
steps:
2437
- name: Checkout vscode-extension '${{ inputs.extension-name }}'
2538
uses: actions/checkout@v4
26-
with:
27-
sparse-checkout: |
28-
vscode-extensions/${{ inputs.extension-name }}
2939
- name: Record Extension Version
3040
id: version
3141
run: |
3242
base_version=`jq -r .version vscode-extensions/${{ inputs.extension-name }}/package.json`
3343
echo "Version: ${base_version}"
3444
echo "version=$base_version" >> $GITHUB_OUTPUT
3545
- name: Create tag
46+
if: ${{ inputs.tag }}
3647
uses: actions/github-script@v7
3748
with:
3849
script: |
@@ -42,12 +53,43 @@ jobs:
4253
ref: 'refs/tags/${{ inputs.extension-name }}-${{ steps.version.outputs.version }}-${{ inputs.postfix }}',
4354
sha: context.sha
4455
})
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+
uses: slackapi/[email protected]
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+
}
4595
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

Comments
 (0)