Skip to content

Adds Telemetry Tesla Midleware to SOAP Client and IPN Client #263

Adds Telemetry Tesla Midleware to SOAP Client and IPN Client

Adds Telemetry Tesla Midleware to SOAP Client and IPN Client #263

Workflow file for this run

name: CI
on:
- push
- pull_request
env:
MIX_ENV: test
OTP_VERSION_SPEC: "24.0"
ELIXIR_VERSION_SPEC: "1.12.0"
jobs:
compile:
name: Compile
runs-on: ubuntu-latest
steps:
# shared steps
- uses: actions/checkout@v2
- uses: erlef/setup-elixir@v1
id: setup
with:
otp-version: ${{ env.OTP_VERSION_SPEC }}
elixir-version: ${{ env.ELIXIR_VERSION_SPEC }}
- name: Cache Keys
id: keys
run: |
echo ::set-output name=deps_key::deps-${{ runner.os }}
echo ::set-output name=lockfile_key::${{ hashFiles('mix.lock') }}
echo ::set-output name=build_key::build-${{ runner.os }}-${{ env.MIX_ENV }}
echo ::set-output name=version_key::${{ steps.setup.outputs['otp-version'] }}-${{ steps.setup.outputs['elixir-version'] }}
echo ::set-output name=files_key::${{ hashFiles('apps/*/lib/**/*.ex','apps/*/test/**/*.ex','mix.lock') }}
- uses: actions/[email protected]
id: deps_cache
with:
path: deps
key: ${{ steps.keys.outputs.deps_key }}-${{ steps.keys.outputs.lockfile_key }}
restore-keys: |
${{ steps.keys.outputs.deps_key }}-
- uses: actions/[email protected]
id: build_cache
with:
path: _build
key: ${{ steps.keys.outputs.build_key }}-${{ steps.keys.outputs.version_key }}-${{ steps.keys.outputs.files_key }}
restore-keys: |
${{ steps.keys.outputs.build_key }}-${{ steps.keys.outputs.version_key }}-
- name: Install dependencies
if: steps.deps_cache.outputs['cache-hit'] != 'true'
run: mix deps.get
- name: Compile
if: steps.build_cache.outputs['cache-hit'] != 'true'
run: mix compile --warnings-as-errors
format:
name: "Check Formatted"
needs: compile
runs-on: ubuntu-latest
steps:
# shared steps
- uses: actions/checkout@v2
- uses: erlef/setup-elixir@v1
id: setup
with:
otp-version: ${{ env.OTP_VERSION_SPEC }}
elixir-version: ${{ env.ELIXIR_VERSION_SPEC }}
- name: Cache Keys
id: keys
run: |
echo ::set-output name=deps_key::deps-${{ runner.os }}
echo ::set-output name=lockfile_key::${{ hashFiles('mix.lock') }}
echo ::set-output name=build_key::build-${{ runner.os }}-${{ env.MIX_ENV }}
echo ::set-output name=version_key::${{ steps.setup.outputs['otp-version'] }}-${{ steps.setup.outputs['elixir-version'] }}
echo ::set-output name=files_key::${{ hashFiles('apps/*/lib/**/*.ex','apps/*/test/**/*.ex','mix.lock') }}
- uses: actions/[email protected]
id: deps_cache
with:
path: deps
key: ${{ steps.keys.outputs.deps_key }}-${{ steps.keys.outputs.lockfile_key }}
restore-keys: |
${{ steps.keys.outputs.deps_key }}-
- uses: actions/[email protected]
id: build_cache
with:
path: _build
key: ${{ steps.keys.outputs.build_key }}-${{ steps.keys.outputs.version_key }}-${{ steps.keys.outputs.files_key }}
restore-keys: |
${{ steps.keys.outputs.build_key }}-${{ steps.keys.outputs.version_key }}-
- name: Install dependencies
if: steps.deps_cache.outputs['cache-hit'] != 'true'
run: mix deps.get
- name: Compile
if: steps.build_cache.outputs['cache-hit'] != 'true'
run: mix compile --warnings-as-errors
# job steps
- name: Check formatted
run: mix format --check-formatted
test:
name: Tests
needs: compile
runs-on: ubuntu-latest
steps:
# shared steps
- uses: actions/checkout@v2
- uses: erlef/setup-elixir@v1
id: setup
with:
otp-version: ${{ env.OTP_VERSION_SPEC }}
elixir-version: ${{ env.ELIXIR_VERSION_SPEC }}
- name: Cache Keys
id: keys
run: |
echo ::set-output name=deps_key::deps-${{ runner.os }}
echo ::set-output name=lockfile_key::${{ hashFiles('mix.lock') }}
echo ::set-output name=build_key::build-${{ runner.os }}-${{ env.MIX_ENV }}
echo ::set-output name=version_key::${{ steps.setup.outputs['otp-version'] }}-${{ steps.setup.outputs['elixir-version'] }}
echo ::set-output name=files_key::${{ hashFiles('apps/*/lib/**/*.ex','apps/*/test/**/*.ex','mix.lock') }}
- uses: actions/[email protected]
id: deps_cache
with:
path: deps
key: ${{ steps.keys.outputs.deps_key }}-${{ steps.keys.outputs.lockfile_key }}
restore-keys: |
${{ steps.keys.outputs.deps_key }}-
- uses: actions/[email protected]
id: build_cache
with:
path: _build
key: ${{ steps.keys.outputs.build_key }}-${{ steps.keys.outputs.version_key }}-${{ steps.keys.outputs.files_key }}
restore-keys: |
${{ steps.keys.outputs.build_key }}-${{ steps.keys.outputs.version_key }}-
- name: Compile
if: steps.build_cache.outputs['cache-hit'] != 'true'
run: mix compile --warnings-as-errors
# job steps
- name: Run tests
run: mix coveralls.json
- uses: codecov/codecov-action@v1
with:
token: ${{secrets.CODECOV_TOKEN}}
fail_ci_if_error: true
credo:
name: Credo
needs: compile
runs-on: ubuntu-latest
steps:
# shared steps
- uses: actions/checkout@v2
- uses: erlef/setup-elixir@v1
id: setup
with:
otp-version: ${{ env.OTP_VERSION_SPEC }}
elixir-version: ${{ env.ELIXIR_VERSION_SPEC }}
- name: Cache Keys
id: keys
run: |
echo ::set-output name=deps_key::deps-${{ runner.os }}
echo ::set-output name=lockfile_key::${{ hashFiles('mix.lock') }}
echo ::set-output name=build_key::build-${{ runner.os }}-${{ env.MIX_ENV }}
echo ::set-output name=version_key::${{ steps.setup.outputs['otp-version'] }}-${{ steps.setup.outputs['elixir-version'] }}
echo ::set-output name=files_key::${{ hashFiles('apps/*/lib/**/*.ex','apps/*/test/**/*.ex','mix.lock') }}
- uses: actions/[email protected]
id: deps_cache
with:
path: deps
key: ${{ steps.keys.outputs.deps_key }}-${{ steps.keys.outputs.lockfile_key }}
restore-keys: |
${{ steps.keys.outputs.deps_key }}-
- uses: actions/[email protected]
id: build_cache
with:
path: _build
key: ${{ steps.keys.outputs.build_key }}-${{ steps.keys.outputs.version_key }}-${{ steps.keys.outputs.files_key }}
restore-keys: |
${{ steps.keys.outputs.build_key }}-${{ steps.keys.outputs.version_key }}-
- name: Compile
if: steps.build_cache.outputs['cache-hit'] != 'true'
run: mix compile --warnings-as-errors
# job steps
- name: Run credo
run: mix credo --strict
dialyzer:
name: Dialyzer
runs-on: ubuntu-latest
env:
MIX_ENV: dev
# Change either of these if you want to bust the cache:
DEPS_CACHE_PREFIX: dialyzer-v2-
BUILD_CACHE_PREFIX: dialyzer-v2-
steps:
# shared steps
- uses: actions/checkout@v2
- uses: erlef/setup-elixir@v1
id: setup
with:
otp-version: ${{ env.OTP_VERSION_SPEC }}
elixir-version: ${{ env.ELIXIR_VERSION_SPEC }}
- name: Cache Keys
id: keys
run: |
echo ::set-output name=deps_key::deps-${{ runner.os }}
echo ::set-output name=lockfile_key::${{ hashFiles('mix.lock') }}
echo ::set-output name=build_key::build-${{ runner.os }}-${{ env.MIX_ENV }}
echo ::set-output name=version_key::${{ steps.setup.outputs['otp-version'] }}-${{ steps.setup.outputs['elixir-version'] }}
echo ::set-output name=files_key::${{ hashFiles('apps/*/lib/**/*.ex','apps/*/test/**/*.ex','mix.lock') }}
echo ::set-output name=deps_cache_prefix::${{ env.DEPS_CACHE_PREFIX }}
echo ::set-output name=build_cache_prefix::${{ env.BUILD_CACHE_PREFIX }}
- uses: actions/[email protected]
id: deps_cache
with:
path: deps
key: ${{ steps.keys.outputs.deps_cache_prefix }}${{ steps.keys.outputs.deps_key }}-${{ steps.keys.outputs.lockfile_key }}
restore-keys: |
${{ steps.keys.outputs.deps_cache_prefix }}${{ steps.keys.outputs.deps_key }}-
- uses: actions/[email protected]
id: build_cache
with:
path: _build
key: ${{ steps.keys.outputs.build_cache_prefix }}${{ steps.keys.outputs.build_key }}-${{ steps.keys.outputs.version_key }}-${{ steps.keys.outputs.files_key }}
restore-keys: |
${{ steps.keys.outputs.build_cache_prefix }}${{ steps.keys.outputs.build_key }}-${{ steps.keys.outputs.version_key }}-
- name: Install dependencies
if: steps.deps_cache.outputs['cache-hit'] != 'true'
run: mix deps.get
- name: Compile
if: steps.build_cache.outputs['cache-hit'] != 'true'
run: mix compile --warnings-as-errors
# job steps
- name: PLTs
if: steps.build_cache.outputs['cache-hit'] != 'true'
run: mix dialyzer --plt --no-compile
- name: Run dialyzer
run: mix dialyzer --no-check --no-compile