From 3b40defe594830cece438b8db36aeb2e413404eb Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Wed, 7 Aug 2024 14:35:36 +0900 Subject: [PATCH 1/2] Create release draft with erb --- lib/draft-release.rb | 10 ++++++++++ lib/release-templete.erb | 42 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 lib/draft-release.rb create mode 100644 lib/release-templete.erb diff --git a/lib/draft-release.rb b/lib/draft-release.rb new file mode 100644 index 0000000000..9760fb3a05 --- /dev/null +++ b/lib/draft-release.rb @@ -0,0 +1,10 @@ +require "erb" + +template = File.read("lib/release-template.erb") +version = ARGV[0] || "3.3.4" + +output_path = "en/news/_posts/#{Time.now.strftime("%Y-%m-%d")}-#{version.gsub(/\./, "-")}-released.md" + +File.open(output_path, "w") do |file| + file.write ERB.new(template).result(binding) +end diff --git a/lib/release-templete.erb b/lib/release-templete.erb new file mode 100644 index 0000000000..067e651799 --- /dev/null +++ b/lib/release-templete.erb @@ -0,0 +1,42 @@ +--- +layout: news_post +title: "Ruby <%= version %> Released" +author: +translator: +date: <%= Time.now %> +lang: en +--- + +Ruby <%= version %> has been released. + +Please see the [GitHub releases](https://github.com/ruby/ruby/releases/tag/v<%= version.gsub(/\./, '_') %>) for further details. + +## Download + +{% assign release = site.data.releases | where: "version", "<%= version %>" | first %} + +* <{{ release.url.gz }}> + + SIZE: {{ release.size.gz }} + SHA1: {{ release.sha1.gz }} + SHA256: {{ release.sha256.gz }} + SHA512: {{ release.sha512.gz }} + +* <{{ release.url.xz }}> + + SIZE: {{ release.size.xz }} + SHA1: {{ release.sha1.xz }} + SHA256: {{ release.sha256.xz }} + SHA512: {{ release.sha512.xz }} + +* <{{ release.url.zip }}> + + SIZE: {{ release.size.zip }} + SHA1: {{ release.sha1.zip }} + SHA256: {{ release.sha256.zip }} + SHA512: {{ release.sha512.zip }} + +## Release Comment + +Many committers, developers, and users who provided bug reports helped us make this release. +Thanks for their contributions. From ce564b5f7f84db2c37d736449044da4ddf8c2a03 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Wed, 7 Aug 2024 14:53:51 +0900 Subject: [PATCH 2/2] Added GitHub Actions for release draft --- .github/workflows/draft-release.yml | 45 +++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .github/workflows/draft-release.yml diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml new file mode 100644 index 0000000000..da662597c8 --- /dev/null +++ b/.github/workflows/draft-release.yml @@ -0,0 +1,45 @@ +name: Create draft release + +on: + repository_dispatch: + types: + - release + workflow_dispatch: + inputs: + version: + description: 'Version of the Ruby package to release' + required: true + default: '3.3.4' + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.3.4 + + - name: Generate draft release entry + run: | + ruby lib/draft-release.rb ${{ github.event.client_payload.version || github.event.inputs.version }} + + - name: Create Commit + run: | + git config user.name "GitHub Actions Bot" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add . + git commit -m "Create release for ${{ github.event.client_payload.version || github.event.inputs.version }}" + env: + GITHUB_TOKEN: ${{ secrets.MATZBOT_GITHUB_WORKFLOW_TOKEN }} + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v6 + with: + token: ${{ secrets.MATZBOT_GITHUB_WORKFLOW_TOKEN }} + branch: releases/${{ github.event.client_payload.version || github.event.inputs.version }} + delete-branch: true + title: "Create release for ${{ github.event.client_payload.version || github.event.inputs.version }}" + body: "This is an automated pull request to create a release" + draft: true