Skip to content

Commit

Permalink
Break out macOS test into a separate job
Browse files Browse the repository at this point in the history
Turns out the underlying setup-beam workflow doesn't support macOS [1].

This change breaks out that OS into its own job whereby we install
Erlang and (some version of) Elixir using Homebrew. I derived this
solution from [2].

🤞🏻 Let's see if it works!

[1] erlef/setup-beam#54
[2] https://github.com/rusterlium/rustler/blob/master/.github/workflows/main.yml
  • Loading branch information
jgarber623-cargosense committed Aug 5, 2024
1 parent cd35a17 commit 540b967
Showing 1 changed file with 26 additions and 15 deletions.
41 changes: 26 additions & 15 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,36 @@ on:
branches: ["main"]
workflow_dispatch:

env:
MIX_ENV: test

jobs:
test:
name: Elixir ${{ matrix.pair.elixir }} OTP ${{ matrix.pair.otp }} (${{ matrix.os }})
runs-on: ${{ matrix.os }}
env:
MIX_ENV: test
test_macos:
name: OTP ${{ matrix.otp }} (macOS)
runs-on: macos_latest
strategy:
fail-fast: false
matrix:
otp: ["erlang@24", "erlang"]
steps:
- uses: actions/checkout@v4
- name: Install Erlang and Elixir with Homebrew
run: |
brew install ${{ matrix.otp }}
mix local.hex --force
- run: mix format --check-formatted
- run: mix test
test_ubuntu:
name: Elixir ${{ matrix.pair.elixir }} OTP ${{ matrix.pair.otp }} (Ubuntu)
runs-on: ubuntu_latest
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
include:
- pair:
elixir: "1.13"
otp: "24.3.4.10"
- pair:
elixir: "1.17"
otp: "27.0.1"
pair:
- elixir: "1.13"
otp: "24.3.4.10"
- elixir: "1.17"
otp: "27.0.1"
steps:
- uses: actions/checkout@v4
- uses: CargoSense/setup-elixir-project@v1
Expand Down

0 comments on commit 540b967

Please sign in to comment.