mirror of
https://github.com/ruby/setup-ruby.git
synced 2026-09-13 06:34:19 +02:00
Add workflow to automatically create a release
This commit is contained in:
@@ -1,17 +1,17 @@
|
|||||||
name: Update the v1 branch when a release is published
|
name: Create a Release
|
||||||
on:
|
on:
|
||||||
release:
|
workflow_dispatch:
|
||||||
types: [published]
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: write # for creating release
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
|
||||||
contents: write # for git push
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- run: git push origin HEAD:v1
|
- uses: ./
|
||||||
|
with:
|
||||||
|
ruby-version: '3.3'
|
||||||
|
- run: ruby release.rb
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
name: Update the v1 branch when a release is published
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
permissions:
|
||||||
|
contents: write # for git push
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update_branch:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- run: git push origin HEAD:v1
|
||||||
+17
@@ -0,0 +1,17 @@
|
|||||||
|
require 'json'
|
||||||
|
|
||||||
|
def run(command_line)
|
||||||
|
puts "$ #{command_line}"
|
||||||
|
output = `#{command_line}`
|
||||||
|
puts output
|
||||||
|
raise $?.inspect unless $?.success?
|
||||||
|
output
|
||||||
|
end
|
||||||
|
|
||||||
|
latest_release_tag = run 'gh release view --json tagName'
|
||||||
|
latest_release_tag = JSON.load(latest_release_tag).fetch('tagName')
|
||||||
|
|
||||||
|
raise latest_release_tag unless latest_release_tag =~ /\Av(\d+).(\d+).(\d+)\z/
|
||||||
|
tag = "v#{$1}.#{Integer($2)+1}.0"
|
||||||
|
|
||||||
|
run "gh release create --generate-notes --latest #{tag}"
|
||||||
Reference in New Issue
Block a user