53 lines
1.4 KiB
YAML
53 lines
1.4 KiB
YAML
name: Test
|
|
|
|
on:
|
|
push: {branches: main}
|
|
pull_request: {branches: main}
|
|
repository_dispatch:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
unit_test:
|
|
runs-on: ubuntu-latest
|
|
name: Unit tests
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-node@v1
|
|
with: {node-version: '12'}
|
|
- run: npm ci
|
|
- run: npm test
|
|
|
|
integration_test:
|
|
runs-on: ubuntu-latest
|
|
name: OTP ${{matrix.pair.otp-version}} / Elixir ${{matrix.pair.elixir-version}}
|
|
strategy:
|
|
matrix:
|
|
pair:
|
|
# Full Versions
|
|
- otp-version: '22.0'
|
|
elixir-version: '1.9.1'
|
|
# Semver ranges
|
|
- otp-version: '21.x'
|
|
elixir-version: '<1.9.1'
|
|
# Branches
|
|
- otp-version: '22.0'
|
|
elixir-version: master
|
|
# Pre-releases
|
|
- otp-version: '23.0'
|
|
elixir-version: '1.11.0-rc.0'
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Use actions/setup-elixir
|
|
id: setup-elixir
|
|
uses: ./
|
|
with:
|
|
otp-version: ${{matrix.pair.otp-version}}
|
|
elixir-version: ${{matrix.pair.elixir-version}}
|
|
- name: Output runtime versions
|
|
run: echo "Elixir ${{steps.setup-elixir.outputs.elixir-version}} / OTP ${{steps.setup-elixir.outputs.otp-version}}"
|
|
- name: Run Mix project tests
|
|
run: |-
|
|
cd test-project
|
|
mix deps.get
|
|
mix test
|