Skip to content

Commit

Permalink
Build VS Code extension
Browse files Browse the repository at this point in the history
  • Loading branch information
robertoaloi committed Aug 31, 2023
1 parent 016c930 commit b4ba33f
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 51 deletions.
30 changes: 30 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,21 @@ 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
working-directory: editors/code
uses: "actions/upload-artifact@v3"
with:
name: elp-linux-${{ matrix.otp }}.vsix
path: elp-*.vsix
macos-ci:
needs:
- linux-ci
Expand Down Expand Up @@ -95,6 +110,21 @@ 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
working-directory: editors/code
uses: "actions/upload-artifact@v3"
with:
name: elp-macos.vsix
path: elp-*.vsix
name: erlang-language-platform CI
on:
push: {}
102 changes: 51 additions & 51 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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/[email protected]"
with:
asset_content_type: application/octet-stream
asset_name: elp-linux.vsix
asset_path: elp-*.vsix
upload_url: "${{ steps.get_release_url.outputs.upload_url }}"
linux-release-otp-23:
needs:
- linux-release-otp-25
Expand Down Expand Up @@ -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/[email protected]"
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
Expand Down Expand Up @@ -190,60 +228,22 @@ jobs:
asset_name: elp-macos.tar.gz
asset_path: elp-macos.tar.gz
upload_url: "${{ steps.get_release_url.outputs.upload_url }}"
macos-release-otp-23:
needs:
- linux-release-otp-25
runs-on: macos-latest
steps:
- name: Checkout erlang-language-platform
uses: "actions/checkout@v3"
- name: Checkout eqwalizer
uses: "actions/checkout@v3"
with:
repository: WhatsApp/eqwalizer
path: eqwalizer
- name: Set up GraalVM
uses: "DeLaGuardo/[email protected]"
with:
graalvm: '22.1.0'
java: 'java11'
- name: Install Native Image Plugin
run: gu install native-image
- name: Install erlang
run: brew install erlang@23
- name: Install rebar3
run: "mkdir rebar3 && curl https://s3.amazonaws.com/rebar3/rebar3 -o rebar3/rebar3 && chmod +x rebar3/rebar3"
- name: Set up rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Download eqwalizer.jar
uses: "actions/download-artifact@v2"
with:
name: eqwalizer.jar
path: eqwalizer/eqwalizer/target/scala-2.13
- name: Assemble eqwalizer binary
run: "cd eqwalizer/eqwalizer && native-image -H:IncludeResources=application.conf --no-server --no-fallback -jar target/scala-2.13/eqwalizer.jar eqwalizer"
- name: Test elp
run: "export PATH=$GITHUB_WORKSPACE/rebar3:/usr/local/opt/erlang@23/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/erlang@23/bin:$PATH ELP_EQWALIZER_PATH=$GITHUB_WORKSPACE/eqwalizer/eqwalizer/eqwalizer && cargo build --release"
- name: Make elp-macos-otp-23.tar.gz
run: 'tar -zcvf elp-macos-otp-23.tar.gz -C target/release/ elp'
- env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
id: get_release_url
name: Get release url
uses: "bruceadams/[email protected]"
- 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 release elp-macos-otp-23.tar.gz
name: Upload Extension Package
working-directory: editors/code
uses: "actions/[email protected]"
with:
asset_content_type: application/octet-stream
asset_name: elp-macos-otp-23.tar.gz
asset_path: elp-macos-otp-23.tar.gz
asset_name: elp-macos.vsix
asset_path: elp-*.vsix
upload_url: "${{ steps.get_release_url.outputs.upload_url }}"
name: erlang-language-platform release
on:
release:
types:
- created

0 comments on commit b4ba33f

Please sign in to comment.