diff --git a/.github/workflows/ci-debug.yml b/.github/workflows/ci-debug.yml new file mode 100644 index 000000000..b8241d212 --- /dev/null +++ b/.github/workflows/ci-debug.yml @@ -0,0 +1,60 @@ +name: Debug CI runner + +on: + push: +env: + SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }} +jobs: + format: + name: Formatting Checks + runs-on: pcnc-local-test + + steps: + - uses: actions/checkout@v4 + - name: Setup Elixir + run: | + . ~/.asdf/asdf.sh + echo 'elixir v1.14.5-otp-25' >> ~/.tool-versions + echo 'erlang 25.3.2.7' >> ~/.tool-versions + elixir -v + - name: Set up Rust + uses: ATiltedTree/setup-rust@v1 + with: + rust-version: stable + - name: Cache Mix + uses: actions/cache@v3 + with: + path: deps + key: ${{ runner.os }}-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }} + restore-keys: | + ${{ runner.os }}-mix- + - name: Install dependencies + run: | + mix local.hex --force + mix local.rebar --force + mix deps.get + - name: Set up Postgres + run: docker-compose -f ./docker-compose.db.yml up -d + - name: Run main database migrations + run: mix ecto.migrate --prefix _supavisor --log-migrator-sql + - name: Run format check + run: mix format --check-formatted + - name: Credo checks + run: mix credo --strict --mute-exit-status + - name: Retrieve PLT Cache + uses: actions/cache@v3 + id: plt-cache + with: + path: priv/plts + key: ${{ runner.os }}-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}-plts-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }} + - name: Create PLTs + if: steps.plt-cache.outputs.cache-hit != 'true' + run: | + mkdir -p priv/plts + mix dialyzer.build + - name: Run dialyzer + run: mix dialyzer + - name: Start epmd + run: epmd -daemon + - name: Run tests + run: mix test