Skip to content

ci: version the deps cache key #5

ci: version the deps cache key

ci: version the deps cache key #5

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
jobs:
ci:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- elixir: "1.19"
otp: "26"
- elixir: "1.20"
otp: "27"
steps:
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
elixir-version: ${{ matrix.elixir }}
otp-version: ${{ matrix.otp }}
- uses: actions/cache@v4
with:
path: |
deps
_build
key: ${{ runner.os }}-mix-1.20-27-${{ hashFiles('**/mix.lock') }}
restore-keys: ${{ runner.os }}-mix-
- uses: actions/cache@v4
with:
path: ~/.mix/plts
key: ${{ runner.os }}-plts-${{ matrix.elixir }}-${{ matrix.otp }}-${{ hashFiles('mix.exs') }}
- name: Fetch dependencies
run: mix deps.get
- name: Quality gates
run: mix ci
coverage:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
elixir-version: "1.20"
otp-version: "27"
- uses: actions/cache@v4
with:
path: |
deps
_build
key: ${{ runner.os }}-mix-1.20-27-${{ hashFiles('**/mix.lock') }}
restore-keys: ${{ runner.os }}-mix-
- name: Fetch dependencies
run: mix deps.get
- name: Generate coverage report
env:
MIX_ENV: test
run: mix coveralls.cobertura
- name: Upload coverage artifact
uses: actions/upload-artifact@v4
with:
name: cobertura.xml
path: cover/cobertura.xml
- name: Comment coverage summary on pull request
if: github.event_name == 'pull_request'
uses: irongut/CodeCoverageSummary@v1.3.0
with:
filename: cover/cobertura.xml
badge: true
format: markdown
output: both