Skip to content

add GitHub Pages files #19

add GitHub Pages files

add GitHub Pages files #19

Workflow file for this run

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