diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml new file mode 100644 index 000000000..deecbdfba --- /dev/null +++ b/.github/workflows/release-please.yaml @@ -0,0 +1,63 @@ +--- +name: Release Please + +on: + workflow_dispatch: + push: + branches: + - main + +permissions: + contents: write + pull-requests: write + +jobs: + release: + name: Process Release + runs-on: ubuntu-latest + steps: + - uses: google-github-actions/release-please-action@cc61a07e2da466bebbc19b3a7dd01d6aecb20d1e + id: release + with: + command: manifest + outputs: + releases_created: ${{ steps.release.outputs.releases_created }} + paths_released: ${{ steps.release.outputs.paths_released }} + + publish: + needs: release + name: Publish Gems + runs-on: ubuntu-latest + if: ${{ needs.release.outputs.releases_created }} + + strategy: + fail-fast: false + matrix: + path: ${{ fromJson(needs.release.outputs.paths_released) }} + max-parallel: 1 + + steps: + - name: Checkout repository + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + + - name: Setup Ruby + uses: ruby/setup-ruby@af848b40be8bb463a751551a1180d74782ba8a72 + with: + ruby-version: 3.0.0 + + - name: Configure RubyGems + env: + GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_API_KEY}}" + + run: | + mkdir -p $HOME/.gem + touch $HOME/.gem/credentials + chmod 0600 $HOME/.gem/credentials + printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials + + - name: Release Gem + working-directory: ${{ matrix.path }} + run: | + bundle install + bundle exec rake --trace build + bundle exec rake --trace release:rubygem_push diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 000000000..7adc63ff6 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,49 @@ +{ + "instrumentation/gruf": "0.1.1", + "instrumentation/grape": "0.1.6", + "instrumentation/racecar": "0.3.0", + "instrumentation/rake": "0.2.1", + "instrumentation/rdkafka": "0.4.2", + "instrumentation/trilogy": "0.57.0", + "instrumentation/active_support": "0.5.1", + "instrumentation/action_view": "0.7.0", + "instrumentation/action_pack": "0.8.0", + "instrumentation/active_job": "0.7.1", + "instrumentation/resque": "0.5.0", + "instrumentation/bunny": "0.21.1", + "instrumentation/base": "0.22.3", + "instrumentation/active_record": "0.7.0", + "instrumentation/aws_sdk": "0.5.0", + "instrumentation/lmdb": "0.22.1", + "instrumentation/http": "0.23.2", + "instrumentation/graphql": "0.27.0", + "instrumentation/http_client": "0.22.3", + "instrumentation/httpx": "0.1.1", + "instrumentation/koala": "0.20.2", + "instrumentation/active_model_serializers": "0.20.1", + "instrumentation/concurrent_ruby": "0.21.2", + "instrumentation/dalli": "0.25.0", + "instrumentation/delayed_job": "0.22.1", + "instrumentation/ethon": "0.21.3", + "instrumentation/excon": "0.22.0", + "instrumentation/faraday": "0.23.4", + "instrumentation/mongo": "0.22.2", + "instrumentation/mysql2": "0.25.0", + "instrumentation/net_http": "0.22.4", + "instrumentation/pg": "0.26.1", + "instrumentation/que": "0.7.1", + "instrumentation/rack": "0.23.5", + "instrumentation/rails": "0.29.1", + "instrumentation/redis": "0.25.3", + "instrumentation/restclient": "0.22.3", + "instrumentation/rspec": "0.3.2", + "instrumentation/ruby_kafka": "0.21.0", + "instrumentation/sidekiq": "0.25.0", + "instrumentation/sinatra": "0.23.2", + "instrumentation/all": "0.54.0", + "propagator/ottrace": "0.21.2", + "propagator/xray": "0.22.1", + "resources/azure": "0.1.0", + "resources/container": "0.1.1", + "resources/google_cloud_platform": "0.1.0" +} diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 000000000..0932de248 --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,298 @@ +{ + "bump-minor-pre-major": true, + "bump-patch-for-minor-pre-major": true, + "draft": false, + "include-component-in-tag": true, + "include-v-in-tag": true, + "prerelease": false, + "release-type": "ruby", + "separate-pull-requests": false, + "sequential-calls": true, + "signoff": "OpenTelemetry Bot ", + "skip-github-release": false, + "tag-separator": " ", + "packages": [ + { + "instrumentation/gruf": { + "package-name": "opentelemetry-instrumentation-gruf", + "version-file": "lib/instrumentation/gruf/version.rb" + } + }, + { + "instrumentation/grape": { + "package-name": "opentelemetry-instrumentation-grape", + "version-file": "lib/instrumentation/grape/version.rb" + } + }, + { + "instrumentation/racecar": { + "package-name": "opentelemetry-instrumentation-racecar", + "version-file": "lib/instrumentation/racecar/version.rb" + } + }, + { + "instrumentation/rake": { + "package-name": "opentelemetry-instrumentation-rake", + "version-file": "lib/instrumentation/rake/version.rb" + } + }, + { + "instrumentation/rdkafka": { + "package-name": "opentelemetry-instrumentation-rdkafka", + "version-file": "lib/instrumentation/rdkafka/version.rb" + } + }, + { + "instrumentation/trilogy": { + "package-name": "opentelemetry-instrumentation-trilogy", + "version-file": "lib/instrumentation/trilogy/version.rb" + } + }, + { + "instrumentation/active_support": { + "package-name": "opentelemetry-instrumentation-active_support", + "version-file": "lib/instrumentation/active_support/version.rb" + } + }, + { + "instrumentation/action_view": { + "package-name": "opentelemetry-instrumentation-action_view", + "version-file": "lib/instrumentation/action_view/version.rb" + } + }, + { + "instrumentation/action_pack": { + "package-name": "opentelemetry-instrumentation-action_pack", + "version-file": "lib/instrumentation/action_pack/version.rb" + } + }, + { + "instrumentation/active_job": { + "package-name": "opentelemetry-instrumentation-active_job", + "version-file": "lib/instrumentation/active_job/version.rb" + } + }, + { + "instrumentation/resque": { + "package-name": "opentelemetry-instrumentation-resque", + "version-file": "lib/instrumentation/resque/version.rb" + } + }, + { + "instrumentation/bunny": { + "package-name": "opentelemetry-instrumentation-bunny", + "version-file": "lib/instrumentation/bunny/version.rb" + } + }, + { + "instrumentation/base": { + "package-name": "opentelemetry-instrumentation-base", + "version-file": "lib/opentelemetry/instrumentation/version.rb" + } + }, + { + "instrumentation/active_record": { + "package-name": "opentelemetry-instrumentation-active_record", + "version-file": "lib/instrumentation/active_record/version.rb" + } + }, + { + "instrumentation/aws_sdk": { + "package-name": "opentelemetry-instrumentation-aws_sdk", + "version-file": "lib/instrumentation/aws_sdk/version.rb" + } + }, + { + "instrumentation/lmdb": { + "package-name": "opentelemetry-instrumentation-lmdb", + "version-file": "lib/instrumentation/lmdb/version.rb" + } + }, + { + "instrumentation/http": { + "package-name": "opentelemetry-instrumentation-http", + "version-file": "lib/instrumentation/http/version.rb" + } + }, + { + "instrumentation/graphql": { + "package-name": "opentelemetry-instrumentation-graphql", + "version-file": "lib/instrumentation/graphql/version.rb" + } + }, + { + "instrumentation/http_client": { + "package-name": "opentelemetry-instrumentation-http_client", + "version-file": "lib/instrumentation/http_client/version.rb" + } + }, + { + "instrumentation/httpx": { + "package-name": "opentelemetry-instrumentation-httpx", + "version-file": "lib/instrumentation/httpx/version.rb" + } + }, + { + "instrumentation/koala": { + "package-name": "opentelemetry-instrumentation-koala", + "version-file": "lib/instrumentation/koala/version.rb" + } + }, + { + "instrumentation/active_model_serializers": { + "package-name": "opentelemetry-instrumentation-active_model_serializers", + "version-file": "lib/instrumentation/active_model_serializers/version.rb" + } + }, + { + "instrumentation/concurrent_ruby": { + "package-name": "opentelemetry-instrumentation-concurrent_ruby", + "version-file": "lib/instrumentation/concurrent_ruby/version.rb" + } + }, + { + "instrumentation/dalli": { + "package-name": "opentelemetry-instrumentation-dalli", + "version-file": "lib/instrumentation/dalli/version.rb" + } + }, + { + "instrumentation/delayed_job": { + "package-name": "opentelemetry-instrumentation-delayed_job", + "version-file": "lib/instrumentation/delayed_job/version.rb" + } + }, + { + "instrumentation/ethon": { + "package-name": "opentelemetry-instrumentation-ethon", + "version-file": "lib/instrumentation/ethon/version.rb" + } + }, + { + "instrumentation/excon": { + "package-name": "opentelemetry-instrumentation-excon", + "version-file": "lib/instrumentation/excon/version.rb" + } + }, + { + "instrumentation/faraday": { + "package-name": "opentelemetry-instrumentation-faraday", + "version-file": "lib/instrumentation/faraday/version.rb" + } + }, + { + "instrumentation/mongo": { + "package-name": "opentelemetry-instrumentation-mongo", + "version-file": "lib/instrumentation/mongo/version.rb" + } + }, + { + "instrumentation/mysql2": { + "package-name": "opentelemetry-instrumentation-mysql2", + "version-file": "lib/instrumentation/mysql2/version.rb" + } + }, + { + "instrumentation/net_http": { + "package-name": "opentelemetry-instrumentation-net_http", + "version-file": "lib/opentelemetry/instrumentation/net/http/version.rb" + } + }, + { + "instrumentation/pg": { + "package-name": "opentelemetry-instrumentation-pg", + "version-file": "lib/instrumentation/pg/version.rb" + } + }, + { + "instrumentation/que": { + "package-name": "opentelemetry-instrumentation-que", + "version-file": "lib/instrumentation/que/version.rb" + } + }, + { + "instrumentation/rack": { + "package-name": "opentelemetry-instrumentation-rack", + "version-file": "lib/instrumentation/rack/version.rb" + } + }, + { + "instrumentation/rails": { + "package-name": "opentelemetry-instrumentation-rails", + "version-file": "lib/instrumentation/rails/version.rb" + } + }, + { + "instrumentation/redis": { + "package-name": "opentelemetry-instrumentation-redis", + "version-file": "lib/instrumentation/redis/version.rb" + } + }, + { + "instrumentation/restclient": { + "package-name": "opentelemetry-instrumentation-restclient", + "version-file": "lib/instrumentation/restclient/version.rb" + } + }, + { + "instrumentation/rspec": { + "package-name": "opentelemetry-instrumentation-rspec", + "version-file": "lib/instrumentation/rspec/version.rb" + } + }, + { + "instrumentation/ruby_kafka": { + "package-name": "opentelemetry-instrumentation-ruby_kafka", + "version-file": "lib/instrumentation/ruby_kafka/version.rb" + } + }, + { + "instrumentation/sidekiq": { + "package-name": "opentelemetry-instrumentation-sidekiq", + "version-file": "lib/instrumentation/sidekiq/version.rb" + } + }, + { + "instrumentation/sinatra": { + "package-name": "opentelemetry-instrumentation-sinatra", + "version-file": "lib/instrumentation/sinatra/version.rb" + } + }, + { + "instrumentation/all": { + "package-name": "opentelemetry-instrumentation-all", + "version-file": "lib/instrumentation/all/version.rb" + } + }, + { + "propagator/ottrace": { + "package-name": "opentelemetry-propagator-ottrace", + "version-file": "lib/propagator/ottrace/version.rb" + } + }, + { + "propagator/xray": { + "package-name": "opentelemetry-propagator-xray", + "version-file": "lib/propagator/xray/version.rb" + } + }, + { + "resources/azure": { + "package-name": "opentelemetry-resources-azure", + "version-file": "lib/opentelemetry/resource/detector/azure/version.rb" + } + }, + { + "resources/container": { + "package-name": "opentelemetry-resources-container", + "version-file": "lib/opentelemetry/resource/detector/container/version.rb" + } + }, + { + "resources/google_cloud_platform": { + "package-name": "opentelemetry-resources-google_cloud_platform", + "version-file": "lib/opentelemetry/resource/detector/google_cloud_platform/version.rb" + } + } + ] +}