add GitHub Pages files #19
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: ci | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened] | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref_name }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: check out code | |
uses: actions/checkout@v4 | |
- name: install elixir and erlang | |
uses: erlef/setup-beam@v1 | |
with: | |
version-file: .tool-versions | |
version-type: strict | |
- name: install hex and rebar3 | |
run: | | |
mix local.hex --force | |
mix local.rebar --force | |
- name: restore mix cache, if possible | |
uses: actions/cache@v4 | |
with: | |
path: | | |
deps | |
_build | |
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} | |
restore-keys: | | |
${{ runner.os }}-mix- | |
- name: install dependencies | |
run: | | |
mix deps.get | |
- name: compile code | |
run: | | |
mix compile | |
# package, tag, push to hex? | |
version-builds: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
include: | |
- elixir-version: "1.9.4-otp-22" | |
otp-version: "22.3.4.27" | |
- elixir-version: "1.10.4-otp-22" | |
otp-version: "22.3.4.27" | |
- elixir-version: "1.10.4-otp-23" | |
otp-version: "23.3.4.20" | |
- elixir-version: "1.11.4-otp-22" | |
otp-version: "22.3.4.27" | |
- elixir-version: "1.11.4-otp-23" | |
otp-version: "23.3.4.20" | |
- elixir-version: "1.11.4-otp-24" | |
otp-version: "24.3.4.16" | |
- elixir-version: "1.12.3-otp-22" | |
otp-version: "22.3.4.27" | |
- elixir-version: "1.12.3-otp-23" | |
otp-version: "23.3.4.20" | |
- elixir-version: "1.12.3-otp-24" | |
otp-version: "24.3.4.16" | |
- elixir-version: "1.13.4-otp-22" | |
otp-version: "22.3.4.27" | |
- elixir-version: "1.13.4-otp-23" | |
otp-version: "23.3.4.20" | |
- elixir-version: "1.13.4-otp-24" | |
otp-version: "24.3.4.16" | |
- elixir-version: "1.13.4-otp-25" | |
otp-version: "25.3.2.10" | |
- elixir-version: "1.14.5-otp-23" | |
otp-version: "23.3.4.20" | |
- elixir-version: "1.14.5-otp-24" | |
otp-version: "24.3.4.16" | |
- elixir-version: "1.14.5-otp-25" | |
otp-version: "25.3.2.10" | |
- elixir-version: "1.14.5-otp-26" | |
otp-version: "26.2.3" | |
- elixir-version: "1.15.7-otp-24" | |
otp-version: "24.3.4.16" | |
- elixir-version: "1.15.7-otp-25" | |
otp-version: "25.3.2.10" | |
- elixir-version: "1.15.7-otp-26" | |
otp-version: "26.2.3" | |
# - elixir-version: "1.16.2-otp-24" | |
# otp-version: "24.3.4.16" | |
# - elixir-version: "1.16.2-otp-25" | |
# otp-version: "25.3.2.10" | |
# - elixir-version: "1.16.2-otp-26" | |
# otp-version: "26.2.3" | |
steps: | |
- name: check out code | |
uses: actions/checkout@v4 | |
- name: install elixir and erlang | |
uses: erlef/setup-beam@v1 | |
with: | |
elixir-version: ${{ matrix.elixir-version }} | |
otp-version: ${{ matrix.otp-version }} | |
version-type: strict | |
- name: install hex and rebar3 | |
run: | | |
mix local.hex --force | |
mix local.rebar --force | |
- name: restore mix cache, if possible | |
uses: actions/cache@v4 | |
with: | |
path: | | |
deps | |
_build | |
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} | |
restore-keys: | | |
${{ runner.os }}-mix- | |
- name: install dependencies | |
run: | | |
mix deps.get | |
- name: compile code | |
run: | | |
mix compile | |
- name: run unit tests | |
env: | |
MIX_ENV: test | |
run: | | |
mix test.unit | |
credo: | |
runs-on: ubuntu-latest | |
steps: | |
- name: check out code | |
uses: actions/checkout@v4 | |
- name: install elixir and erlang | |
uses: erlef/setup-beam@v1 | |
with: | |
version-file: .tool-versions | |
version-type: strict | |
- name: install hex and rebar3 | |
run: | | |
mix local.hex --force | |
mix local.rebar --force | |
- name: restore mix cache, if possible | |
uses: actions/cache@v4 | |
with: | |
path: | | |
deps | |
_build | |
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} | |
restore-keys: | | |
${{ runner.os }}-mix- | |
- name: install dependencies | |
run: | | |
mix deps.get | |
- name: run credo | |
run: | | |
mix credo | |
dialyzer: | |
runs-on: ubuntu-latest | |
steps: | |
- name: check out code | |
uses: actions/checkout@v4 | |
- name: install elixir and erlang | |
uses: erlef/setup-beam@v1 | |
with: | |
version-file: .tool-versions | |
version-type: strict | |
- name: install hex and rebar3 | |
run: | | |
mix local.hex --force | |
mix local.rebar --force | |
- name: restore mix cache, if possible | |
uses: actions/cache@v4 | |
with: | |
path: | | |
deps | |
_build | |
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} | |
restore-keys: | | |
${{ runner.os }}-mix- | |
- name: install dependencies | |
run: | | |
mix deps.get | |
- name: run dialyzer | |
run: | | |
mix dialyzer | |
unit-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: check out code | |
uses: actions/checkout@v4 | |
- name: install elixir and erlang | |
uses: erlef/setup-beam@v1 | |
with: | |
version-file: .tool-versions | |
version-type: strict | |
- name: install hex and rebar3 | |
run: | | |
mix local.hex --force | |
mix local.rebar --force | |
- name: restore mix cache, if possible | |
uses: actions/cache@v4 | |
with: | |
path: | | |
deps | |
_build | |
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} | |
restore-keys: | | |
${{ runner.os }}-mix- | |
- name: install dependencies | |
run: | | |
mix deps.get | |
- name: run unit tests | |
run: | | |
mix test |