Skip to content

Fix flaky Elixir test #1511

Fix flaky Elixir test

Fix flaky Elixir test #1511

Workflow file for this run

name: Elixir
on:
pull_request:
branches:
- 'main'
push:
branches:
- 'main'
jobs:
format:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: erlef/setup-beam@v1
with:
otp-version: '25.0'
elixir-version: '1.13.4'
version-type: 'strict'
- uses: actions/cache@v2
name: Cache
with:
path: |
apps/opentelemetry_api/deps
key: v3-${{ hashFiles('apps/opentelemetry_api/mix.lock') }}
- run: mix format --check-formatted
- run: mix deps.get
working-directory: apps/opentelemetry_api/
- run: mix format --check-formatted
working-directory: apps/opentelemetry_api/
sdk_tests:
runs-on: ${{ matrix.os }}
name: Test SDK on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) and ${{ matrix.os }}
strategy:
matrix:
otp_version: ['25.0.3', '24.1.2']
elixir_version: ['1.14', '1.13.4']
rebar3_version: ['3.20.0']
os: [ubuntu-20.04]
env:
OTP_VERSION: ${{ matrix.otp_version }}
ELIXIR_VERSION: ${{ matrix.elixir_version }}
steps:
- uses: actions/checkout@v2
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
elixir-version: ${{ matrix.elixir_version }}
rebar3-version: ${{ matrix.rebar3_version }}
version-type: 'strict'
- run: mix local.rebar --force rebar3 /home/runner/work/_temp/.setup-beam/rebar3/bin/rebar3
- name: Compile
run: rebar3 as test compile
- name: ExUnit
run: mix test --no-start test/otel_tests.exs test/otel_metric_tests.exs
api_tests:
runs-on: ${{ matrix.os }}
name: Test API on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) and ${{ matrix.os }}
strategy:
matrix:
otp_version: ['25.0.3', '24.1.2']
elixir_version: ['1.14', '1.13.4']
rebar3_version: ['3.20.0']
os: [ubuntu-20.04]
env:
OTP_VERSION: ${{ matrix.otp_version }}
ELIXIR_VERSION: ${{ matrix.elixir_version }}
defaults:
run:
working-directory: apps/opentelemetry_api/
steps:
- uses: actions/checkout@v2
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
elixir-version: ${{ matrix.elixir_version }}
rebar3-version: ${{ matrix.rebar3_version }}
version-type: 'strict'
- uses: actions/cache@v2
name: Cache
with:
path: |
apps/opentelemetry_api/deps
apps/opentelemetry_api/_build
key: ${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.elixir_version }}-v4-${{ hashFiles(format('{0}{1}', github.workspace, '/apps/opentelemetry_api/mix.lock')) }}
restore-keys: |
${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.elixir_version }}-
- run: mix local.rebar --force rebar3 /home/runner/work/_temp/.setup-beam/rebar3/bin/rebar3
- run: mix deps.get
name: Deps
- run: mix test --cover
name: ExUnit
- uses: codecov/codecov-action@v3
if: ${{ always() }}
with:
file: apps/opentelemetry_api/coverage.xml
env_vars: OTP_VERSION,ELIXIR_VERSION
flags: api,elixir
dialyze:
runs-on: ${{ matrix.os }}
name: Dialyze on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }}) and ${{ matrix.os }}
strategy:
matrix:
otp_version: ['25.0']
elixir_version: ['1.14']
os: [ubuntu-20.04]
env:
OTP_VERSION: ${{ matrix.otp_version }}
ELIXIR_VERSION: ${{ matrix.elixir_version }}
defaults:
run:
working-directory: apps/opentelemetry_api/
steps:
- uses: actions/checkout@v2
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
elixir-version: ${{ matrix.elixir_version }}
version-type: 'strict'
- uses: actions/cache@v2
name: Cache
with:
path: |
apps/opentelemetry_api/deps
apps/opentelemetry_api/_build
key: ${{ runner.os }}-dialyzer-${{ matrix.otp_version }}-${{ matrix.elixir_version }}-v4-${{ hashFiles('apps/opentelemetry_api/mix.lock') }}
restore-keys: |
${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.elixir_version }}-
- run: mix deps.get
name: Deps
- run: mix dialyzer
name: Dialyzer