Skip to content

misc

misc #4

Workflow file for this run

name: Main branch
on:
push:
branches:
- "main"
paths-ignore:
- '.envrc'
- '.gitignore'
- README.*
- LICENSE
pull_request:
paths-ignore:
- '.envrc'
- '.gitignore'
- README.*
- LICENSE
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
permissions:
contents: read
# Stop previous jobs if they are still running.
# https://docs.github.com/en/actions/learn-github-actions/expressions
# https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
concurrency:
# Use github.run_id on main branch
# Use github.event.pull_request.number on pull requests, so it's unique per pull request
# Use github.ref on other branches, so it's unique per branch
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
lint:
name: lint
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
# the following can be uncommented if viable resource-wise
# - pair: # Test very old Elixir and Erlang
# elixir: "1.14"
# otp: "25"
# - pair: # Test Erlang without -doc attribute support
# elixir: "1.16"
# otp: "26"
- pair: # Test Erlang with -doc attribute support
elixir: "1.17.3"
otp: "27"
steps:
- uses: actions/checkout@v4
- name: Set up Elixir
uses: erlef/setup-beam@v1
with:
elixir-version: ${{ matrix.pair.elixir }}
otp-version: ${{ matrix.pair.otp }}
- name: Add Prebuilt-MPR Repository
run: |
wget -qO - 'https://proget.makedeb.org/debian-feeds/prebuilt-mpr.pub' | gpg --dearmor | sudo tee /usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg 1> /dev/null
echo "deb [arch=all,$(dpkg --print-architecture) signed-by=/usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg] https://proget.makedeb.org prebuilt-mpr $(lsb_release -cs)" | sudo tee /etc/apt/sources.list.d/prebuilt-mpr.list
sudo apt update
shell: bash
- name: Install just
run: sudo apt install just
shell: bash
- name: Setup deps
run: just deps-get deps-compile
- name: Dialyzer
run: just dialyzer --format github
- name: Lint
run: just lint
test:
name: Build and test
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
# the following can be uncommented if viable resource-wise
# - pair: # Test very old Elixir and Erlang
# elixir: "1.14"
# otp: "25"
# - pair: # Test Erlang without -doc attribute support
# elixir: "1.16"
# otp: "26"
- pair: # Test Erlang with -doc attribute support
elixir: "1.17.3"
otp: "27"
steps:
- name: Run tests
uses: bonfire-networks/bonfire-extension-ci-action@latest
with:
elixir-version: ${{ matrix.pair.elixir }}
otp-version: ${{ matrix.pair.otp }}