46 lines
1 KiB
YAML
46 lines
1 KiB
YAML
name: Checks
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup sh
|
|
run: sudo apt-get install -y bash
|
|
|
|
- name: Setup Elixir
|
|
run: curl -fsSO https://elixir-lang.org/install.sh && \
|
|
chmod +x install.sh && \
|
|
./install.sh elixir@1.17.3 otp@27.1.2 && \
|
|
installs_dir=$HOME/.elixir-install/installs && \
|
|
export PATH=$installs_dir/otp/27.1.2/bin:$PATH && \
|
|
export PATH=$installs_dir/elixir/1.17.3-otp-27/bin:$PATH
|
|
|
|
- name: Install dependencies
|
|
run: mix deps.get
|
|
|
|
- name: Check formatting
|
|
run: mix format --check-formatted
|
|
|
|
- name: Run Credo
|
|
run: mix credo --strict
|
|
|
|
- name: Check for compiler warnings
|
|
run: mix compile --warnings-as-errors
|
|
|
|
- name: Run tests
|
|
run: mix test
|
|
|
|
- name: Check for unused dependencies
|
|
run: mix deps.unlock --check-unused
|