add: lower min elixir version requirement #38
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Pipeline | |
on: | |
pull_request: | |
push: | |
branches: ["main"] | |
env: | |
MIX_ENV: test | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
permissions: | |
contents: read | |
jobs: | |
build: | |
name: Build and test | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- elixir: "1.14" | |
otp: "23.0" | |
# Latest versions. | |
- elixir: "1.17" | |
otp: "27.0" | |
lint: lint | |
coverage: coverage | |
steps: | |
- name: Check out this repository | |
uses: actions/checkout@v4 | |
- name: Start the Mosquitto MQTT broker | |
run: | | |
docker run \ | |
--detach \ | |
--name mqtt \ | |
-v ${{ github.workspace }}/.mosquitto:/mosquitto/config \ | |
-p 1883:1883 \ | |
-p 1884:1884 \ | |
eclipse-mosquitto:2.0 | |
- name: Set up Erlang and Elixir | |
uses: erlef/setup-beam@v1 | |
with: | |
otp-version: ${{matrix.otp}} | |
elixir-version: ${{ matrix.elixir }} | |
- name: Cache Mix dependencies | |
uses: actions/cache@v3 | |
id: cache-deps | |
with: | |
path: | | |
deps | |
_build | |
key: | | |
mix-${{ runner.os }}-${{matrix.elixir}}-${{matrix.otp}}-${{ hashFiles('**/mix.lock') }} | |
restore-keys: | | |
mix-${{ runner.os }}-${{matrix.elixir}}-${{matrix.otp}}- | |
- run: mix do deps.get --check-locked, deps.compile | |
if: steps.cache-deps.outputs.cache-hit != 'true' | |
- run: mix format --check-formatted | |
if: ${{ matrix.lint }} | |
- run: mix deps.unlock --check-unused | |
if: ${{ matrix.lint }} | |
- run: mix compile --warnings-as-errors | |
if: ${{ matrix.lint }} | |
- run: mix coveralls | |
if: ${{ matrix.coverage }} |