Skip to content

fix(release): merge develop into main#233

Merged
bedatty merged 8 commits intomainfrom
develop
Apr 17, 2026
Merged

fix(release): merge develop into main#233
bedatty merged 8 commits intomainfrom
develop

Conversation

@bedatty
Copy link
Copy Markdown
Contributor

@bedatty bedatty commented Apr 17, 2026

Lerian

GitHub Actions Shared Workflows


Description

Type of Change

  • feat: New workflow or new input/output/step in an existing workflow
  • fix: Bug fix in a workflow (incorrect behavior, broken step, wrong condition)
  • perf: Performance improvement (e.g. caching, parallelism, reduced steps)
  • refactor: Internal restructuring with no behavior change
  • docs: Documentation only (README, docs/, inline comments)
  • ci: Changes to self-CI (workflows under .github/workflows/ that run on this repo)
  • chore: Dependency bumps, config updates, maintenance
  • test: Adding or updating tests
  • BREAKING CHANGE: Callers must update their configuration after this PR

Breaking Changes

None.

Testing

  • YAML syntax validated locally
  • Triggered a real workflow run on a caller repository using @develop or the beta tag
  • Verified all existing inputs still work with default values
  • Confirmed no secrets or tokens are printed in logs
  • Checked that unrelated workflows are not affected

Caller repo / workflow run:

Related Issues

Closes #

Summary by CodeRabbit

  • New Features

    • Automatic major-version tag management keeps floating major tags synchronized with the latest stable releases.
    • Code scanning reporter now filters dismissed/fixed findings and reports how many were hidden.
  • Chores

    • CI workflows: updated authentication handling, introduced workflow permissions, input validation, and adjusted checkout/release steps.
    • Upgraded Slack notification step and moved webhook configuration to action inputs.
    • Added a post-release job to update major-version tags.
  • Documentation

    • Expanded pinning-policy, major-tag updater, and code-scanning docs.

bedatty and others added 5 commits April 17, 2026 13:51
…230)

* feat(self-release): force-update floating major tag on stable release

* refactor(update-major-tag): extract major-tag logic into composite

* feat(update-major-tag): expose skip and tag-updated outputs

* fix(update-major-tag): qualify tag refs to avoid branch/tag ambiguity
…n the notifications group (#118)

* chore(deps): bump slackapi/slack-github-action

Bumps the notifications group with 1 update: [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action).


Updates `slackapi/slack-github-action` from 1.24.0 to 2.1.1
- [Release notes](https://github.com/slackapi/slack-github-action/releases)
- [Commits](slackapi/slack-github-action@v1.24.0...v2.1.1)

---
updated-dependencies:
- dependency-name: slackapi/slack-github-action
  dependency-version: 2.1.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: notifications
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(gptchangelog): migrate slack-github-action to v3 webhook inputs

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lucas Bedatty <lucas.bedatty@lerian.studio>
@bedatty bedatty self-assigned this Apr 17, 2026
@bedatty bedatty requested a review from a team as a code owner April 17, 2026 18:44
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 17, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 3e774906-f6e0-4aac-a252-b362e1a9a476

📥 Commits

Reviewing files that changed from the base of the PR and between 66e40fa and 811b34a.

📒 Files selected for processing (1)
  • src/config/update-major-tag/action.yml

Walkthrough

Replaced GitHub App app-id inputs with client-id across workflows; added a composite action and job to update floating major tags; tightened pinned-action rules and README; enhanced CodeQL reporter to normalize SARIF paths and suppress findings using Code Scanning alert states; upgraded Slack action to v3 and moved webhook config into with:.

Changes

Cohort / File(s) Summary
GitHub App Authentication Migration
​.github/workflows/gptchangelog.yml, ​.github/workflows/helm-update-chart.yml, ​.github/workflows/release-notification.yml, ​.github/workflows/release.yml, ​.github/workflows/typescript-release.yml
Replaced app-id: input with client-id: for actions/create-github-app-token usages; secret wiring preserved.
Self-Release & Update-Major-Tag Action
​.github/workflows/self-release.yml, src/config/update-major-tag/action.yml, src/config/update-major-tag/README.md
Added update-major-tag job and composite action that finds latest stable vX.Y.Z, derives vX, and idempotently updates/force-pushes the floating major tag; new README documents behavior and outputs.
Slack Integration Upgrade
​.github/workflows/gptchangelog.yml
Upgraded slackapi/slack-github-action v1.24.0 → v3.0.1; moved webhook credentials from env to with: (webhook, webhook-type: incoming-webhook) and removed obsolete env vars.
Helm Update: base_branch validation & checkout changes
​.github/workflows/helm-update-chart.yml
Added permissions: contents: read, explicit base_branch allowlist validation, switched to client-id, removed checkout ref: and added fetch + git checkout -B "${BASE_BRANCH}" "origin/${BASE_BRANCH}".
Pinned Actions Validation (lint)
src/lint/pinned-actions/action.yml, src/lint/pinned-actions/README.md
Refined pinning policy and implementation: external actions require full commit SHA (error); internal composites (/src/) allow @vN or develop/main (warning); reusable workflows (/.github/workflows/) require exact @vN.M.P (warning). README inputs changed (files CSV, warn-patterns).
CodeQL Reporter: enrichment & path normalization
src/security/codeql-reporter/action.yml, src/security/codeql-reporter/README.md
Normalize SARIF file URIs to repo-relative paths; call listAlertsForRepo for the PR merge ref to bucket/suppress findings when all matching alerts are dismissed/fixed; track hiddenCount/enriched and append hidden-findings note to PR comments; fallback warns and shows raw SARIF if API fails.
Workflow permissions tweaks
​.github/workflows/release-notification.yml, ​.github/workflows/release.yml, ​.github/workflows/helm-update-chart.yml
Added/adjusted workflow-level permissions (e.g., contents: read / contents: write) required by new steps and API calls.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested labels

security, size/S

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title 'fix(release): merge develop into main' is misleading—the changeset contains significant workflow updates, new composite actions, lint rule enhancements, and security improvements across multiple files, not a simple merge operation. Revise the title to reflect the actual primary changes, such as 'fix: update GitHub App auth config and add update-major-tag workflow' or similar to accurately represent the scope and intent.
Description check ⚠️ Warning The description follows the template structure and marks change types (fix, chore) with validation checkboxes completed, but the 'Description' section is blank—no summary of what PR actually does or which workflows are affected. Fill in the Description section to summarize the changes: auth config migration (app-id→client-id), Slack notification upgrade, new update-major-tag workflow, and pinned-actions lint rule refactor.
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch develop

Comment @coderabbitai help to get the list of available commands and usage tips.

@lerian-studio lerian-studio added size/M PR changes 200–499 lines workflow Changes to one or more reusable workflow files typescript Changes to TypeScript or Frontend workflows labels Apr 17, 2026
@lerian-studio
Copy link
Copy Markdown
Contributor

lerian-studio commented Apr 17, 2026

🔍 Lint Analysis

Check Files Scanned Status
YAML Lint 9 file(s) ✅ success
Action Lint 6 file(s) ✅ success
Pinned Actions 9 file(s) ✅ success
Markdown Link Check 3 file(s) ✅ success
Spelling Check 12 file(s) ✅ success
Shell Check 9 file(s) ✅ success
README Check 9 file(s) ✅ success
Composite Schema 3 file(s) ✅ success
Deployment Matrix no changes ⏭️ skipped
⚠️ Warnings (9)

Pinned Actions

.github

  • .github (line 115) — Found 8 internal action(s) not pinned to a version. Consider pinning to vX.Y.Z.

.github/workflows/typescript-release.yml

  • .github/workflows/typescript-release.yml (line 72) — Internal composite must use floating major tag (e.g. @v1) or develop/main for testing: uses: LerianStudio/github-actions-shared-workflows/src/config/changed-paths@v1.18.0

.github/workflows/release.yml

  • .github/workflows/release.yml (line 191) — Internal composite must use floating major tag (e.g. @v1) or develop/main for testing: uses: LerianStudio/github-actions-shared-workflows/src/config/backmerge-pr@v1.21.0
  • .github/workflows/release.yml (line 180) — Internal composite must use floating major tag (e.g. @v1) or develop/main for testing: uses: LerianStudio/github-actions-shared-workflows/src/config/release-tag-check@v1.21.0
  • .github/workflows/release.yml (line 156) — Internal composite must use floating major tag (e.g. @v1) or develop/main for testing: uses: LerianStudio/github-actions-shared-workflows/src/config/release-tag-snapshot@v1.22.0
  • .github/workflows/release.yml (line 66) — Internal composite must use floating major tag (e.g. @v1) or develop/main for testing: uses: LerianStudio/github-actions-shared-workflows/src/config/changed-paths@v1.18.0

.github/workflows/release-notification.yml

  • .github/workflows/release-notification.yml (line 180) — Internal composite must use floating major tag (e.g. @v1) or develop/main for testing: uses: LerianStudio/github-actions-shared-workflows/src/notify/slack-release@v1.18.0
  • .github/workflows/release-notification.yml (line 168) — Internal composite must use floating major tag (e.g. @v1) or develop/main for testing: uses: LerianStudio/github-actions-shared-workflows/src/notify/discord-release@v1.18.0

.github/workflows/gptchangelog.yml

  • .github/workflows/gptchangelog.yml (line 149) — Internal composite must use floating major tag (e.g. @v1) or develop/main for testing: uses: LerianStudio/github-actions-shared-workflows/src/config/changed-paths@v1.18.0

🔍 View full scan logs

@lerian-studio
Copy link
Copy Markdown
Contributor

lerian-studio commented Apr 17, 2026

🛡️ CodeQL Analysis Results

Languages analyzed: actions

✅ No security issues found.


🔍 View full scan logs | 🛡️ Security tab

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

CodeRabbit couldn't request changes on this pull request because it doesn't have sufficient GitHub permissions.

Please grant CodeRabbit Pull requests: Read and write permission and re-run the review.

👉 Steps to fix this

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/config/update-major-tag/action.yml`:
- Around line 65-67: The current unconditional git push --force can let a stale
run move the major tag backward; instead, read the current remote tag value and
use a lease when updating the tag: resolve the current remote commit for
refs/tags/$MAJOR (e.g. via git ls-remote or git fetch + git rev-parse) and then
replace the unconditional git push with a forced push that uses the lease for
that ref (--force-with-lease or
--force-with-lease=refs/tags/$MAJOR:<remote_sha>) so the push will fail if the
remote tag changed between reading and writing; update the lines that
create/push the tag (the git tag -f -a "$MAJOR" "$SHA" and git push ... --force)
to use this lease-based push using the resolved remote SHA for $MAJOR.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 85d7f2b9-b3b8-428b-b852-168554b02654

📥 Commits

Reviewing files that changed from the base of the PR and between 92145f8 and bfbbd5b.

📒 Files selected for processing (12)
  • .github/workflows/gptchangelog.yml
  • .github/workflows/helm-update-chart.yml
  • .github/workflows/release-notification.yml
  • .github/workflows/release.yml
  • .github/workflows/self-release.yml
  • .github/workflows/typescript-release.yml
  • src/config/update-major-tag/README.md
  • src/config/update-major-tag/action.yml
  • src/lint/pinned-actions/README.md
  • src/lint/pinned-actions/action.yml
  • src/security/codeql-reporter/README.md
  • src/security/codeql-reporter/action.yml

Comment thread src/config/update-major-tag/action.yml Outdated
* fix(workflows): address codeql medium findings on release and helm workflows

* fix(helm-update-chart): avoid untrusted-checkout pattern by switching branch after checkout

* docs(helm-update-chart): sync base_branch description with allowlist and actual default

* fix(helm-update-chart): reset base branch to fresh remote tracking ref

* fix(helm-update-chart): add workflow-level least-privilege permissions
@bedatty bedatty temporarily deployed to create_release April 17, 2026 20:28 — with GitHub Actions Inactive
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

CodeRabbit couldn't request changes on this pull request because it doesn't have sufficient GitHub permissions.

Please grant CodeRabbit Pull requests: Read and write permission and re-run the review.

👉 Steps to fix this

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/config/update-major-tag/action.yml`:
- Around line 70-73: The lease is being obtained from the remote right before
push (REMOTE_MAJOR_SHA/LEASE_SHA) which allows a race; instead, capture and
freeze the lease when you decide to push (the decision-to-push block that
computes TARGET and confirms a push), e.g. resolve the current local ref for
refs/tags/$MAJOR into a variable (replace REMOTE_MAJOR_SHA/LEASE_SHA
read-from-remote) and carry that frozen value through to the final git push
--force-with-lease="refs/tags/$MAJOR:$LEASE_SHA" so the push uses the
locally-captured lease expectation (fall back to the zero SHA if no ref exists).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 36269796-4d35-4958-8022-dfadbdd14017

📥 Commits

Reviewing files that changed from the base of the PR and between a714b98 and 66e40fa.

📒 Files selected for processing (1)
  • src/config/update-major-tag/action.yml

Comment thread src/config/update-major-tag/action.yml Outdated
@bedatty bedatty temporarily deployed to create_release April 17, 2026 20:45 — with GitHub Actions Inactive
@bedatty bedatty merged commit 5b49318 into main Apr 17, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/M PR changes 200–499 lines typescript Changes to TypeScript or Frontend workflows workflow Changes to one or more reusable workflow files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants