This repository has been archived by the owner on Dec 10, 2023. It is now read-only.
Run elm-review on code changes #18
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: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
concurrency: | |
group: ci-tests-${{ github.ref }}-1 | |
cancel-in-progress: true | |
jobs: | |
front-end-build: | |
defaults: | |
run: | |
working-directory: front_end | |
runs-on: ubuntu-latest | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v3 | |
- name: Set up Elm | |
uses: jorelali/setup-elm@v5 | |
with: | |
elm-version: 0.19.1 | |
- name: Install Global Dependencies | |
run: > | |
npm install -g | |
elm-test | |
create-elm-app | |
elm-verify-examples | |
elm-coverage | |
elm-analyse | |
elm-review | |
- name: Install Local Dependencies | |
run: | | |
npm install | |
cp .env.example .env | |
- name: Run Elm Review | |
run: npx elm-review | |
- name: Run Elm Analyse | |
run: elm-analyse | |
- name: Run Tests | |
run: elm-test | |
- name: Run Verified Examples | |
run: elm-verify-examples | |
- name: Run Elm Coverage | |
run: elm-coverage | |
back-end-build: | |
defaults: | |
run: | |
working-directory: back_end | |
runs-on: ubuntu-latest | |
env: | |
MIX_ENV: test | |
strategy: | |
matrix: | |
elixir: ['1.15.7'] | |
otp: ['26.1.2'] | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v3 | |
- name: Set up Elixir | |
uses: erlef/setup-beam@v1 | |
with: | |
otp-version: ${{ matrix.otp }} | |
elixir-version: ${{ matrix.elixir }} | |
- name: Get deps cache | |
uses: actions/cache@v2 | |
with: | |
path: deps/ | |
key: deps-${{ runner.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-${{ hashFiles('**/mix.lock') }} | |
- name: Get build cache | |
uses: actions/cache@v2 | |
with: | |
path: _build/test/ | |
key: build-${{ runner.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-${{ hashFiles('**/mix.lock') }} | |
- name: Install Dependencies | |
run: mix deps.get | |
- name: Check Dependencies | |
run: mix hex.outdated | |
- name: Run Tests | |
run: mix test |