OXYGENHUB

Releases 1

OxygenHub 0.4.2 v0.4.2 · ✔ signed by Andy McCall · andymccall ·

Trust and audit
  • Coverage from a workstation (issue #136). oh coverage upload FILE [--bookmark B | --change HASH] keeps an LCOV or Cobertura report measured off the hub as the coverage of that state, for suites a runner cannot run in full. The Coverage page, its history and the Reports card say "uploaded by NAME" where a run number would be, so a runner's figure and an upload's are never mistaken for each other, and an upload sets no check.

  • Images by hash (oxygenflow#39). Rootfs images live on the hub: flow rootfs push sends only the chunks the hub lacks (a rebuilt image costs its changes, runs of zeros cost nothing), the hub checks the whole image against its hash, and a runner that lacks a job's image fetches it instead of anyone copying it between machines. The hub offers such a job to runners that fetch, and says when neither the runner nor the hub holds the image.

  • Reports (issue #127). A Flow job's report "NAME" { path … } output is kept file by file with every run, and a repository with reports gets one Reports tab in place of Coverage and Tests: each report's latest run with its kind, summary and metrics, and how each moved against the run before. A report's page shows its metrics with sparklines across runs, its thresholds, its [context], its runs, and its own page (index.html) in a sandboxed frame that carries no session. Each metric with fail_above or fail_below sets a check named report/NAME/METRIC on the change.

  • Flow's artifacts survive the nightly gc (issue #126). They are named only in the hub's database, so garbage collection found them unreachable and would have deleted each one 14 days after its run: coverage files, test reports and dist files alike. The nightly gc now keeps every artifact a repository's runs name.

  • Transfer a project (issue #125). A board's Settings move it to another owner you may make boards under, such as one of your organisations; so do the API (owner on PATCH /projects/{owner}/{n}) and oh project transfer N --to OWNER. It takes the next number there, with its columns, cards and privacy, and its old address redirects to it.

Assets