add: make sure to stop the emqtt server when draining the pipeline #39
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 }} |