ruby/.github/workflows/sync_default_gems.yml
dependabot[bot] 00fdcb3ecd Bump actions/checkout from 6.0.1 to 6.0.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v6.0.1...v6.0.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 18:34:31 -08:00

78 lines
2.5 KiB
YAML

name: Sync default gems
env:
DEFAULT_GEM_SYNC_ENABLED: true
on:
workflow_dispatch:
inputs:
gem:
required: true
description: 'Name of the gem to be synchronized'
type: string
before:
required: true
description: 'Gem commit SHA before sync'
type: string
after:
required: true
description: 'Gem commit SHA after sync'
type: string
jobs:
sync_default_gems:
name: Sync default gem ${{ github.event.inputs.gem }}
permissions:
contents: write # for Git to git push
runs-on: ubuntu-latest
if: ${{ github.repository == 'ruby/ruby' }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
name: Check out ruby/ruby
with:
token: ${{ github.repository == 'ruby/ruby' && secrets.MATZBOT_AUTO_UPDATE_TOKEN || secrets.GITHUB_TOKEN }}
- uses: ruby/setup-ruby@90be1154f987f4dc0fe0dd0feedac9e473aa4ba8 # v1.286.0
with:
ruby-version: '3.4'
bundler: none
- name: Run tool/sync_default_gems.rb
id: sync
run: |
ruby_before=$(git rev-parse HEAD)
set -x
ruby tool/sync_default_gems.rb "${gem_name}" "${gem_before}..${gem_after}"
if [[ "$(git rev-parse HEAD)" != "$ruby_before" ]]; then
echo update=true >> $GITHUB_OUTPUT
fi
env:
gem_name: ${{ github.event.inputs.gem }}
gem_before: ${{ github.event.inputs.before }}
gem_after: ${{ github.event.inputs.after }}
EMAIL: svn-admin@ruby-lang.org
GIT_AUTHOR_NAME: git
GIT_COMMITTER_NAME: git
- name: Push
run: |
git pull --rebase origin ${GITHUB_REF#refs/heads/}
git push origin ${GITHUB_REF#refs/heads/}
if: ${{ steps.sync.outputs.update && env.DEFAULT_GEM_SYNC_ENABLED == 'true' }}
env:
EMAIL: svn-admin@ruby-lang.org
GIT_AUTHOR_NAME: git
GIT_COMMITTER_NAME: git
- uses: ./.github/actions/slack
with:
SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot
label: "${{ github.event.inputs.gem }} (<https://github.com/${{ github.event.inputs.gem == 'rubygems' && 'rubygems' || 'ruby' }}/${{ github.event.inputs.gem }}/compare/${{ github.event.inputs.before }}...${{ github.event.inputs.after }}|diff>)"
event_name: workflow_dispatch
extra_channel_id: C05FPKAU743 # alerts-sync
if: ${{ failure() }}