Skip to content

Form fields uses the value of selected option when different from inn… #94

Form fields uses the value of selected option when different from inn…

Form fields uses the value of selected option when different from inn… #94

Workflow file for this run

name: Test & Audit
on:
push:
branches:
- main
- ci/*
pull_request:
branches:
- main
jobs:
build_test:
strategy:
fail-fast: false
matrix:
include:
- pair:
elixir: 1.15.8
otp: 25.3.2.12
- pair:
elixir: 1.17.0
otp: 27.0
name: Build Test
runs-on: ubuntu-20.04
env:
MIX_ENV: test
steps:
- uses: actions/checkout@v3
- name: Set up Elixir
id: beam
uses: erlef/setup-beam@v1
with:
elixir-version: ${{ matrix.pair.elixir }}
otp-version: ${{ matrix.pair.otp }}
version-type: strict
- name: Cache deps
uses: actions/cache@v3
with:
path: deps
key: ${{ runner.os }}-test-deps-v1-${{ hashFiles('**/mix.lock') }}-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}
- name: Cache _build
uses: actions/cache@v3
with:
path: _build
key: ${{ runner.os }}-test-build-v1-${{ hashFiles('**/mix.lock') }}-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}
- name: Install dependencies
run: mix deps.get
working-directory: .
- name: Compile for test
run: mix compile --force --warnings-as-errors
working-directory: .
build_dev:
strategy:
fail-fast: false
matrix:
include:
- pair:
elixir: 1.15.8
otp: 25.3.2.12
- pair:
elixir: 1.17.0
otp: 27.0
name: Build Dev
runs-on: ubuntu-20.04
env:
MIX_ENV: dev
steps:
- uses: actions/checkout@v3
- name: Set up Elixir
id: beam
uses: erlef/setup-beam@v1
with:
elixir-version: ${{ matrix.pair.elixir }}
otp-version: ${{ matrix.pair.otp }}
version-type: strict
- name: Cache deps
uses: actions/cache@v3
with:
path: deps
key: ${{ runner.os }}-dev-deps-v1-${{ hashFiles('**/mix.lock') }}-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}
- name: Cache _build
uses: actions/cache@v3
with:
path: _build
key: ${{ runner.os }}-dev-build-v1-${{ hashFiles('**/mix.lock') }}-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}
- name: Install dependencies
run: mix deps.get
working-directory: .
- name: Compile for dev
run: mix compile --force --warnings-as-errors
working-directory: .
test:
strategy:
fail-fast: false
matrix:
include:
- pair:
elixir: 1.15.8
otp: 25.3.2.12
- pair:
elixir: 1.17.0
otp: 27.0
name: Test
needs: build_test
runs-on: ubuntu-20.04
env:
MIX_ENV: test
steps:
- uses: actions/checkout@v3
- name: Set up Elixir
id: beam
uses: erlef/setup-beam@v1
with:
elixir-version: ${{ matrix.pair.elixir }}
otp-version: ${{ matrix.pair.otp }}
version-type: strict
- name: Cache deps
uses: actions/cache@v3
with:
path: deps
key: ${{ runner.os }}-test-deps-v1-${{ hashFiles('**/mix.lock') }}-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}
- name: Cache _build
uses: actions/cache@v3
with:
path: _build
key: ${{ runner.os }}-test-build-v1-${{ hashFiles('**/mix.lock') }}-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}
- name: Run tests
run: mix test --color --warnings-as-errors
working-directory: .
credo_and_dialyxir:
strategy:
fail-fast: false
matrix:
include:
- pair:
elixir: 1.15.8
otp: 25.3.2.12
- pair:
elixir: 1.17.0
otp: 27.0
name: Credo + Dialyxir
needs: build_test
runs-on: ubuntu-20.04
env:
MIX_ENV: test
steps:
- uses: actions/checkout@v3
- name: Set up Elixir
id: beam
uses: erlef/setup-beam@v1
with:
elixir-version: ${{ matrix.pair.elixir }}
otp-version: ${{ matrix.pair.otp }}
version-type: strict
- name: Cache deps
uses: actions/cache@v3
with:
path: deps
key: ${{ runner.os }}-test-deps-v1-${{ hashFiles('**/mix.lock') }}-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}
- name: Cache _build
uses: actions/cache@v3
with:
path: _build
key: ${{ runner.os }}-test-build-v1-${{ hashFiles('**/mix.lock') }}-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}
- name: Cache PLTs
uses: actions/cache@v3
with:
path: priv/plts
key: ${{ runner.os }}-test-dialyzer-v1-${{ hashFiles('**/mix.lock') }}-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}
- name: Credo
run: mix credo --strict
working-directory: .
- name: Run dialyzer
run: mix dialyzer
working-directory: .
audit:
strategy:
fail-fast: false
matrix:
include:
- pair:
elixir: 1.17.0
otp: 27.0
name: Audit
needs: build_dev
runs-on: ubuntu-20.04
env:
MIX_ENV: dev
steps:
- uses: actions/checkout@v3
- name: Set up Elixir
id: beam
uses: erlef/setup-beam@v1
with:
elixir-version: ${{ matrix.pair.elixir }}
otp-version: ${{ matrix.pair.otp }}
version-type: strict
- name: Cache deps
uses: actions/cache@v3
with:
path: deps
key: ${{ runner.os }}-dev-deps-v1-${{ hashFiles('**/mix.lock') }}-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}
- name: Cache _build
uses: actions/cache@v3
with:
path: _build
key: ${{ runner.os }}-dev-build-v1-${{ hashFiles('**/mix.lock') }}-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}
- name: Check Elixir formatting
run: mix format --check-formatted
working-directory: .
- name: Check for unused dependencies
run: mix deps.unlock --check-unused
working-directory: .
- name: Audit deps
run: mix deps.audit
working-directory: .
publish:
strategy:
fail-fast: false
matrix:
include:
- pair:
elixir: 1.17.0
otp: 27.0
name: Publish to Hex
if: github.ref == 'refs/heads/main'
needs:
- test
- credo_and_dialyxir
- audit
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Set up Elixir
id: beam
uses: erlef/setup-beam@v1
with:
elixir-version: ${{ matrix.pair.elixir }}
otp-version: ${{ matrix.pair.otp }}
version-type: strict
- name: Cache deps
uses: actions/cache@v3
with:
path: deps
key: ${{ runner.os }}-dev-deps-v1-${{ hashFiles('**/mix.lock') }}-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}
- name: Cache _build
uses: actions/cache@v3
with:
path: _build
key: ${{ runner.os }}-dev-build-v1-${{ hashFiles('**/mix.lock') }}-${{ steps.beam.outputs.otp-version }}-${{ steps.beam.outputs.elixir-version }}
- name: Publish to Hex
uses: synchronal/hex-publish-action@v3
with:
name: html_query
key: ${{ secrets.HEX_PM_KEY }}