chore: update S3 upload configuration for VS Code extension and Intel… #6
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Release | |
| on: | |
| push: | |
| branches: [ main ] | |
| tags: [ 'v*' ] | |
| pull_request: | |
| branches: [ main ] | |
| permissions: | |
| contents: write | |
| jobs: | |
| build: | |
| runs-on: self-hosted | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # Set up Java for IntelliJ plugin | |
| - name: Set up JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| # Set up Node.js for VS Code extension | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| cache: 'npm' | |
| # Install dependencies | |
| - name: Install dependencies | |
| run: npm install | |
| # Build both plugins | |
| - name: Build | |
| run: npm run build | |
| # Upload IntelliJ plugin artifact | |
| - name: Upload IntelliJ Plugin | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: intellij-plugin | |
| path: intellij-plugin/build/distributions/*.zip | |
| # Upload VS Code extension artifact | |
| - name: Upload VS Code Extension | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: vscode-extension | |
| path: vscode-extension/*.vsix | |
| # Upload IntelliJ plugin to S3 (only on tag) | |
| - name: Upload IntelliJ Plugin to S3 | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| uses: shallwefootball/s3-upload-action@master | |
| with: | |
| aws_key_id: ${{ secrets.STORAGE_KEY_ID }} | |
| aws_secret_access_key: ${{ secrets.STORAGE_KEY_SECRET }} | |
| aws_bucket: ${{ secrets.TOOLS_BUCKET }} | |
| source_dir: 'intellij-plugin/build/distributions' | |
| destination_dir: ${{ github.ref_name }} | |
| endpoint: 'https://s3.nevaobjects.id' | |
| # Upload VS Code extension to S3 (only on tag) | |
| - name: Upload VS Code Extension to S3 | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| uses: shallwefootball/s3-upload-action@master | |
| with: | |
| aws_key_id: ${{ secrets.STORAGE_KEY_ID }} | |
| aws_secret_access_key: ${{ secrets.STORAGE_KEY_SECRET }} | |
| aws_bucket: ${{ secrets.TOOLS_BUCKET }} | |
| source_dir: 'vscode-extension/dist' | |
| destination_dir: ${{ github.ref_name }} | |
| endpoint: 'https://s3.nevaobjects.id' | |
| release: | |
| needs: build | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| runs-on: self-hosted | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # Download artifacts | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| # Create GitHub Release | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| intellij-plugin/*.zip | |
| vscode-extension/*.vsix | |
| name: "Release ${{ github.ref_name }}" | |
| tag_name: ${{ github.ref_name }} | |
| body: | | |
| Platform Sync Release ${{ github.ref_name }} | |
| This release includes both IntelliJ IDEA plugin and VS Code extension. | |
| draft: false | |
| prerelease: false |