Add test matrix #2893
Workflow file for this run
This file contains 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 | |
on: | |
push: | |
branches: | |
- '*' | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
jobs: | |
macos: | |
strategy: | |
matrix: | |
platform: [macos-latest-x64, macos-latest-arm] | |
# No otp 27 in brew yet | |
otp-version: [24, 25, 26] | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install Erlang | |
run: brew install erlang@${{ matrix.otp-version }} | |
- name: Install Rebar3 | |
run: brew install rebar3 | |
- name: Compile | |
run: rebar3 compile | |
- name: Check formatting | |
run: rebar3 fmt -c | |
- name: Lint | |
run: rebar3 lint | |
- name: Generate Dialyzer PLT for usage in CT Tests | |
run: dialyzer --build_plt --apps erts kernel stdlib compiler crypto parsetools | |
- name: Start epmd as daemon | |
run: epmd -daemon | |
- name: Run CT Tests | |
run: rebar3 ct | |
- name: Run PropEr Tests | |
run: rebar3 proper --cover --constraint_tries 100 | |
- name: Run Checks | |
run: rebar3 do dialyzer, xref | |
# linux: | |
# strategy: | |
# matrix: | |
# platform: [ubuntu-latest] | |
# otp-version: [24, 25, 26, 27] | |
# runs-on: ${{ matrix.platform }} | |
# container: | |
# image: erlang:${{ matrix.otp-version }} | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v2 | |
# - name: Cache Hex packages | |
# uses: actions/cache@v1 | |
# with: | |
# path: ~/.cache/rebar3/hex/hexpm/packages | |
# key: ${{ runner.os }}-hex-${{ hashFiles(format('{0}{1}', github.workspace, '/rebar.lock')) }} | |
# restore-keys: | | |
# ${{ runner.os }}-hex- | |
# - name: Cache Dialyzer PLTs | |
# uses: actions/cache@v1 | |
# with: | |
# path: ~/.cache/rebar3/rebar3_*_plt | |
# key: ${{ runner.os }}-dialyzer-${{ hashFiles(format('{0}{1}', github.workspace, '/rebar.config')) }} | |
# restore-keys: | | |
# ${{ runner.os }}-dialyzer- | |
# - name: Compile | |
# run: rebar3 compile | |
# - name: Escriptize LSP Server | |
# run: rebar3 escriptize | |
# # - name: Store LSP Server Escript | |
# # uses: actions/upload-artifact@v4 | |
# # with: | |
# # name: erlang_ls | |
# # path: _build/default/bin/erlang_ls | |
# # overwrite: true | |
# - name: Check formatting | |
# run: rebar3 fmt -c | |
# - name: Lint | |
# run: rebar3 lint | |
# - name: Generate Dialyzer PLT for usage in CT Tests | |
# run: dialyzer --build_plt --apps erts kernel stdlib compiler crypto parsetools | |
# - name: Start epmd as daemon | |
# run: epmd -daemon | |
# - name: Run CT Tests | |
# run: rebar3 ct | |
# # - name: Store CT Logs | |
# # uses: actions/upload-artifact@v4 | |
# # with: | |
# # name: ct-logs | |
# # path: _build/test/logs | |
# # overwrite: true | |
# - name: Run PropEr Tests | |
# run: rebar3 proper --cover --constraint_tries 100 | |
# - name: Run Checks | |
# run: rebar3 do dialyzer, xref | |
# - name: Create Cover Reports | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# run: rebar3 do cover, coveralls send | |
# # - name: Produce Documentation | |
# # run: rebar3 edoc | |
# # if: ${{ matrix.otp-version == '24' }} | |
# # - name: Publish Documentation | |
# # uses: actions/upload-artifact@v4 | |
# # with: | |
# # name: edoc | |
# # path: | | |
# # apps/els_core/doc | |
# # apps/els_lsp/doc | |
# # overwrite: true | |
# windows: | |
# runs-on: windows-latest | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v2 | |
# - name: Install Erlang | |
# run: choco install -y erlang --version 26.2.5 | |
# - name: Install rebar3 | |
# run: choco install -y rebar3 --version 3.23.0 | |
# - name: Compile | |
# run: rebar3 compile | |
# - name: Lint | |
# run: rebar3 lint | |
# - name: Generate Dialyzer PLT for usage in CT Tests | |
# run: dialyzer --build_plt --apps erts kernel stdlib crypto compiler parsetools | |
# - name: Start epmd as daemon | |
# run: erl -sname a -noinput -eval "halt(0)." | |
# - name: Run CT Tests | |
# run: rebar3 ct | |
# # - name: Store CT Logs | |
# # uses: actions/upload-artifact@v4 | |
# # with: | |
# # name: ct-logs | |
# # path: _build/test/logs | |
# # overwrite: true | |
# - name: Run PropEr Tests | |
# run: rebar3 proper --cover --constraint_tries 100 | |
# - name: Run Checks | |
# run: rebar3 do dialyzer, xref | |
# - name: Produce Documentation | |
# run: rebar3 edoc |