• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

opendefensecloud / solution-arsenal / 31088873730
80%

Build:
DEFAULT BRANCH: main
Ran 06 Aug 2026 09:42AM UTC
Jobs 1
Files 71
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

06 Aug 2026 09:23AM UTC coverage: 81.895% (-0.2%) from 82.05%
31088873730

push

github

web-flow
feat(dev): make demo / demo-app / demo-clean for a one-command demo (#734)

## Background

Part of #644, the arc is one command to spin up SolAr locally with the
demo app deployed -> `make demo`

1. ✅ make `make dev-cluster` reliably populate the catalog (#731)
2. ✅ single source of truth for the OCM transfer step (#733)
3. **(this PR)** `make demo-app` / `make demo` / `make demo-clean` for
the full render -> bootstrap flow
4. a CI smoke test that runs the demo so it cant silently rot

## What

Three make targets, backed by two scripts under `hack/demo`:

- `make demo-app` -> seeds the ocm-demo app end to end on an existing
dev cluster: transfer -> discover -> release -> render -> bootstrap ->
running workload. Idempotent.
- `make demo` -> from zero: create the dev cluster if its missing, then
`demo-app`.
- `make demo-clean` -> remove the demo resources and the app namespace,
keep the cluster and the catalog.

## Why

After `make dev-cluster` we had an empty SolAr and getting the demo app
actually deployed was a manual, order-sensitive dance across a few
scripts. `demo-app` walks that whole path in one go.

The important bit for not drifting: `demo-app` mirrors the exact happy
path the e2e suite exercises and reuses the **same** `test/fixtures/e2e`
manifests (release, target, registry, bindings, regcred, bootstrap). So
the demo and the e2e tests share their inputs and cant diverge. CI will
guard the ordering in step 4 (pr follows after this one :)).

Topology -> everything runs in `solar-system`, because thats where
dev-cluster's discovery writes the ComponentVersion and where the
discovery Registry (`zot-scan`) and the `zot-deploy` pull secret already
live. So every reference resolves in-namespace, no ReferenceGrants
needed. This matches how the e2e suite runs the whole flow in a single
namespace. The app itself lands in the Release's `targetNamespace`
(`demo`).

Re-runs are cheap -> `demo-app` skips the transfer when the
ComponentVersion is already ... (continued)

5297 of 6468 relevant lines covered (81.9%)

34.58 hits per line

Coverage Regressions

Lines Coverage ∆ File
6
77.77
-0.56% pkg/controller/target_controller.go
4
86.13
-0.89% pkg/controller/rendertask_controller.go
Jobs
ID Job ID Ran Files Coverage
1 31088873730.1 06 Aug 2026 09:42AM UTC 71
81.9
GitHub Action Run
Source Files on build 31088873730
  • Tree
  • List 71
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31088873730
  • 386ae194 on github
  • Prev Build on main (#30981137536)
  • Next Build on main (#31376073002)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc