Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions .github/workflows/release-hook-on-closed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: "[release hook] Process release"

on:
pull_request:
types: [closed]

permissions:
contents: write # required for creating releases
pull-requests: write # required for updating label on PR, posting comments
issues: write # required for creating new issues on failed releases

jobs:
release-process-request:
if: ${{ github.repository == 'dazuma/ractor-wrapper' }}
env:
ruby_version: "4.0"
runs-on: ubuntu-latest
steps:
- name: Install Ruby ${{ env.ruby_version }}
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.ruby_version }}
- name: Checkout repo
uses: actions/checkout@v5
- name: Install Toys
run: "gem install --no-document toys"
- name: Process release request
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
run: |
toys release _onclosed --verbose \
"--event-path=${{ github.event_path }}" \
< /dev/null
32 changes: 32 additions & 0 deletions .github/workflows/release-hook-on-push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: "[release hook] Update open releases"

on:
push:
branches:
- main

permissions:
contents: write # required for pushing changes
pull-requests: write # required for updating open release PRs

jobs:
release-update-open-requests:
if: ${{ github.repository == 'dazuma/ractor-wrapper' }}
env:
ruby_version: "4.0"
runs-on: ubuntu-latest
steps:
- name: Install Ruby ${{ env.ruby_version }}
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.ruby_version }}
- name: Checkout repo
uses: actions/checkout@v5
- name: Install Toys
run: "gem install --no-document toys"
- name: Update open releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
toys release _onpush --verbose \
< /dev/null
46 changes: 46 additions & 0 deletions .github/workflows/release-perform.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Force release

on:
workflow_dispatch:
inputs:
name:
description: Component to release
required: true
version:
description: Version to release
required: true
flags:
description: Extra flags to pass to the release script
required: false
default: ""

permissions:
contents: write # required for creating releases
pull-requests: write # required for updating label on PR, posting comments
issues: write # required for creating new issues on failed releases

jobs:
release-perform:
if: ${{ github.repository == 'dazuma/ractor-wrapper' }}
env:
ruby_version: "4.0"
runs-on: ubuntu-latest
steps:
- name: Install Ruby ${{ env.ruby_version }}
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.ruby_version }}
- name: Checkout repo
uses: actions/checkout@v5
- name: Install Toys
run: "gem install --no-document toys"
- name: Perform release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
run: |
toys release perform --yes --verbose \
"--release-ref=${{ github.sha }}" \
${{ github.event.inputs.flags }} \
"${{ github.event.inputs.name }}" "${{ github.event.inputs.version }}" \
< /dev/null
37 changes: 37 additions & 0 deletions .github/workflows/release-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Open release request

on:
workflow_dispatch:
inputs:
names:
description: Components to release (leave blank to release all components)
required: false
default: ""

permissions:
contents: write # required for pushing changes
pull-requests: write # required for creating release PRs

jobs:
release-request:
if: ${{ github.repository == 'dazuma/ractor-wrapper' }}
env:
ruby_version: "4.0"
runs-on: ubuntu-latest
steps:
- name: Install Ruby ${{ env.ruby_version }}
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.ruby_version }}
- name: Checkout repo
uses: actions/checkout@v5
- name: Install Toys
run: "gem install --no-document toys"
- name: Open release pull request
env:
GITHUB_TOKEN: ${{ secrets.TOYS_RELEASE_REQUEST_TOKEN || secrets.GITHUB_TOKEN }}
run: |
toys release request --yes --verbose \
"--target-branch=${{ github.ref }}" \
${{ github.event.inputs.names }} \
< /dev/null
42 changes: 42 additions & 0 deletions .github/workflows/release-retry.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Retry release

on:
workflow_dispatch:
inputs:
release_pr:
description: Release PR number
required: true
flags:
description: Extra flags to pass to the release script
required: false
default: ""

permissions:
contents: write # required for creating releases
pull-requests: write # required for updating label on PR, posting comments
issues: write # required for creating new issues on failed releases

jobs:
release-retry:
if: ${{ github.repository == 'dazuma/ractor-wrapper' }}
env:
ruby_version: "4.0"
runs-on: ubuntu-latest
steps:
- name: Install Ruby ${{ env.ruby_version }}
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ env.ruby_version }}
- name: Checkout repo
uses: actions/checkout@v5
- name: Install Toys
run: "gem install --no-document toys"
- name: Retry release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
run: |
toys release retry --yes --verbose \
${{ github.event.inputs.flags }} \
"${{ github.event.inputs.release_pr }}" \
< /dev/null
8 changes: 8 additions & 0 deletions .toys/.data/releases.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
repo: dazuma/ractor-wrapper
git_user_name: Daniel Azuma
git_user_email: dazuma@gmail.com

gems:
- name: ractor-wrapper
directory: .
gh_pages_directory: gem
3 changes: 3 additions & 0 deletions .toys/release.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# frozen_string_literal: true

load_gem "toys-release"