Skip to content
Merged
35 changes: 34 additions & 1 deletion .github/renovate.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,39 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
],
"rangeStrategy": "widen"
"semanticCommits": "enabled",
"semanticCommitType": "chore",
"semanticCommitScope": "deps",
"rangeStrategy": "widen",
"bundler": {
"enabled": true
},
"lockFileMaintenance": {
"enabled": true,
"automerge": false,
"schedule": [
"before 5am on monday"
],
"commitMessageAction": "maintain Gemfile.lock files"
},
"packageRules": [
{
"description": "Phase 1: Core & Handwritten Gems Lockfile Rollout",
"matchFileNames": [
"google-cloud-core/**",
"google-cloud-storage/**",
"google-cloud-pubsub/**",
"google-cloud-spanner/**",
"google-cloud-bigquery/**",
"google-cloud-errors/**"
],
"groupName": "core handwritten gems lockfiles",
"rangeStrategy": "update-lockfile",
"lockFileMaintenance": {
"enabled": true
}
}
]
}
38 changes: 38 additions & 0 deletions .github/workflows/generate-lockfiles.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Generate Gemfile.lock Batches

on:
workflow_dispatch:
inputs:
batch_pattern:
description: "Gem directory glob pattern (e.g., google-cloud-core or google-cloud-a*)"
required: true
default: "google-cloud-core google-cloud-storage google-cloud-pubsub google-cloud-bigquery google-cloud-errors"

jobs:
generate-locks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Comment thread
torreypayne marked this conversation as resolved.
Outdated
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
bundler-cache: false
- name: Generate Lockfiles for Batch
run: |
for gemdir in ${{ inputs.batch_pattern }}; do
if [ -f "$gemdir/Gemfile" ]; then
echo "Locking $gemdir..."
(cd "$gemdir" && bundle lock)
fi
done
git add -f */Gemfile.lock
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
commit-message: "chore(deps): generate Gemfile.lock files for ${{ inputs.batch_pattern }}"
title: "chore(deps): generate Gemfile.lock files (${{ inputs.batch_pattern }})"
body: |
Automated initial `Gemfile.lock` generation for compliance mandate https://b.corp.google.com/issues/509981628.

Reviewed and coordinated with André as part of the multi-phase rollout.
branch: "chore/generate-locks-batch"
Loading