From d33f4e17ffef71a22ca67dcb3721e9f5939b06bc Mon Sep 17 00:00:00 2001 From: Roberto Aloi Date: Thu, 31 Aug 2023 11:38:14 +0200 Subject: [PATCH] Build and package VS Code extension --- .github/workflows/ci.yml | 28 +++++++++++++ .github/workflows/release.yml | 76 +++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8c47362785..83fdb453c3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,6 +56,20 @@ jobs: with: name: eqwalizer.jar path: eqwalizer/eqwalizer/target/scala-2.13/eqwalizer.jar + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 18 + - name: Install VSCE + run: npm install -g vsce + - name: Package Extension + working-directory: editors/code + run: vsce package + - name: Upload Extension + uses: "actions/upload-artifact@v3" + with: + name: elp-linux-${{ matrix.otp }}.vsix + path: editors/code/elp-*.vsix macos-ci: needs: - linux-ci @@ -95,6 +109,20 @@ jobs: run: "export PATH=$GITHUB_WORKSPACE/rebar3:/usr/local/opt/${{matrix.brew_erlang}}/bin:$PATH ELP_EQWALIZER_PATH=$GITHUB_WORKSPACE/eqwalizer/eqwalizer/eqwalizer && cargo test --no-default-features --workspace" - name: Assemble elp run: "export PATH=$GITHUB_WORKSPACE/rebar3:/usr/local/opt/${{matrix.brew_erlang}}/bin:$PATH ELP_EQWALIZER_PATH=$GITHUB_WORKSPACE/eqwalizer/eqwalizer/eqwalizer && cargo build --release" + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 18 + - name: Install VSCE + run: npm install -g vsce + - name: Package Extension + working-directory: editors/code + run: vsce package + - name: Upload Extension + uses: "actions/upload-artifact@v3" + with: + name: elp-macos-otp-25.vsix + path: editors/code/elp-*.vsix name: erlang-language-platform CI on: push: {} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ecc890bc10..fd43ea65ea 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -73,6 +73,25 @@ jobs: asset_name: elp-linux.tar.gz asset_path: elp-linux.tar.gz upload_url: "${{ steps.get_release_url.outputs.upload_url }}" + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 18 + - name: Install VSCE + run: npm install -g vsce + - name: Package Extension + working-directory: editors/code + run: vsce package + - env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + name: Upload Extension Package + working-directory: editors/code + uses: "actions/upload-release-asset@v1.0.2" + with: + asset_content_type: application/octet-stream + asset_name: elp-linux-otp-25.vsix + asset_path: elp-*.vsix + upload_url: "${{ steps.get_release_url.outputs.upload_url }}" linux-release-otp-23: needs: - linux-release-otp-25 @@ -138,6 +157,25 @@ jobs: asset_name: elp-linux-otp-23.tar.gz asset_path: elp-linux-otp-23.tar.gz upload_url: "${{ steps.get_release_url.outputs.upload_url }}" + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 18 + - name: Install VSCE + run: npm install -g vsce + - name: Package Extension + working-directory: editors/code + run: vsce package + - env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + name: Upload Extension Package + working-directory: editors/code + uses: "actions/upload-release-asset@v1.0.2" + with: + asset_content_type: application/octet-stream + asset_name: elp-linux-otp-23.vsix + asset_path: elp-*.vsix + upload_url: "${{ steps.get_release_url.outputs.upload_url }}" macos-release-otp-25: needs: - linux-release-otp-25 @@ -190,6 +228,25 @@ jobs: asset_name: elp-macos.tar.gz asset_path: elp-macos.tar.gz upload_url: "${{ steps.get_release_url.outputs.upload_url }}" + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 18 + - name: Install VSCE + run: npm install -g vsce + - name: Package Extension + working-directory: editors/code + run: vsce package + - env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + name: Upload Extension Package + working-directory: editors/code + uses: "actions/upload-release-asset@v1.0.2" + with: + asset_content_type: application/octet-stream + asset_name: elp-macos-otp-25.vsix + asset_path: elp-*.vsix + upload_url: "${{ steps.get_release_url.outputs.upload_url }}" macos-release-otp-23: needs: - linux-release-otp-25 @@ -242,6 +299,25 @@ jobs: asset_name: elp-macos-otp-23.tar.gz asset_path: elp-macos-otp-23.tar.gz upload_url: "${{ steps.get_release_url.outputs.upload_url }}" + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 18 + - name: Install VSCE + run: npm install -g vsce + - name: Package Extension + working-directory: editors/code + run: vsce package + - env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + name: Upload Extension Package + working-directory: editors/code + uses: "actions/upload-release-asset@v1.0.2" + with: + asset_content_type: application/octet-stream + asset_name: elp-macos-otp-23.vsix + asset_path: elp-*.vsix + upload_url: "${{ steps.get_release_url.outputs.upload_url }}" name: erlang-language-platform release on: release: