Skip to content

support narrowing in a form true = ... #282

support narrowing in a form true = ...

support narrowing in a form true = ... #282

Workflow file for this run

jobs:
linux-ci:
runs-on: ubuntu-20.04
name: Linux CI (OTP ${{matrix.otp}})
strategy:
matrix:
otp: ['26.0', '25.3']
steps:
- name: Checkout eqWAlizer
uses: "actions/checkout@v3"
- name: Checkout ELP
uses: "actions/checkout@v3"
with:
repository: WhatsApp/erlang-language-platform
path: elp
- name: Set up GraalVM
uses: graalvm/setup-graalvm@v1
with:
java-version: '17'
distribution: 'graalvm'
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install musl-tools for rust toolchain
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: musl-tools
version: 1.0
- name: Set up rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
target: x86_64-unknown-linux-musl
- name: Install OTP
uses: erlef/setup-beam@v1
with:
otp-version: ${{matrix.otp}}
install-rebar: false
install-hex: false
- name: Install rebar3
run: "curl https://s3.amazonaws.com/rebar3/rebar3 -o rebar3 && chmod +x rebar3"
- name: "add rebar3 to path"
run: 'echo "$GITHUB_WORKSPACE/rebar3" >> $GITHUB_PATH'
- name: Assemble eqwalizer.jar
run: "cd eqwalizer; sbt assembly"
- name: Assemble eqwalizer binary
run: "cd eqwalizer && native-image -H:IncludeResources=application.conf --no-server --no-fallback -jar target/scala-2.13/eqwalizer.jar eqwalizer"
- name: Test elp
working-directory: elp
run: "cargo test --no-default-features --workspace --target x86_64-unknown-linux-musl"
- name: Assemble elp
working-directory: elp
run: "cargo build --release --target x86_64-unknown-linux-musl"
- name: Add elp to path
run: 'echo "$GITHUB_WORKSPACE/elp/target/x86_64-unknown-linux-musl/release" >> $GITHUB_PATH'
- name: Test eqwalizer
run: 'cd eqwalizer && sbt test'
- name: Upload eqwalizer.jar
if: matrix.otp == '25.3'
uses: "actions/upload-artifact@v3"
with:
name: eqwalizer.jar
path: eqwalizer/target/scala-2.13/eqwalizer.jar
macos-ci:
needs:
- linux-ci
runs-on: macos-latest
name: MacOS CI (${{matrix.brew-otp-version}})
strategy:
matrix:
brew-otp-version: ['26', '25']
steps:
- name: Checkout eqWAlizer
uses: "actions/checkout@v3"
- name: Checkout ELP
uses: "actions/checkout@v3"
with:
repository: WhatsApp/erlang-language-platform
path: elp
- name: Set up GraalVM
uses: graalvm/setup-graalvm@v1
with:
java-version: '17'
distribution: 'graalvm'
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install Erlang
run: brew install erlang@${{matrix.brew-otp-version}}
- name: Add erl to path
run: "echo '/opt/homebrew/opt/erlang@${{ matrix.brew-otp-version }}/bin' >> $GITHUB_PATH"
- name: Install rebar3
run: "mkdir rebar3 && curl https://s3.amazonaws.com/rebar3/rebar3 -o rebar3/rebar3 && chmod +x rebar3/rebar3"
- name: Add rebar3 to path
run: 'echo "$GITHUB_WORKSPACE/rebar3" >> $GITHUB_PATH'
- name: Set up rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Download eqwalizer.jar
uses: "actions/download-artifact@v3"
with:
name: eqwalizer.jar
path: eqwalizer/target/scala-2.13
- name: Assemble eqwalizer binary
run: "cd eqwalizer && native-image -H:IncludeResources=application.conf --no-server --no-fallback -jar target/scala-2.13/eqwalizer.jar eqwalizer"
- name: Test elp
working-directory: elp
run: "cargo test --no-default-features --workspace"
- name: Assemble elp
working-directory: elp
run: "cargo build --release"
name: eqWAlizer CI
on:
push: {}
env:
EQWALIZER_DIR: ${{ github.workspace }}/eqwalizer
ELP_EQWALIZER_PATH: ${{ github.workspace }}/eqwalizer/eqwalizer