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: Install wget run: sudo apt-get install -y openssl libssl-dev wget - name: Install openssl run: wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb && sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb && sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1 - name: Set up Elixir uses: erlef/setup-beam@v1 with: elixir-version: "1.17.x" otp-version: "26.x" install-rebar: false hexpm-mirrors: | https://builds.hex.pm https://cdn.jsdelivr.net/hex - 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