From 0587838f3c7c79ab17dac0c053cce764066401e5 Mon Sep 17 00:00:00 2001 From: Abdullah Sheikh Date: Mon, 26 Jan 2026 15:32:50 -0500 Subject: [PATCH 01/13] Use API-based commits for verification --- .github/workflows/create-release.yml | 59 +++++++++++----------------- 1 file changed, 22 insertions(+), 37 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 0d8ed846c..56f29170f 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -92,40 +92,25 @@ jobs: "${{ needs.read-version.outputs.current_version }}" - name: Create pull request - env: - GH_TOKEN: ${{ github.token }} - run: | - new_version="${{ needs.read-version.outputs.new_version }}" - branch_name="release/v$new_version" - - # Configure git - git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" - - # Create and checkout new branch - git checkout -b "$branch_name" - - # Add and commit changes - git add lib/semian/version.rb Gemfile.lock CHANGELOG.md - git commit -m "Bump version to $new_version" -m "Triggered by @${{ github.actor }}" - - # Push the branch - git push origin "$branch_name" - - # Create pull request - gh pr create \ - --title "Release v$new_version" \ - --body "Automated version bump to $new_version - - This PR includes: - - Updated version in \`lib/semian/version.rb\` - - Updated \`Gemfile.lock\` - - Updated \`CHANGELOG.md\` - - **Release type:** ${{ github.event.inputs.release_type }} - **Triggered by:** @${{ github.actor }} - - After merging this PR, the **Publish Release** workflow will automatically \ - build the gem and publish it to GitHub releases." \ - --base main \ - --head "$branch_name" + uses: peter-evans/create-pull-request@v7 + with: + token: ${{ github.token }} + branch: release/v${{ needs.read-version.outputs.new_version }} + title: "Release v${{ needs.read-version.outputs.new_version }}" + commit-message: "Bump version to ${{ needs.read-version.outputs.new_version }}" + add-paths: | + lib/semian/version.rb + Gemfile.lock + CHANGELOG.md + body: | + Automated version bump to ${{ needs.read-version.outputs.new_version }} + + This PR includes: + - Updated version in `lib/semian/version.rb` + - Updated `Gemfile.lock` + - Updated `CHANGELOG.md` + + **Release type:** ${{ github.event.inputs.release_type }} + **Triggered by:** @${{ github.actor }} + + After merging this PR, the **Publish Release** workflow will automatically build the gem and publish it to GitHub releases. From 8638442bb09578ab53535c895b123f561ab251cb Mon Sep 17 00:00:00 2001 From: Abdullah Sheikh Date: Mon, 26 Jan 2026 15:36:14 -0500 Subject: [PATCH 02/13] Update release workflow to use simplified commit message formatting and improve readability of release instructions. --- .github/workflows/create-release.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 56f29170f..28cbaea8d 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -96,8 +96,8 @@ jobs: with: token: ${{ github.token }} branch: release/v${{ needs.read-version.outputs.new_version }} - title: "Release v${{ needs.read-version.outputs.new_version }}" - commit-message: "Bump version to ${{ needs.read-version.outputs.new_version }}" + title: Release v${{ needs.read-version.outputs.new_version }} + commit-message: Bump version to ${{ needs.read-version.outputs.new_version }} add-paths: | lib/semian/version.rb Gemfile.lock @@ -113,4 +113,5 @@ jobs: **Release type:** ${{ github.event.inputs.release_type }} **Triggered by:** @${{ github.actor }} - After merging this PR, the **Publish Release** workflow will automatically build the gem and publish it to GitHub releases. + After merging this PR, the **Publish Release** workflow will automatically + build the gem and publish it to GitHub releases. From 536a9e5fca7d3413a9089d9a22ca7876b764efd0 Mon Sep 17 00:00:00 2001 From: Abdullah Sheikh Date: Mon, 26 Jan 2026 15:48:03 -0500 Subject: [PATCH 03/13] Update GitHub Actions workflow to set fetch-depth to 0 and specify main branch reference for improved release process. --- .github/workflows/create-release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 28cbaea8d..fe8d865a6 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -64,7 +64,8 @@ jobs: name: Checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: - fetch-depth: 30 + ref: main + fetch-depth: 0 fetch-tags: true - name: Set up Ruby From d14370f7e50db4261c1d1c992c4800362f2b6e11 Mon Sep 17 00:00:00 2001 From: Abdullah Sheikh Date: Mon, 26 Jan 2026 16:44:29 -0500 Subject: [PATCH 04/13] Add sign-commits option to release workflow for enhanced commit verification --- .github/workflows/create-release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index fe8d865a6..6766e74b6 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -96,6 +96,7 @@ jobs: uses: peter-evans/create-pull-request@v7 with: token: ${{ github.token }} + sign-commits: true branch: release/v${{ needs.read-version.outputs.new_version }} title: Release v${{ needs.read-version.outputs.new_version }} commit-message: Bump version to ${{ needs.read-version.outputs.new_version }} From 753840ca748727e86549ba8c3e7c90f970c70ab8 Mon Sep 17 00:00:00 2001 From: Abdullah Sheikh Date: Mon, 26 Jan 2026 17:43:24 -0500 Subject: [PATCH 05/13] Refactor release workflow to use GitHub CLI for pull request creation and streamline version bump process --- .github/workflows/create-release.yml | 61 +++++++++++++++++----------- 1 file changed, 37 insertions(+), 24 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 6766e74b6..1c1c22c6e 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -93,27 +93,40 @@ jobs: "${{ needs.read-version.outputs.current_version }}" - name: Create pull request - uses: peter-evans/create-pull-request@v7 - with: - token: ${{ github.token }} - sign-commits: true - branch: release/v${{ needs.read-version.outputs.new_version }} - title: Release v${{ needs.read-version.outputs.new_version }} - commit-message: Bump version to ${{ needs.read-version.outputs.new_version }} - add-paths: | - lib/semian/version.rb - Gemfile.lock - CHANGELOG.md - body: | - Automated version bump to ${{ needs.read-version.outputs.new_version }} - - This PR includes: - - Updated version in `lib/semian/version.rb` - - Updated `Gemfile.lock` - - Updated `CHANGELOG.md` - - **Release type:** ${{ github.event.inputs.release_type }} - **Triggered by:** @${{ github.actor }} - - After merging this PR, the **Publish Release** workflow will automatically - build the gem and publish it to GitHub releases. + env: + GH_TOKEN: ${{ github.token }} + run: | + new_version="${{ needs.read-version.outputs.new_version }}" + branch_name="release/v$new_version" + + # Configure git + git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" + + # Create and checkout new branch + git checkout -b "$branch_name" + + # Add and commit changes (with signing) + git add lib/semian/version.rb Gemfile.lock CHANGELOG.md + git commit -S -m "Bump version to $new_version" -m "Triggered by @${{ github.actor }}" + + # Push the branch + git push origin "$branch_name" + + # Create pull request + gh pr create \ + --title "Release v$new_version" \ + --body "Automated version bump to $new_version + + This PR includes: + - Updated version in \`lib/semian/version.rb\` + - Updated \`Gemfile.lock\` + - Updated \`CHANGELOG.md\` + + **Release type:** ${{ github.event.inputs.release_type }} + **Triggered by:** @${{ github.actor }} + + After merging this PR, the **Publish Release** workflow will automatically \ + build the gem and publish it to GitHub releases." \ + --base main \ + --head "$branch_name" From e8d6606b37c2856e5a904f3a0d48b9ce82e8b3d6 Mon Sep 17 00:00:00 2001 From: Abdullah Sheikh Date: Tue, 27 Jan 2026 11:19:36 -0500 Subject: [PATCH 06/13] Enhance release workflow by adding a step to create and push a new branch for version bumps, and implement signed commits for better verification. --- .github/workflows/create-release.yml | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 1c1c22c6e..68292f9ff 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -92,28 +92,31 @@ jobs: "${{ needs.read-version.outputs.new_version }}" \ "${{ needs.read-version.outputs.current_version }}" - - name: Create pull request - env: - GH_TOKEN: ${{ github.token }} + name: Create and push branch run: | new_version="${{ needs.read-version.outputs.new_version }}" branch_name="release/v$new_version" - # Configure git git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" - # Create and checkout new branch git checkout -b "$branch_name" - - # Add and commit changes (with signing) - git add lib/semian/version.rb Gemfile.lock CHANGELOG.md - git commit -S -m "Bump version to $new_version" -m "Triggered by @${{ github.actor }}" - - # Push the branch git push origin "$branch_name" + - + name: Create signed commit + uses: Shopify/github-actions/signed-commit@v1 + with: + github-token: ${{ github.token }} + comment: Bump version to ${{ needs.read-version.outputs.new_version }} + directory: . + - + name: Create pull request + env: + GH_TOKEN: ${{ github.token }} + run: | + new_version="${{ needs.read-version.outputs.new_version }}" + branch_name="release/v$new_version" - # Create pull request gh pr create \ --title "Release v$new_version" \ --body "Automated version bump to $new_version From 3f0f720888b0561e11f20e204a490c38d9929e49 Mon Sep 17 00:00:00 2001 From: Abdullah Sheikh Date: Tue, 27 Jan 2026 11:40:33 -0500 Subject: [PATCH 07/13] Update create-release workflow to use the latest version of the signed-commit action for improved commit verification. --- .github/workflows/create-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 68292f9ff..37790551f 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -104,7 +104,7 @@ jobs: git push origin "$branch_name" - name: Create signed commit - uses: Shopify/github-actions/signed-commit@v1 + uses: Shopify/github-actions/signed-commit@main with: github-token: ${{ github.token }} comment: Bump version to ${{ needs.read-version.outputs.new_version }} From c3075b21a9d90dc98d31889a9f65d4cc6d322909 Mon Sep 17 00:00:00 2001 From: Abdullah Sheikh Date: Tue, 27 Jan 2026 11:50:25 -0500 Subject: [PATCH 08/13] Refactor create-release workflow to utilize GitHub Script for committing changes. --- .github/workflows/create-release.yml | 67 ++++++++++++++++++++++++++-- 1 file changed, 64 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 37790551f..cbf2b2721 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -104,11 +104,72 @@ jobs: git push origin "$branch_name" - name: Create signed commit - uses: Shopify/github-actions/signed-commit@main + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: github-token: ${{ github.token }} - comment: Bump version to ${{ needs.read-version.outputs.new_version }} - directory: . + script: | + const { execSync } = require('child_process'); + const fs = require('fs'); + const message = 'Bump version to ${{ needs.read-version.outputs.new_version }}'; + const directory = '.'; + + execSync(`git add ${directory}`); + + const status = execSync(`git -c core.quotePath=false status ${directory} --porcelain=v1`).toString(); + const fileChanges = status + .split('\n') + .filter(line => line) + .map(line => { + const [_, status, path] = line.match(/^(.). (.*)/); + + if (status === 'R') { + const [oldPath, newPath] = path.split(' -> '); + return [ + { path: newPath, contents: fs.readFileSync(newPath).toString('base64') }, + { path: oldPath, contents: null } + ]; + } + + return [{ + path, + contents: status !== 'D' ? fs.readFileSync(path).toString('base64') : null + }]; + }) + .flat(); + + const additions = fileChanges.filter(f => f.contents !== null); + const deletions = fileChanges.filter(f => f.contents === null).map(f => ({ path: f.path })); + + console.log('Committing changes:'); + additions.forEach(file => console.log(` + ${file.path}`)); + deletions.forEach(file => console.log(` - ${file.path}`)); + + const branch = 'release/v${{ needs.read-version.outputs.new_version }}'; + console.log(`Target branch: ${branch}`); + + const query = ` + mutation CreateCommit($input: CreateCommitOnBranchInput!) { + createCommitOnBranch(input: $input) { + commit { + url + } + } + } + `; + + const result = await github.graphql(query, { + input: { + branch: { + repositoryNameWithOwner: `${context.repo.owner}/${context.repo.repo}`, + branchName: branch + }, + message: { headline: message }, + fileChanges: { additions, deletions }, + expectedHeadOid: context.sha + } + }); + + console.log(`Commit created: ${result.createCommitOnBranch.commit.url}`); - name: Create pull request env: From 69845a8e105390e7c5a8ff199e0ddda05c234c0c Mon Sep 17 00:00:00 2001 From: Abdullah Sheikh Date: Tue, 27 Jan 2026 11:53:02 -0500 Subject: [PATCH 09/13] Refactor create-release workflow to improve readability of git status command and enhance code clarity. --- .github/workflows/create-release.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index cbf2b2721..33ec64c66 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -104,7 +104,7 @@ jobs: git push origin "$branch_name" - name: Create signed commit - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 + uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 with: github-token: ${{ github.token }} script: | @@ -115,7 +115,8 @@ jobs: execSync(`git add ${directory}`); - const status = execSync(`git -c core.quotePath=false status ${directory} --porcelain=v1`).toString(); + const gitCmd = `git -c core.quotePath=false status ${directory} --porcelain=v1`; + const status = execSync(gitCmd).toString(); const fileChanges = status .split('\n') .filter(line => line) @@ -138,7 +139,9 @@ jobs: .flat(); const additions = fileChanges.filter(f => f.contents !== null); - const deletions = fileChanges.filter(f => f.contents === null).map(f => ({ path: f.path })); + const deletions = fileChanges + .filter(f => f.contents === null) + .map(f => ({ path: f.path })); console.log('Committing changes:'); additions.forEach(file => console.log(` + ${file.path}`)); From a154004888a8c7782d9a80d7b25e0d4be8b38f61 Mon Sep 17 00:00:00 2001 From: Abdullah Sheikh Date: Tue, 27 Jan 2026 14:33:00 -0500 Subject: [PATCH 10/13] Add CLA check to workflows for enhanced contribution verification --- .github/workflows/cla.yml | 9 +++++---- .github/workflows/create-release.yml | 6 ++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml index 527aa12e6..6fc586779 100644 --- a/.github/workflows/cla.yml +++ b/.github/workflows/cla.yml @@ -7,6 +7,7 @@ on: types: [opened, synchronize] issue_comment: types: [created] + workflow_call: jobs: cla: @@ -15,10 +16,10 @@ jobs: pull-requests: write runs-on: ubuntu-latest if: | - (github.event.issue.pull_request - && !github.event.issue.pull_request.merged_at - && contains(github.event.comment.body, 'signed') - ) + github.event_name == 'workflow_call' + || (github.event.issue.pull_request + && !github.event.issue.pull_request.merged_at + && contains(github.event.comment.body, 'signed')) || (github.event.pull_request && !github.event.pull_request.merged) steps: - uses: Shopify/shopify-cla-action@v1 diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 33ec64c66..ac95d4697 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -197,3 +197,9 @@ jobs: build the gem and publish it to GitHub releases." \ --base main \ --head "$branch_name" + + cla: + name: Run CLA check + needs: [create-pr] + uses: ./.github/workflows/cla.yml + secrets: inherit From a05401ed76f2ba5dd2655d0fe9bb899b693d2265 Mon Sep 17 00:00:00 2001 From: Abdullah Sheikh Date: Tue, 27 Jan 2026 14:59:48 -0500 Subject: [PATCH 11/13] Add permissions for actions and pull-requests in CLA check workflow to enable write access --- .github/workflows/create-release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index ac95d4697..43214abaa 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -201,5 +201,8 @@ jobs: cla: name: Run CLA check needs: [create-pr] + permissions: + actions: write + pull-requests: write uses: ./.github/workflows/cla.yml secrets: inherit From f2d31b5d8df3dc8f767e5c3093f579d9e34ff20e Mon Sep 17 00:00:00 2001 From: Abdullah Sheikh Date: Tue, 27 Jan 2026 15:48:13 -0500 Subject: [PATCH 12/13] Update CLA workflow trigger from 'workflow_call' to 'workflow_dispatch' for improved manual execution. --- .github/workflows/cla.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml index 6fc586779..473c7ea93 100644 --- a/.github/workflows/cla.yml +++ b/.github/workflows/cla.yml @@ -16,7 +16,7 @@ jobs: pull-requests: write runs-on: ubuntu-latest if: | - github.event_name == 'workflow_call' + github.event_name == 'workflow_dispatch' || (github.event.issue.pull_request && !github.event.issue.pull_request.merged_at && contains(github.event.comment.body, 'signed')) From 2db76ae63a93af28828b57358d0e1a1a99cade89 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 27 Jan 2026 20:57:00 +0000 Subject: [PATCH 13/13] Bump version to 0.26.7 --- CHANGELOG.md | 17 +++++++++++++++++ Gemfile.lock | 2 +- lib/semian/version.rb | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c6d6c215..97ceeb2b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,20 @@ +# v0.26.7 + +* use the correct bot for github actions (#998) +* Redis: Namespace the added OOM error class attr +* Redis: Add OOM configuration leak tests +* Redis: Better command wording 2/2 +* Redis: Better command wording 1/2 +* Redis: Make OOM Errors configurable for circuit opening +* Redis: Do not open circuit on OOM +* Refresh dependencies for all adapters and fix time helper (#941) +* Bump edge Rails +* Add support for Active Record's PostgreSQL Adapter +* Accept `QueryIntent` from Active Record 8.2 in `execute_intent` +* Modify release workflow to preview changes through a PR (#825) +* Use GitHub assets for RELEASE.md images (#816) +* Create GitHub Action to publish new release (#779) + # v0.26.6 * Remove force_config_validation spammy log diff --git a/Gemfile.lock b/Gemfile.lock index af0bd1c8c..a2410d8c3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -26,7 +26,7 @@ GIT PATH remote: . specs: - semian (0.26.6) + semian (0.26.7) concurrent-ruby GEM diff --git a/lib/semian/version.rb b/lib/semian/version.rb index 51bd84b50..08d31c05c 100644 --- a/lib/semian/version.rb +++ b/lib/semian/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Semian - VERSION = "0.26.6" + VERSION = "0.26.7" end