File tree Expand file tree Collapse file tree 1 file changed +53
-0
lines changed
Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Publish gem
2+
3+ on : workflow_dispatch
4+
5+ jobs :
6+ # TODO: Prepare release notes
7+
8+ release-gem :
9+ name : Build and push gem to RubyGems.org
10+ runs-on : ubuntu-24.04
11+ environment : " rubygems" # see: https://github.com/DataDog/dd-trace-rb/settings/environments
12+ concurrency : " rubygems" # Only one publish job at a time
13+
14+ permissions :
15+ id-token : write
16+ contents : write
17+
18+ outputs :
19+ version : ${{ steps.version.outputs.version }}
20+
21+ steps :
22+ - uses : actions/checkout@v4
23+ - name : Set up Ruby
24+ uses : ruby/setup-ruby@v1
25+ with :
26+ ruby-version : ' 3.3'
27+ - id : version
28+ run : |
29+ echo "version=$(ruby -e 'puts Gem::Specification::load(Dir.glob("*.gemspec").first).version')" >> $GITHUB_OUTPUT
30+ - uses : rubygems/release-gem@v1
31+
32+ github-release :
33+ name : Attach gem to GitHub release and publish
34+ needs : release-gem
35+ runs-on : ubuntu-24.04
36+ env :
37+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
38+ GH_REPO : ${{ github.repository }}
39+ GEM_VERSION : ${{ needs.release-gem.outputs.version }}
40+
41+ permissions :
42+ contents : write
43+
44+ steps :
45+ - name : Download from RubyGems
46+ run : |
47+ gem fetch datadog --version ${GEM_VERSION} --verbose
48+ - name : Attach to existing release draft
49+ run : |
50+ gh release upload "v${GEM_VERSION}" *.gem --clobber
51+ gh release edit "v${GEM_VERSION}" --draft=false
52+
53+ # TODO: Close existing milestone and create next milestone
You can’t perform that action at this time.
0 commit comments