Writes since compaction #190
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 Build | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
check_format: | |
name: Code format check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Elixir | |
uses: erlef/setup-beam@v1 | |
with: | |
elixir-version: '1.13.4' | |
otp-version: '24.3' | |
- name: Restore dependencies cache | |
uses: actions/cache@v2 | |
with: | |
path: deps | |
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} | |
restore-keys: ${{ runner.os }}-mix- | |
- name: Install dependencies | |
run: mix deps.get | |
- name: Check format | |
run: mix format --check-formatted | |
- name: Check credo | |
run: mix credo --strict | |
- name: Restore build Cache | |
uses: actions/cache@v1 | |
id: build-cache | |
with: | |
path: _build | |
key: ${{ runner.os }}-build | |
dialyzer: | |
name: Typecheck with dialyzer | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Elixir | |
uses: erlef/setup-beam@v1 | |
with: | |
elixir-version: '1.14.2' | |
otp-version: '25.2' | |
- name: Restore dependencies cache | |
uses: actions/cache@v2 | |
with: | |
path: deps | |
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }} | |
restore-keys: ${{ runner.os }}-mix- | |
- name: Install dependencies | |
run: mix deps.get | |
- name: Restore build Cache | |
uses: actions/cache@v1 | |
id: build-cache | |
with: | |
path: _build | |
key: ${{ runner.os }}-build | |
- name: Create PLTs | |
run: mix dialyzer --plt | |
- name: Typecheck | |
run: mix dialyzer | |
test: | |
name: Test OTP ${{matrix.otp}} / Elixir ${{matrix.elixir}} | |
runs-on: ubuntu-20.04 # Later Ubuntu versions do not have OTP 22 | |
strategy: | |
matrix: | |
otp: ['25.3', '26.2', '27.1'] | |
elixir: ['1.15.8', '1.16.3', '1.17.3'] | |
include: | |
- otp: '22.3' | |
elixir: '1.7.4' | |
- otp: '22.3' | |
elixir: '1.8.2' | |
- otp: '22.3' | |
elixir: '1.9.4' | |
- otp: '22.3' | |
elixir: '1.10.4' | |
- otp: '24.3' | |
elixir: '1.11.4' | |
- otp: '24.3' | |
elixir: '1.12.3' | |
- otp: '25.3' | |
elixir: '1.13.4' | |
- otp: '25.3' | |
elixir: '1.14.5' | |
exclude: | |
- otp: '27.1' | |
elixir: '1.15.8' | |
- otp: '27.1' | |
elixir: '1.16.3' | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Elixir | |
uses: erlef/setup-beam@v1 | |
with: | |
elixir-version: ${{matrix.elixir}} | |
otp-version: ${{matrix.otp}} | |
- name: Restore dependencies cache | |
uses: actions/cache@v2 | |
with: | |
path: deps | |
key: ${{ runner.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-mix-${{ hashFiles('**/mix.lock') }} | |
restore-keys: ${{ runner.os }}-mix- | |
- name: Install dependencies | |
run: mix deps.get | |
- name: Restore build Cache | |
uses: actions/cache@v1 | |
id: build-cache | |
with: | |
path: _build | |
key: ${{ runner.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-build | |
- name: Run tests | |
run: mix coveralls.github --include property_based | |
env: | |
ASSERT_RECEIVE_TIMEOUT: 300 | |
MIX_ENV: test | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |