Skip to content

ci(workflow): adopt unified tailor sentinel gate pattern and consolidate release mechanism#62

Merged
flexiondotorg merged 2 commits intomainfrom
ci
Mar 16, 2026
Merged

ci(workflow): adopt unified tailor sentinel gate pattern and consolidate release mechanism#62
flexiondotorg merged 2 commits intomainfrom
ci

Conversation

@flexiondotorg
Copy link
Contributor

  • Replace separate build.yml and release.yml with unified builder.yml workflow
  • Implement sentinel gate pattern: lint-code, lint-actions, coverage, test matrix, security
  • Preserve native four-runner build matrix with CGO and ffmpeg-statigo
  • Retain existing softprops/action-gh-release mechanism
  • Add actionlint-matcher.json for improved error reporting

Checklist

  • I have performed a self-review of my code
  • I have tested my changes and confirmed there are no regressions

…ate release mechanism

- Replace separate build.yml and release.yml with unified builder.yml
  workflow
- Implement sentinel gate pattern: lint-code, lint-actions, coverage,
  test matrix, security
- Preserve native four-runner build matrix with CGO and ffmpeg-statigo
- Retain existing softprops/action-gh-release mechanism
- Add actionlint-matcher.json for improved error reporting

Signed-off-by: Martin Wimpress <code@wimpress.io>
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

3 issues found across 4 files

Confidence score: 2/5

  • High-confidence CI regression in .github/workflows/builder.yml: the ffmpeg-statigo submodule is not initialized before Go linters, so go vet can fail on the ./third_party/ffmpeg-statigo replace target and block the sentinel gate.
  • Given the severity (8/10) and strong confidence (9/10), this is a likely merge blocker rather than a cosmetic issue, which drives the lower score.
  • There are also smaller workflow-quality issues: .github/actionlint-matcher.json may miss ANSI diagnostics with semicolon-delimited SGR codes, and .github/workflows/builder.yml release notes currently claim SHA256 assets that are not produced.
  • Pay close attention to .github/workflows/builder.yml, .github/actionlint-matcher.json - fix submodule setup first to restore CI reliability, then align matcher/release-note behavior.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name=".github/actionlint-matcher.json">

<violation number="1" location=".github/actionlint-matcher.json:7">
P2: Broaden the ANSI matcher to handle semicolon-delimited SGR codes, otherwise colored diagnostics with combined attributes can stop matching.</violation>
</file>

<file name=".github/workflows/builder.yml">

<violation number="1" location=".github/workflows/builder.yml:30">
P1: Initialize the ffmpeg-statigo submodule before running Go linters. This checkout omits the local module that `go.mod` replaces into `./third_party/ffmpeg-statigo`, so `go vet` fails in CI and blocks the sentinel gate.</violation>

<violation number="2" location=".github/workflows/builder.yml:253">
P3: Either generate checksum assets or remove this sentence. As written, every release note claims SHA256 checksums are included even though the workflow never creates them.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

- Add `submodules: recursive` to lint-code checkout step to load
  go.mod replace directive targeting third_party/ffmpeg-statigo
- Add `submodules: recursive` to security checkout step and set
  `repo-checkout: false` on govulncheck-action to prevent duplicate
  checkout without submodule initialisation

Fixes go vet and govulncheck job failures caused by missing submodule
dependencies.

Signed-off-by: Martin Wimpress <code@wimpress.io>
@github-advanced-security
Copy link

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

0 issues found across 1 file (changes from recent commits).

Requires human review: Auto-approval blocked by 1 unresolved issue from previous reviews.

@flexiondotorg flexiondotorg merged commit 53d0701 into main Mar 16, 2026
18 checks passed
@flexiondotorg flexiondotorg deleted the ci branch March 16, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant