Skip to content

Roll version

Roll version #146

Workflow file for this run

name: CI
on:
push:
pull_request:
release:
types:
- published
jobs:
test:
# This ensures we run the test for only the PR or the push
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
strategy:
matrix:
http_server: [Httpd, Plug.Cowboy, Bandit]
version:
- elixir: 1.15
otp: 26.0
- elixir: 1.13
otp: 25.0
runs-on: ubuntu-latest
name: OTP ${{matrix.version.otp}} / Elixir ${{matrix.version.elixir}} / ${{matrix.http_server}}
steps:
- uses: actions/checkout@v2
- uses: erlef/setup-beam@v1
with:
otp-version: ${{matrix.version.otp}}
elixir-version: ${{matrix.version.elixir}}
- run: mix deps.get
- run: MIX_ENV=test mix compile --warnings-as-errors
- run: HTTP_SERVER=${{matrix.http_server}} mix test
- run: MIX_ENV=test mix credo
deploy:
needs: test
runs-on: ubuntu-latest
if: github.event_name == 'release' && github.event.action == 'published'
name: Deploy published release
env:
HEX_API_KEY: ${{secrets.HEX_API_KEY}}
steps:
- uses: actions/checkout@v2
- uses: erlef/setup-beam@v1
with:
otp-version: 26.0
elixir-version: 1.15
- run: mix deps.get
- run: mix hex.publish --yes