Release drafting (#200)

This commit is contained in:
Bryan Naegele 2023-09-05 09:38:49 -06:00 committed by GitHub
parent 17d31cc594
commit 018efed93a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 594 additions and 190 deletions

30
.github/labeler.yml vendored
View File

@ -47,12 +47,33 @@ utilities:
scope-ci: scope-ci:
- .github/workflows/** - .github/workflows/**
opentelemetry_aws_xray:
- utilities/opentelemetry_aws_xray/**/*
opentelemetry_cowboy: opentelemetry_cowboy:
- instrumentation/opentelemetry_cowboy/**/* - instrumentation/opentelemetry_cowboy/**/*
opentelemetry_dataloader:
- instrumentation/opentelemetry_dataloader/**/*
opentelemetry_ecto: opentelemetry_ecto:
- instrumentation/opentelemetry_ecto/**/* - instrumentation/opentelemetry_ecto/**/*
opentelemetry_elli:
- instrumentation/opentelemetry_elli/**/*
opentelemetry_finch:
- instrumentation/opentelemetry_finch/**/*
opentelemetry_grpcbox:
- instrumentation/opentelemetry_grpcbox/**/*
opentelemetry_httpoison:
- instrumentation/opentelemetry_httpoison/**/*
opentelemetry_instrumentation_http:
- utilities/opentelemetry_instrumentation_http/**/*
opentelemetry_nebulex: opentelemetry_nebulex:
- instrumentation/opentelemetry_nebulex/**/* - instrumentation/opentelemetry_nebulex/**/*
@ -71,17 +92,8 @@ opentelemetry_redix:
opentelemetry_req: opentelemetry_req:
- instrumentation/opentelemetry_req/**/* - instrumentation/opentelemetry_req/**/*
opentelemetry_finch:
- instrumentation/opentelemetry_finch/**/*
opentelemetry_telemetry: opentelemetry_telemetry:
- utilities/opentelemetry_telemetry/**/* - utilities/opentelemetry_telemetry/**/*
opentelemetry_tesla: opentelemetry_tesla:
- instrumentation/opentelemetry_tesla/**/* - instrumentation/opentelemetry_tesla/**/*
opentelemetry_xray:
- utilities/opentelemetry_xray/**/*
opentelemetry_instrumentation_http:
- utilities/opentelemetry_instrumentation_http/**/*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry AWS X-Ray - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-aws-xray-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-aws-xray-v
include-paths:
- utilities/opentelemetry_aws_xray/src/**/*
- utilities/opentelemetry_aws_xray/rebar.*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry Cowboy - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-cowboy-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-cowboy-v
include-paths:
- instrumentation/opentelemetry_cowboy/src/**/*
- instrumentation/opentelemetry_cowboy/rebar.*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry Dataloader - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-dataloader-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-dataloader-v
include-paths:
- instrumentation/opentelemetry_dataloader/lib/**/*
- instrumentation/opentelemetry_dataloader/lib/mix.*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry Ecto - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-ecto-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-ecto-v
include-paths:
- instrumentation/opentelemetry_ecto/lib/**/*
- instrumentation/opentelemetry_ecto/lib/mix.*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry Elli - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-elli-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-elli-v
include-paths:
- instrumentation/opentelemetry_elli/src/**/*
- instrumentation/opentelemetry_elli/rebar.*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry Finch - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-finch-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-finch-v
include-paths:
- instrumentation/opentelemetry_finch/lib/**/*
- instrumentation/opentelemetry_finch/lib/mix.*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry GRPCBox - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-grpcbox-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-grpcbox-v
include-paths:
- instrumentation/opentelemetry_grpcbox/src/**/*
- instrumentation/opentelemetry_grpcbox/rebar.*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry HTTPoison - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-httpoison-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-httpoison-v
include-paths:
- instrumentation/opentelemetry_httpoison/lib/**/*
- instrumentation/opentelemetry_httpoison/lib/mix.*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry Instrumentation HTTP - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-instrumentation-http-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-instrumentation-http-v
include-paths:
- utilities/opentelemetry_instrumentation-http/src/**/*
- utilities/opentelemetry_instrumentation-http/rebar.*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry Nebulex - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-nebulex-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-nebulex-v
include-paths:
- instrumentation/opentelemetry_nebulex/lib/**/*
- instrumentation/opentelemetry_nebulex/lib/mix.*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry Oban - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-oban-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-oban-v
include-paths:
- instrumentation/opentelemetry_oban/lib/**/*
- instrumentation/opentelemetry_oban/lib/mix.*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry Phoenix - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-phoenix-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-phoenix-v
include-paths:
- instrumentation/opentelemetry_phoenix/lib/**/*
- instrumentation/opentelemetry_phoenix/lib/mix.*

View File

@ -0,0 +1,9 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry Process Propagator - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-process-propagator-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-process-propagator-v
include-paths:
- propagators/opentelemetry_process_propagator/src/**/*
- propagators/opentelemetry_process_propagator/rebar.*
- propagators/opentelemetry_process_propagator/lib/**/*
- propagators/opentelemetry_process_propagator/lib/mix.*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry Redix - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-redix-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-redix-v
include-paths:
- instrumentation/opentelemetry_redix/lib/**/*
- instrumentation/opentelemetry_redix/lib/mix.*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry Req - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-req-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-req-v
include-paths:
- instrumentation/opentelemetry_req/lib/**/*
- instrumentation/opentelemetry_req/lib/mix.*

View File

@ -0,0 +1,9 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry Telemetry - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-telemetry-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-telemetry-v
include-paths:
- utilities/opentelemetry_telemetry/src/**/*
- utilities/opentelemetry_telemetry/rebar.*
- utilities/opentelemetry_telemetry/lib/**/*
- utilities/opentelemetry_telemetry/lib/mix.*

View File

@ -0,0 +1,7 @@
_extends: opentelemetry-erlang-contrib:.github/release-drafter.yml
name-template: 'Opentelemetry Tesla - v$RESOLVED_VERSION'
tag-template: 'opentelemetry-tesla-v$RESOLVED_VERSION'
tag-prefix: opentelemetry-tesla-v
include-paths:
- instrumentation/opentelemetry_tesla/lib/**/*
- instrumentation/opentelemetry_tesla/lib/mix.*

30
.github/release-drafter.yml vendored Normal file
View File

@ -0,0 +1,30 @@
categories:
- title: '🚀 Features'
labels:
- 'feature'
- 'enhancement'
- 'release'
- title: '🐛 Bug Fixes'
labels:
- 'bug'
- title: '🧰 Maintenance'
label: 'chore'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
version-resolver:
major:
labels:
- 'major'
minor:
labels:
- 'minor'
patch:
labels:
- 'patch'
default: patch
exclude-labels:
- 'skip-changelog'
template: |
## Changes
$CHANGES

View File

@ -27,6 +27,54 @@ jobs:
matrixStringifiedObject="$(jq -c . .github/elixir-test-matrix.json)" matrixStringifiedObject="$(jq -c . .github/elixir-test-matrix.json)"
echo "matrix=$matrixStringifiedObject" >> $GITHUB_OUTPUT echo "matrix=$matrixStringifiedObject" >> $GITHUB_OUTPUT
opentelemetry-dataloader:
needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_dataloader'))
env:
app: "opentelemetry_dataloader"
defaults:
run:
working-directory: instrumentation/${{ env.app }}
runs-on: ${{ matrix.os }}
name: Opentelemetry Dataloader test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }})
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }}
services:
postgres:
image: circleci/postgres:13.3-ram
ports: ["5432:5432"]
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: opentelemetry_dataloader_test
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
elixir-version: ${{ matrix.elixir_version }}
rebar3-version: ${{ matrix.rebar3_version }}
- name: Cache
uses: actions/cache@v3
with:
path: |
~/deps
~/_build
key: ${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.elixir_version }}-v3-${{ hashFiles('**/mix.lock') }}
- name: Fetch deps
if: steps.deps-cache.outputs.cache-hit != 'true'
run: mix deps.get
- name: Compile project
run: mix compile --warnings-as-errors
- name: Check formatting
run: mix format --check-formatted
if: matrix.check_formatted
- name: Test
run: mix test
opentelemetry-ecto: opentelemetry-ecto:
needs: [test-matrix] needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_ecto')) if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_ecto'))
@ -74,6 +122,82 @@ jobs:
- name: Test - name: Test
run: mix test run: mix test
opentelemetry-finch:
needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_finch'))
env:
app: "opentelemetry_finch"
defaults:
run:
working-directory: instrumentation/${{ env.app }}
runs-on: ${{ matrix.os }}
name: Opentelemetry Finch test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }})
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
elixir-version: ${{ matrix.elixir_version }}
rebar3-version: ${{ matrix.rebar3_version }}
- name: Cache
uses: actions/cache@v3
with:
path: |
~/deps
~/_build
key: ${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.elixir_version }}-v3-${{ hashFiles('**/mix.lock') }}
- name: Fetch deps
if: steps.deps-cache.outputs.cache-hit != 'true'
run: mix deps.get
- name: Compile project
run: mix compile --warnings-as-errors
- name: Check formatting
run: mix format --check-formatted
if: matrix.check_formatted
- name: Test
run: mix test
opentelemetry-httpoison:
needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_httpoison'))
env:
app: "opentelemetry_httpoison"
defaults:
run:
working-directory: instrumentation/${{ env.app }}
runs-on: ubuntu-20.04
name: Opentelemetry HTTPoison test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }})
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
elixir-version: ${{ matrix.elixir_version }}
rebar3-version: ${{ matrix.rebar3_version }}
- name: Cache
uses: actions/cache@v3
with:
path: |
~/deps
~/_build
key: ${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.elixir_version }}-v3-${{ hashFiles('**/mix.lock') }}
- name: Fetch deps
if: steps.deps-cache.outputs.cache-hit != 'true'
run: mix deps.get
- name: Compile project
run: mix compile --warnings-as-errors
- name: Check formatting
run: mix format --check-formatted
if: matrix.check_formatted
- name: Test
run: mix test
opentelemetry-nebulex: opentelemetry-nebulex:
needs: [test-matrix] needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_nebulex')) if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_nebulex'))
@ -112,6 +236,53 @@ jobs:
- name: Test - name: Test
run: mix test run: mix test
opentelemetry-oban:
needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_oban'))
env:
app: "opentelemetry_oban"
defaults:
run:
working-directory: instrumentation/${{ env.app }}
runs-on: ${{ matrix.os }}
name: Opentelemetry Oban test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }})
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }}
services:
postgres:
image: circleci/postgres:13.3-ram
ports: ["5432:5432"]
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: opentelemetry_oban_test
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
elixir-version: ${{ matrix.elixir_version }}
rebar3-version: ${{ matrix.rebar3_version }}
- name: Cache
uses: actions/cache@v3
with:
path: |
~/deps
~/_build
key: ${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.elixir_version }}-v3-${{ hashFiles('**/mix.lock') }}
- name: Fetch deps
if: steps.deps-cache.outputs.cache-hit != 'true'
run: mix deps.get
- name: Compile project
run: mix compile --warnings-as-errors
- name: Check formatting
run: mix format --check-formatted
if: matrix.check_formatted
- name: Test
run: mix test
opentelemetry-phoenix: opentelemetry-phoenix:
needs: [test-matrix] needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_phoenix')) if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_phoenix'))
@ -230,44 +401,6 @@ jobs:
- name: Test - name: Test
run: mix test run: mix test
opentelemetry-finch:
needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_finch'))
env:
app: "opentelemetry_finch"
defaults:
run:
working-directory: instrumentation/${{ env.app }}
runs-on: ${{ matrix.os }}
name: Opentelemetry Finch test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }})
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
elixir-version: ${{ matrix.elixir_version }}
rebar3-version: ${{ matrix.rebar3_version }}
- name: Cache
uses: actions/cache@v3
with:
path: |
~/deps
~/_build
key: ${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.elixir_version }}-v3-${{ hashFiles('**/mix.lock') }}
- name: Fetch deps
if: steps.deps-cache.outputs.cache-hit != 'true'
run: mix deps.get
- name: Compile project
run: mix compile --warnings-as-errors
- name: Check formatting
run: mix format --check-formatted
if: matrix.check_formatted
- name: Test
run: mix test
opentelemetry-telemetry: opentelemetry-telemetry:
needs: [test-matrix] needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_telemetry')) if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_telemetry'))
@ -306,101 +439,6 @@ jobs:
- name: Test - name: Test
run: mix test run: mix test
opentelemetry-oban:
needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_oban'))
env:
app: "opentelemetry_oban"
defaults:
run:
working-directory: instrumentation/${{ env.app }}
runs-on: ${{ matrix.os }}
name: Opentelemetry Oban test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }})
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }}
services:
postgres:
image: circleci/postgres:13.3-ram
ports: ["5432:5432"]
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: opentelemetry_oban_test
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
elixir-version: ${{ matrix.elixir_version }}
rebar3-version: ${{ matrix.rebar3_version }}
- name: Cache
uses: actions/cache@v3
with:
path: |
~/deps
~/_build
key: ${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.elixir_version }}-v3-${{ hashFiles('**/mix.lock') }}
- name: Fetch deps
if: steps.deps-cache.outputs.cache-hit != 'true'
run: mix deps.get
- name: Compile project
run: mix compile --warnings-as-errors
- name: Check formatting
run: mix format --check-formatted
if: matrix.check_formatted
- name: Test
run: mix test
opentelemetry-dataloader:
needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_dataloader'))
env:
app: "opentelemetry_dataloader"
defaults:
run:
working-directory: instrumentation/${{ env.app }}
runs-on: ${{ matrix.os }}
name: Opentelemetry Dataloader test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }})
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }}
services:
postgres:
image: circleci/postgres:13.3-ram
ports: ["5432:5432"]
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: opentelemetry_dataloader_test
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
elixir-version: ${{ matrix.elixir_version }}
rebar3-version: ${{ matrix.rebar3_version }}
- name: Cache
uses: actions/cache@v3
with:
path: |
~/deps
~/_build
key: ${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.elixir_version }}-v3-${{ hashFiles('**/mix.lock') }}
- name: Fetch deps
if: steps.deps-cache.outputs.cache-hit != 'true'
run: mix deps.get
- name: Compile project
run: mix compile --warnings-as-errors
- name: Check formatting
run: mix format --check-formatted
if: matrix.check_formatted
- name: Test
run: mix test
opentelemetry-process-propagator: opentelemetry-process-propagator:
needs: [test-matrix] needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_process_propagator')) if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_process_propagator'))
@ -476,41 +514,3 @@ jobs:
if: matrix.check_formatted if: matrix.check_formatted
- name: Test - name: Test
run: mix test run: mix test
opentelemetry-httpoison:
needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'elixir') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_httpoison'))
env:
app: "opentelemetry_httpoison"
defaults:
run:
working-directory: instrumentation/${{ env.app }}
runs-on: ubuntu-20.04
name: Opentelemetry HTTPoison test on Elixir ${{ matrix.elixir_version }} (OTP ${{ matrix.otp_version }})
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
elixir-version: ${{ matrix.elixir_version }}
rebar3-version: ${{ matrix.rebar3_version }}
- name: Cache
uses: actions/cache@v3
with:
path: |
~/deps
~/_build
key: ${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.elixir_version }}-v3-${{ hashFiles('**/mix.lock') }}
- name: Fetch deps
if: steps.deps-cache.outputs.cache-hit != 'true'
run: mix deps.get
- name: Compile project
run: mix compile --warnings-as-errors
- name: Check formatting
run: mix format --check-formatted
if: matrix.check_formatted
- name: Test
run: mix test

View File

@ -27,6 +27,37 @@ jobs:
matrixStringifiedObject="$(jq -c . .github/erlang-test-matrix.json)" matrixStringifiedObject="$(jq -c . .github/erlang-test-matrix.json)"
echo "matrix=$matrixStringifiedObject" >> $GITHUB_OUTPUT echo "matrix=$matrixStringifiedObject" >> $GITHUB_OUTPUT
opentelemetry-aws-xray:
needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_aws_xray'))
env:
app: "opentelemetry_aws_xray"
defaults:
run:
working-directory: utilities/${{ env.app }}
runs-on: ${{ matrix.os }}
name: Opentelemetry AWS X-Ray test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }}
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
rebar3-version: ${{ matrix.rebar3_version }}
- name: Cache
uses: actions/cache@v3
with:
path: |
~/_build
key: ${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.rebar3_version }}-v3-${{ hashFiles('**/rebar.lock') }}
- name: Fetch deps
if: steps.deps-cache.outputs.cache-hit != 'true'
run: rebar3 get-deps
- name: Test
run: rebar3 ct
opentelemetry-cowboy: opentelemetry-cowboy:
needs: [test-matrix] needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_cowboy')) if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_cowboy'))
@ -58,16 +89,16 @@ jobs:
- name: Test - name: Test
run: rebar3 ct run: rebar3 ct
opentelemetry-telemetry: opentelemetry-elli:
needs: [test-matrix] needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_telemetry')) if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_elli'))
env: env:
app: "opentelemetry_telemetry" app: "opentelemetry_elli"
defaults: defaults:
run: run:
working-directory: utilities/${{ env.app }} working-directory: instrumentation/${{ env.app }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
name: Opentelemetry Telemetry test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }} name: Opentelemetry Elli test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }}
@ -89,16 +120,16 @@ jobs:
- name: Test - name: Test
run: rebar3 ct run: rebar3 ct
opentelemetry-aws-xray: opentelemetry-grpcbox:
needs: [test-matrix] needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_aws_xray')) if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_grpcbox'))
env: env:
app: "opentelemetry_aws_xray" app: "opentelemetry_grpcbox"
defaults: defaults:
run: run:
working-directory: utilities/${{ env.app }} working-directory: instrumentation/${{ env.app }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
name: Opentelemetry AWS X-Ray test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }} name: Opentelemetry GRPCBox test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }} matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }}
@ -150,3 +181,34 @@ jobs:
run: rebar3 get-deps run: rebar3 get-deps
- name: Test - name: Test
run: rebar3 eunit run: rebar3 eunit
opentelemetry-telemetry:
needs: [test-matrix]
if: (contains(github.event.pull_request.labels.*.name, 'erlang') && contains(github.event.pull_request.labels.*.name, 'opentelemetry_telemetry'))
env:
app: "opentelemetry_telemetry"
defaults:
run:
working-directory: utilities/${{ env.app }}
runs-on: ${{ matrix.os }}
name: Opentelemetry Telemetry test on OTP ${{ matrix.otp_version }} with Rebar3 ${{ matrix.rebar3_version }}
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.test-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v3
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ matrix.otp_version }}
rebar3-version: ${{ matrix.rebar3_version }}
- name: Cache
uses: actions/cache@v3
with:
path: |
~/_build
key: ${{ runner.os }}-build-${{ matrix.otp_version }}-${{ matrix.rebar3_version }}-v3-${{ hashFiles('**/rebar.lock') }}
- name: Fetch deps
if: steps.deps-cache.outputs.cache-hit != 'true'
run: rebar3 get-deps
- name: Test
run: rebar3 ct

177
.github/workflows/release-drafter.yml vendored Normal file
View File

@ -0,0 +1,177 @@
name: Release Drafter
on:
push:
branches:
- main
jobs:
opentelemetry-aws-xray-release:
name: '[opentelemetry-aws-xray-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-aws-xray.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-cowboy-release:
name: '[opentelemetry-cowboy-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-cowboy.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-dataloader-release:
name: '[opentelemetry-dataloader-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-dataloader.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-ecto-release:
name: '[opentelemetry-ecto-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-ecto.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-elli-release:
name: '[opentelemetry-elli-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-elli.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-finch-release:
name: '[opentelemetry-finch-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-finch.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-grpcbox-release:
name: '[opentelemetry-grpcbox-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-grpcbox.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-httpoison-release:
name: '[opentelemetry-httpoison-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-httpoison.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-instrumentation-http-release:
name: '[opentelemetry-instrument-http-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-instrumentation-http.yml
env:
opentelemetry-nebulex-release:
name: '[opentelemetry-nebulex-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-nebulex.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-oban-release:
name: '[opentelemetry-oban-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-oban.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-phoenix-release:
name: '[opentelemetry-phoenix-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-phoenix.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-process-propagator-release:
name: '[opentelemetry-process-propagator-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-process-propagator.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-redix-release:
name: '[opentelemetry-redix-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-redix.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-req-release:
name: '[opentelemetry-req-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-req.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-telemetry-release:
name: '[opentelemetry-telemetry-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-telemetry.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
opentelemetry-tesla-release:
name: '[opentelemetry-tesla-release] Draft release'
runs-on: ubuntu-20.04
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter-templates/opentelemetry-tesla.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}