Co-authored-by: Wojtek Mach <wojtekmach@users.noreply.github.com>
This commit is contained in:
Paulo F. Oliveira
2025-05-29 11:38:18 +01:00
committed by GitHub
parent 46e061001b
commit 58f0e7ac10
11 changed files with 2389 additions and 58 deletions
+17
View File
@@ -18,6 +18,8 @@ jobs:
name: Version with commit unique id
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Version it!
@@ -39,6 +41,8 @@ jobs:
name: Expected local npm actions
runs-on: ubuntu-latest
if: github.ref != 'refs/heads/main'
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
@@ -76,3 +80,16 @@ jobs:
node-version: '20'
- run: npm install --production
- run: npm test
unit_tests_macos:
name: Unit tests (macOS)
runs-on: macos-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm ci
- run: npm test
+3 -3
View File
@@ -17,9 +17,9 @@ jobs:
strategy:
fail-fast: false
matrix:
os: ['ubuntu-22.04', 'windows-2022']
otp-version: ['24']
elixir-version: ['v1.14', '']
os: ['ubuntu-24.04', 'windows-2022', 'macos-15']
otp-version: ['27']
elixir-version: ['v1.18', '']
install-rebar: [true, false]
install-hex: [true, false]
steps:
+137
View File
@@ -0,0 +1,137 @@
---
name: macos
permissions:
contents: read
on:
push:
branches:
- main
pull_request:
branches:
- '*'
workflow_dispatch: {}
jobs:
integration_test:
name: >
OTP ${{matrix.combo.otp-version}},
Elixir ${{matrix.combo.elixir-version}},
rebar3 ${{matrix.combo.rebar3-version}}
runs-on: ${{matrix.combo.os}}
strategy:
fail-fast: false
matrix:
combo:
- otp-version: '27'
elixir-version: 'v1.17.0'
rebar3-version: '3.23'
os: 'macos-latest'
- otp-version: '26.0'
elixir-version: 'v1.14-otp-25'
os: 'macos-latest'
version-type: 'strict'
- otp-version: '26.0'
elixir-version: '1.14.5'
os: 'macos-latest'
version-type: 'strict'
- otp-version: '25.2'
elixir-version: '1.14.2'
os: 'macos-latest'
- otp-version: '25.2'
elixir-version: '1.14.3'
os: 'macos-latest'
version-type: 'strict'
- otp-version: '27'
os: 'macos-15'
version-type: 'strict'
- otp-version: '26'
os: 'macos-15'
version-type: 'strict'
- otp-version: '25'
os: 'macos-15'
- otp-version: '26'
elixir-version: '1.16'
rebar3-version: '3.25'
os: 'macos-14'
- otp-version: '25.0'
elixir-version: 'v1.13.4-otp-25'
rebar3-version: '3.18.0'
os: 'macos-latest'
version-type: 'strict'
- otp-version: '25.0'
elixir-version: 'v1.13.4'
rebar3-version: '3.18.0'
os: 'macos-latest'
version-type: 'strict'
- otp-version: 'latest'
rebar3-version: 'latest'
os: 'macos-latest'
steps:
- uses: actions/checkout@v4
- name: Use erlef/setup-beam
id: setup-beam
uses: ./
with:
otp-version: ${{matrix.combo.otp-version}}
elixir-version: ${{matrix.combo.elixir-version}}
rebar3-version: ${{matrix.combo.rebar3-version}}
version-type: ${{matrix.combo.version-type}}
- name: Erlang/OTP version (action)
run: echo "Erlang/OTP ${{steps.setup-beam.outputs.otp-version}}"
if: ${{matrix.combo.otp-version}}
- name: Elixir version (action)
run: echo "Elixir ${{steps.setup-beam.outputs.elixir-version}}"
if: ${{matrix.combo.elixir-version}}
- name: rebar3 version (action)
run: echo "rebar3 ${{steps.setup-beam.outputs.rebar3-version}}"
if: ${{matrix.combo.rebar3-version}}
- name: mix version and help (CLI)
run: |
mix -v
mix help local.rebar
mix help local.hex
if: ${{matrix.combo.elixir-version}}
- name: Run Elixir/Mix project tests
run: |
cd test/projects/elixir_mix
mix deps.get
mix test
if: ${{matrix.combo.elixir-version}}
- name: Run Erlang/rebar3 project tests
run: |
cd test/projects/erlang_rebar3
rebar3 ct
if: ${{matrix.combo.rebar3-version}}
- name: Run escript
run: |
mix escript.install --force ${{matrix.combo.escript_packages}}
${{matrix.combo.escript_script}}
if: ${{matrix.combo.escript_packages && matrix.combo.escript_script}}
environment_variables:
name: Environment variables
runs-on: ${{matrix.combo.os}}
strategy:
fail-fast: false
matrix:
combo:
- otp-version: latest
elixir-version: latest
rebar3-version: nightly
os: macos-latest
steps:
- uses: actions/checkout@v4
- name: Use erlef/setup-beam
id: setup-beam
uses: ./
with:
otp-version: ${{matrix.combo.otp-version}}
elixir-version: ${{matrix.combo.elixir-version}}
rebar3-version: ${{matrix.combo.rebar3-version}}
- run: env
- name: Check environment variables
run: |
${INSTALL_DIR_FOR_ELIXIR}/bin/elixir -v
${INSTALL_DIR_FOR_OTP}/bin/erl -version
${INSTALL_DIR_FOR_REBAR3}/bin/rebar3 version