Skip to content

Bump actions/cache from 4.2.3 to 4.2.4 in the github-actions group #209

Bump actions/cache from 4.2.3 to 4.2.4 in the github-actions group

Bump actions/cache from 4.2.3 to 4.2.4 in the github-actions group #209

Workflow file for this run

on:
pull_request:
branches:
- "*"
push:
branches:
- "main"
tags:
- "v*"
permissions:
contents: read
jobs:
detectToolVersions:
name: "Detect Tool Versions"
runs-on: ubuntu-latest
outputs:
otpVersion: "${{ steps.toolVersions.outputs.OTP_VERSION }}"
elixirVersion: "${{ steps.toolVersions.outputs.ELIXIR_VERSION }}"
steps:
- name: Harden Runner
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
with:
egress-policy: audit
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: "Read .tool-versions"
id: toolVersions
run: |
OTP_VERSION="$(cat .tool-versions | grep erlang | cut -d' ' -f2-)"
echo OTP: $OTP_VERSION
echo "OTP_VERSION=${OTP_VERSION}" >> $GITHUB_OUTPUT
ELIXIR_VERSION="$(cat .tool-versions | grep elixir | cut -d' ' -f2-)"
echo Rebar: $ELIXIR_VERSION
echo "ELIXIR_VERSION=${ELIXIR_VERSION}" >> $GITHUB_OUTPUT
format:
name: Check Formatting
runs-on: ubuntu-latest
env:
MIX_ENV: dev
steps:
- name: Harden Runner
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
with:
egress-policy: audit
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: erlef/setup-elixir@e6d7c94229049569db56a7ad5a540c051a010af9 # v1.20.4
id: setupBEAM
with:
version-file: .tool-versions
version-type: strict
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: deps
key: deps-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-${{ hashFiles('mix.lock') }}
restore-keys: |
deps-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-
- run: mix deps.get
- run: mix format --check-formatted
test:
name: Run Tests & Submit Coverage (${{ matrix.name }})
needs: ["detectToolVersions"]
env:
MIX_ENV: test
strategy:
fail-fast: false
matrix:
include:
# Lowest Supported
- otp: "24.2"
elixir: "1.15"
runs-on: ubuntu-22.04
name: "lowest"
# Latest Supported
- otp: "${{ needs.detectToolVersions.outputs.otpVersion }}"
elixir: "${{ needs.detectToolVersions.outputs.elixirVersion }}"
runs-on: ubuntu-24.04
name: "latest"
enable_coverage_export: "true"
# Test Main
- otp: "${{ needs.detectToolVersions.outputs.otpVersion }}"
elixir: "main"
runs-on: ubuntu-24.04
name: "main"
runs-on: ${{ matrix.runs-on }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
with:
egress-policy: audit
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: erlef/setup-elixir@e6d7c94229049569db56a7ad5a540c051a010af9 # v1.20.4
id: setupBEAM
with:
otp-version: ${{ matrix.otp }}
elixir-version: ${{ matrix.elixir }}
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: deps
key: deps-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-${{ hashFiles('mix.lock') }}
restore-keys: |
deps-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-
- run: mix deps.get
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: _build/${{ env.MIX_ENV }}
key: compile-${{ env.MIX_ENV }}-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-${{ hashFiles('mix.lock') }}
restore-keys: |
compile-${{ env.MIX_ENV }}-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-
- run: mix deps.compile --skip-umbrella-children
- run: mix compile --warning-as-errors
- run: mix coveralls.github
if: ${{ matrix.enable_coverage_export == 'true' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: mix test
if: ${{ !matrix.enable_coverage_export }}
credo:
name: Check Credo
runs-on: ubuntu-latest
env:
MIX_ENV: dev
steps:
- name: Harden Runner
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
with:
egress-policy: audit
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: erlef/setup-elixir@e6d7c94229049569db56a7ad5a540c051a010af9 # v1.20.4
id: setupBEAM
with:
version-file: .tool-versions
version-type: strict
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: deps
key: deps-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-${{ hashFiles('mix.lock') }}
restore-keys: |
deps-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-
- run: mix deps.get
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: _build/${{ env.MIX_ENV }}
key: compile-${{ env.MIX_ENV }}-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-${{ hashFiles('mix.lock') }}
restore-keys: |
compile-${{ env.MIX_ENV }}-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-
- run: mix deps.compile --skip-umbrella-children
- run: mix compile --warning-as-errors
- run: mix credo --strict
dialyzer:
name: Check Dialyzer
runs-on: ubuntu-latest
env:
MIX_ENV: dev
DIALYZER_PLT_PRIV: true
steps:
- name: Harden Runner
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
with:
egress-policy: audit
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: erlef/setup-elixir@e6d7c94229049569db56a7ad5a540c051a010af9 # v1.20.4
id: setupBEAM
with:
version-file: .tool-versions
version-type: strict
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: deps
key: deps-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-${{ hashFiles('mix.lock') }}
restore-keys: |
deps-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-
- run: mix deps.get
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: _build/${{ env.MIX_ENV }}
key: compile-${{ env.MIX_ENV }}-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-${{ hashFiles('mix.lock') }}
restore-keys: |
compile-${{ env.MIX_ENV }}-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-
- run: mix deps.compile --skip-umbrella-children
- run: mix compile --warning-as-errors
- uses: actions/cache/restore@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: priv/plts/
key: dialyzer_plt_${{ env.MIX_ENV }}-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-${{ hashFiles('mix.lock') }}
restore-keys: |
dialyzer_plt_${{ env.MIX_ENV }}-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-
- run: mix dialyzer --plt
- uses: actions/cache/save@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: priv/plts/
key: dialyzer_plt_${{ env.MIX_ENV }}-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-${{ hashFiles('mix.lock') }}
- run: mix dialyzer
docs:
name: "Generate Docs"
runs-on: ubuntu-latest
env:
MIX_ENV: dev
steps:
- name: Harden Runner
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
with:
egress-policy: audit
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: erlef/setup-elixir@e6d7c94229049569db56a7ad5a540c051a010af9 # v1.20.4
id: setupBEAM
with:
version-file: .tool-versions
version-type: strict
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: deps
key: deps-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-${{ hashFiles('mix.lock') }}
restore-keys: |
deps-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-
- run: mix deps.get
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: _build/${{ env.MIX_ENV }}
key: compile-${{ env.MIX_ENV }}-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-${{ hashFiles('mix.lock') }}
restore-keys: |
compile-${{ env.MIX_ENV }}-${{ runner.os }}-${{ steps.setupBEAM.outputs.otp-version }}-${{ steps.setupBEAM.outputs.elixir-version }}-
- run: mix deps.compile --skip-umbrella-children
- run: mix compile --warning-as-errors
- run: mix docs
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: docs
path: doc