Skip to content

chore: Set up github checks #1

chore: Set up github checks

chore: Set up github checks #1

# https://github.com/felt/ultimate-elixir-ci/blob/main/.github/workflows/elixir-quality-checks.yml
# Used under MIT License: https://github.com/felt/ultimate-elixir-ci/blob/main/LICENSE
name: Elixir Quality Checks
on:
push:
branches:
- main
pull_request:
branches:
- "*"
jobs:
quality_checks:
name: Formatting, Credo, and Unused Deps
runs-on: ubuntu-latest
strategy:
matrix:
elixir: ["1.17.2"]
otp: ["27.0.1"]
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup Elixir Project
uses: ./.github/actions/elixir-setup
with:
elixir-version: ${{ matrix.elixir }}
otp-version: ${{ matrix.otp }}
build-app: false
- name: Check for unused deps
run: mix deps.unlock --check-unused
- name: Check code formatting
run: mix format --check-formatted
# Check formatting even if there were unused deps so that
# we give devs as much feedback as possible & save some time.
if: always()
- name: Run Credo
run: mix credo suggest --min-priority=normal
# Run Credo even if formatting or the unused deps check failed
if: always()
# Not sure how to fix these compile-time dependencies or what the
# value is.
# - name: Check for compile-time dependencies
# run: mix xref graph --label compile-connected --fail-above 0
# if: always()
- name: Check for security vulnerabilities in Phoenix project
run: mix sobelow
if: always()