Skip to content

ci: standardize workflows and chart patterns to match org playbook - #5

Merged
kphunter merged 2 commits into
mainfrom
devin/1779655349-standardize-patterns
May 24, 2026
Merged

ci: standardize workflows and chart patterns to match org playbook#5
kphunter merged 2 commits into
mainfrom
devin/1779655349-standardize-patterns

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Summary

Standardize workflows, Helm chart, and supporting files to match the bcit-tlu/qcon-api reference and org playbook conventions.

Deletions:

  • .github/workflows/build-and-push-app.yaml.inactive (stale legacy workflow)
  • VERSION file (version tracked solely via .release-please-manifest.json + Chart.yaml)

Workflow changes (all 5 workflows):

  • Add FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true to pr-title-lint.yaml, release-please.yaml, helm-publish.yaml (already present in ci.yaml and release-retag.yaml)
  • Verify actions/checkout@v6 across all workflows
  • Replace || true + grep helm push error guard with || { echo "${PUSH_OUT}"; exit 1; } in ci.yaml and helm-publish.yaml
  • Use tolerant digest parse (awk 'tolower($1)=="digest:"') instead of strict awk '/^Digest:/'
  • Use yq instead of awk for chart name extraction
  • Move GHA expressions (${{ }}) into env: blocks for shell safety
  • Add digest guard to release-retag.yaml sign step: if: steps.parse.outputs.match == 'true' && steps.retag.outputs.digest != ''
  • Use bash array for TAGS variable in retag step
  • Reduce verbose block comments to concise single-line comments

Helm chart:

  • deployment.yaml: {{- if $aff }}{{- if ne (toJson $aff) "{}" }} (correctly handles empty dict)
  • Chart.yaml: Add # x-release-please-version annotation to version: line
  • values.yaml: Reduce verbose comment block for zoneAntiAffinity

Other:

  • Dockerfile: ### for stage comments
  • AGENTS.md: Add helm lint/validate commands, CI/CD section with version tracking info, MPL-2.0 license mention

Review & Testing Checklist for Human

  • Verify helm-publish in ci.yaml correctly moves OCI_BASE and IMAGE_BASE into env: block — ensure no variable resolution issues at GHA evaluation time
  • Confirm the TAGS bash array pattern in release-retag.yaml works correctly for the retag step (changed from string concatenation to proper array)
  • Spot-check that the tolerant digest parse (tolower) matches actual helm push output format on your runner version

Notes

  • release-please-config.json already had no version-file entry — no changes needed there
  • Chart.yaml version was 0.1.0 (behind manifest 0.2.0); the # x-release-please-version annotation was added so release-please will bump it going forward
  • No app code, MkDocs config, build logic, or CI triggers were changed

Link to Devin session: https://app.devin.ai/sessions/cb8f57d6c8504a13961a5ecf6db61af1
Requested by: @kphunter

devin-ai-integration Bot and others added 2 commits May 24, 2026 20:42
Co-Authored-By: kyle_hunter@bcit.ca <kyle_hunter@bcit.ca>
Co-Authored-By: kyle_hunter@bcit.ca <kyle_hunter@bcit.ca>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@kphunter
kphunter merged commit e2096a8 into main May 24, 2026
4 checks passed
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