feat: add emoji status indicators to markdown report for CI step summary#708
Open
em-redhat wants to merge 2 commits into
Open
feat: add emoji status indicators to markdown report for CI step summary#708em-redhat wants to merge 2 commits into
em-redhat wants to merge 2 commits into
Conversation
ca99169 to
d7a0b60
Compare
trevor-vaughan
added a commit
that referenced
this pull request
Jul 9, 2026
- Harden ci_dependencies.yml against template injection: move PR number and repository to env vars, sanitize dep name/version with tr, validate comment ID as integer, pass jq marker via --arg - Add persist-credentials: false to release.yml preflight checkout with a separate git credential step to keep tokens out of artifacts - Scope pull-requests: write in ci_crapload.yml to the post-comment job only (was workflow-level) - Replace peter-evans/create-or-update-comment with gh CLI in ci_dependencies.yml to drop a third-party action - Document every permissions entry with inline comments across all 13 workflow files (22 previously undocumented) - Add concurrency groups to 10 workflows; disable cancel-in-progress for behavioral_assessment (SARIF uploads), ci_sonarcloud (coverage pipeline), and ci_dependencies (auto-merge protection) - Name 5 anonymous jobs: Buf Lint, Unit Tests, End-to-End Tests, Integration Tests, Behavioral Assessment - Update REQUIRED_CHECKS in release.yml to match new job name: values (Unit Tests, End-to-End Tests, Integration Tests); old job-key strings would have blocked every release - Grant contents: read to ci_sonarcloud generate-coverage job, which inherited contents: none from the workflow level and could not check out code zizmor --pedantic now reports zero findings across all 13 workflows. Fixes: #708 Assisted-by: Claude Sonnet 4.6 Signed-off-by: Trevor Vaughan <tvaughan@redhat.com>
trevor-vaughan
added a commit
that referenced
this pull request
Jul 9, 2026
- Harden ci_dependencies.yml against template injection: move PR number and repository to env vars, sanitize dep name/version with tr, validate comment ID as integer, pass jq marker via --arg - Add persist-credentials: false to release.yml preflight checkout with a separate git credential step to keep tokens out of artifacts - Scope pull-requests: write in ci_crapload.yml to the post-comment job only (was workflow-level) - Replace peter-evans/create-or-update-comment with gh CLI in ci_dependencies.yml to drop a third-party action - Document every permissions entry with inline comments across all 13 workflow files (22 previously undocumented) - Add concurrency groups to 10 workflows; disable cancel-in-progress for behavioral_assessment (SARIF uploads), ci_sonarcloud (coverage pipeline), and ci_dependencies (auto-merge protection) - Name 5 anonymous jobs: Buf Lint, Unit Tests, End-to-End Tests, Integration Tests, Behavioral Assessment - Update REQUIRED_CHECKS in release.yml to match new job name: values (Unit Tests, End-to-End Tests, Integration Tests); old job-key strings would have blocked every release - Grant contents: read to ci_sonarcloud generate-coverage job, which inherited contents: none from the workflow level and could not check out code zizmor --pedantic now reports zero findings across all 13 workflows. Fixes: #708 Assisted-by: Claude Sonnet 4.6 Signed-off-by: Trevor Vaughan <tvaughan@redhat.com>
| @@ -0,0 +1,249 @@ | |||
| --- | |||
Member
There was a problem hiding this comment.
Are these files intended to be committed?
d7a0b60 to
9e814c4
Compare
Contributor
Author
|
Cleaned up the PR -- removed 28 unintentionally included files (
Rebased onto latest |
- Add resultEmoji() helper mapping gemara.Result to complytime.Status* emoji constants (StatusPassed, StatusFailed, StatusSkipped, StatusError) - Prefix Controls table Result column with emoji for control and requirement rows in writeControlsTable() - Prefix summary counts table headers with emoji in writeSummary() - Prefix findings group headers with emoji in writeFindings() - Add table-driven TestResultEmoji unit test covering all 6 result types plus default case - Add 3 new integration tests with section-scoped assertions - Update 6 existing tests for emoji presence - Update upstream TestMarkdown_NeedsReviewInFindings for emoji prefix - Add OpenSpec change artifacts (proposal, design, spec, tasks) Closes complytime#697
9e814c4 to
2d819ff
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add emoji status indicators to the
--format prettyMarkdown compliancereport so it can be used directly as a GitHub Actions Step Summary,
replacing ~55 lines of custom Python in org-infra's
reusable_compliance.yml.Changes
resultEmoji()helper (internal/output/markdown.go): Mapsgemara.Resulttocomplytime.Status*emoji constants(
Passed→✅,Failed→❌,NotApplicable/NotRun→⏭️,Unknown/NeedsReview→emoji in the Result column
(
✅ Passed | ❌ Failed | ⚠️ Needs Review | ...)(
### ❌ Failed,### ⚠️ Needs Review, etc.)Testing
TestResultEmojiunit test (7 cases including default)TestMarkdown_ControlsTableStatusIndicators,TestMarkdown_SummaryCountsTableHeaders,TestMarkdown_FindingsGroupHeaderEmojiinternal/outputDownstream
Enables
complytime/org-infrato simplify CI by replacing customPython summary generation with:
Spec Artifacts
OpenSpec change:
openspec/changes/ci-step-summary-report/Closes #697