Skip to content
This repository has been archived by the owner on Aug 14, 2024. It is now read-only.

chore: add credo, dialyzer and basic GitHub Actions CI checks [Fixes #27] #7

chore: add credo, dialyzer and basic GitHub Actions CI checks [Fixes #27]

chore: add credo, dialyzer and basic GitHub Actions CI checks [Fixes #27] #7

name: Elixir Quality Checks
on:
push:
branches:
- main
pull_request:
branches:
- "*"
# Cancel any in-progress instances of this workflow when this instance is triggered.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
quality_checks:
name: Formatting, Credo, and Unused Deps
runs-on: ubuntu-latest
defaults:
run:
working-directory: backend-elixir
strategy:
matrix:
otp: ["26.0.2"]
elixir: ["1.15.5"]
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 }}
working-directory: backend-elixir
build-app: false
- name: Check for unused deps
run: mix deps.unlock --check-unused
- name: Check code formatting
run: mix format --check-formatted
if: always()
- name: Run Credo
run: mix credo --strict
if: always()
# This was part of the template we copied but I've turned it off for this
# repo since we use Commanded and `Franklin.CommandedApplication` will
# cause this to fail, but that is kind of expected.
# - name: Check for compile-time dependencies
# run: mix xref graph --label compile-connected --fail-above 0
# if: always()
# TODO: https://github.com/zorn/franklin/issues/161
# - name: Check for security vulnerabilities in Phoenix project
# run: mix sobelow
# if: always()