name: Snapshot VSCode Extension on: workflow_dispatch: inputs: extension-name: description: name of the extension, e.g. vscode-spring-cli required: true type: string workflow_call: inputs: extension-name: description: name of the extension, e.g. vscode-spring-cli required: true type: string env: AWS_ACCESS_KEY_ID: ${{ secrets.CDN_S3_ACCESS_KEY }} AWS_SECRET_ACCESS_KEY: ${{ secrets.CDN_S3_SECRET_KEY }} AWS_DEFAULT_REGION: us-east-1 AWS_ENDPOINT_URL_S3: ${{ secrets.CDN_S3_ENDPOINT }} AWS_S3_BUCKET: ${{ secrets.CDN_BUCKET }}/spring-tools DOWNLOAD_URL_ROOT: https://cdn.spring.io/spring-tools jobs: build-vscode-extension: runs-on: ubuntu-latest name: Build VSCode Extension '${{ inputs.extension-name }}' Snapshot steps: - name: Checkout vscode-extensions code and workflow scripts uses: actions/checkout@v4 - name: Set up JDK 21 uses: actions/setup-java@v4 with: java-version: '21' distribution: 'temurin' - uses: actions/setup-node@v4 with: node-version: 22 - name: Build .VSIX file id: build-vsix env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | ${{ github.workspace }}/.github/scripts/build-vscode-extension.sh ${{ inputs.extension-name }} snapshot ls ./vsix - name: Upload VSIX id: upload-release run: | vsix_file=`ls ./vsix | head -n 1` echo "VSIX file to upload ${vsix_file}" s3_path=snapshot/vscode-extensions/${{ inputs.extension-name }} echo "S3 path: ${s3_path}" aws s3 rm s3://$AWS_S3_BUCKET/$s3_path/ --recursive aws s3 cp ./vsix/$vsix_file s3://$AWS_S3_BUCKET/$s3_path/$vsix_file --no-progress --checksum-algorithm CRC32 - name: Update Nightly Builds download page run: | downloads_html="vscode-extensions-snippet.html" echo '