Skip to content

Access to fields of Structs #36

Access to fields of Structs

Access to fields of Structs #36

Workflow file for this run

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Elixir CI
on:
push:
branches: ["master"]
pull_request:
branches: ["master"]
permissions:
contents: read
jobs:
test:
name: Test (Elixir ${{matrix.elixir}} | OTP ${{matrix.otp}})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- elixir: 1.11.x
otp: 23
os: ubuntu-20.04
- elixir: 1.12.x
otp: 23
os: ubuntu-20.04
- elixir: 1.13.x
otp: 24
os: ubuntu-20.04
- elixir: 1.14.x
otp: 25
os: ubuntu-22.04
- elixir: 1.15.x
otp: 26
os: ubuntu-latest
warnings_as_errors: true
- elixir: 1.16.x
otp: 26
os: ubuntu-latest
warnings_as_errors: true
coverage: true
style: true
dialyzer: true
env:
MIX_ENV: test
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v3
- name: Set up Elixir
uses: erlef/setup-beam@v1
with:
otp-version: ${{matrix.otp}}
elixir-version: ${{matrix.elixir}}
- name: Install Dependencies
run: |
mix local.hex --force
mix deps.get --only test
- name: Cache build artifacts
uses: actions/cache@v3
with:
path: |
~/.hex
~/.mix
_build
key: ${{ matrix.otp }}-${{ matrix.elixir }}-build
- run: mix compile --warnings-as-errors
if: matrix.warnings_as_errors
- name: Run style and code consistency checks
run: |
mix format --check-formatted
mix credo --strict
if: ${{ matrix.style }}
- name: Run tests
run: mix test --trace
if: ${{ !matrix.coverage }}
- name: Run tests with coverage
run: mix coveralls.github
if: ${{ matrix.coverage }}
- name: Run dialyzer
run: mix dialyzer --format github
if: ${{ matrix.dialyzer }}