Pulse/.github/workflows
2026-04-15 18:21:36 +01:00
..
build-and-test.yml Move v5 maintenance flow onto release/5.1 2026-04-14 19:22:12 +01:00
close-needs-retest-timeout.yml Improve issue triage with version-aware automation 2026-02-08 19:28:24 +00:00
create-release.yml Make v5 release automation branch-owned 2026-04-14 19:49:16 +01:00
deploy-demo-server.yml fix: remediate default branch dependency alerts 2026-04-09 10:28:54 +01:00
eval-model-matrix.yml Fix code scanning findings 2026-03-28 10:58:57 +00:00
helm-ci.yml Move v5 maintenance flow onto release/5.1 2026-04-14 19:22:12 +01:00
helm-pages.yml Make v5 release automation branch-owned 2026-04-14 19:49:16 +01:00
issue-version-triage.yml Suppress triage bot comment spam 2026-04-15 18:21:36 +01:00
promote-floating-tags.yml Make v5 release automation branch-owned 2026-04-14 19:49:16 +01:00
publish-docker.yml Make v5 release automation branch-owned 2026-04-14 19:49:16 +01:00
publish-helm-chart.yml Make v5 release automation branch-owned 2026-04-14 19:49:16 +01:00
README.md Make v5 release automation branch-owned 2026-04-14 19:49:16 +01:00
release-dry-run.yml Fix release dry-run integration image build 2026-04-14 20:06:36 +01:00
test-e2e.yml Move v5 maintenance flow onto release/5.1 2026-04-14 19:22:12 +01:00
test-updates.yml Move v5 maintenance flow onto release/5.1 2026-04-14 19:22:12 +01:00
update-demo-server.yml Make v5 release automation branch-owned 2026-04-14 19:49:16 +01:00
validate-release-assets.yml Make v5 release automation branch-owned 2026-04-14 19:49:16 +01:00

GitHub Actions Workflows

Update Demo Server

File: update-demo-server.yml

Updates the public demo server when the release pipeline dispatches a new stable release deployment, or when run manually.

Configuration Required

Add these secrets to your GitHub repository settings (SettingsSecrets and variablesActions):

  1. DEMO_SERVER_SSH_KEY

    • The private SSH key for accessing the demo server
    • Generate with: cat ~/.ssh/id_ed25519 (or your key file)
    • Should be the full private key including -----BEGIN and -----END lines
  2. DEMO_SERVER_HOST

    • The hostname or IP of the demo server
    • Value: 174.138.72.137 (or hostname if using DNS)
  3. DEMO_SERVER_USER

    • The SSH username for the demo server
    • Value: root (or the appropriate user with sudo access)

How It Works

  1. Trigger: Dispatched by the release pipeline after a stable release is published, or run manually from the Actions tab
  2. Filter: The release pipeline only dispatches this for stable releases
  3. Update: SSHs to demo server and runs the install script
  4. Verify: Checks that the new version is running and mock mode is active
  5. Cleanup: Removes SSH key from runner

Testing

To test without publishing a release:

  1. Go to Actions tab in GitHub
  2. Select Update Demo Server workflow
  3. Click Run workflow (if manual trigger is enabled)

Benefits

  • Demo server always showcases latest stable release
  • Validates install script works on real server
  • Removes manual step from release process
  • Free to run (public repos get unlimited GitHub Actions minutes)

Helm CI

File: helm-ci.yml

Runs helm lint --strict and renders the chart with common configuration combinations on every pull request that touches Helm content (and on pushes to main and release/5.1). This prevents regressions before they land.

  • Triggered by PRs/pushes touching deploy/helm/**, docs, or the workflow itself
  • Uses Helm v3.15.2
  • Renders both the default deployment and an agent-enabled configuration to catch template issues

Publish Helm Chart

File: publish-helm-chart.yml

Packages the Helm chart and pushes it to the GitHub Container Registry (OCI) when dispatched by the release pipeline, or manually via workflow dispatch. Also makes the packaged .tgz available as both an Actions artifact and a release asset. The same behaviour can be triggered locally via ./scripts/package-helm-chart.sh <version> [--push].

  • Triggered by the release pipeline via workflow dispatch, or manually from the Actions tab
  • Chart and app versions mirror the Pulse release tag (e.g., v4.24.04.24.0)
  • Publishes to oci://ghcr.io/<owner>/pulse-chart
  • Requires no additional secrets—uses the built-in GITHUB_TOKEN with packages: write permission