Skip to content

Build production package flavors#92

Merged
den-sq merged 1 commit into
staging/release-packaging-smokefrom
codex/issue-87-package-flavors
Jul 1, 2026
Merged

Build production package flavors#92
den-sq merged 1 commit into
staging/release-packaging-smokefrom
codex/issue-87-package-flavors

Conversation

@den-sq

@den-sq den-sq commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

Closes #87.

Summary

  • extend the release workflow to build core, plugins-cpu, and plugins-cuda package flavors across Linux, macOS, and Windows
  • stage Neuroglancer plus CPU/CUDA Automatic Segmentation release artifacts into extra-resources/preinstalled-plugins for plugin package flavors
  • add flavor-specific release artifact renaming and documentation for release inputs/local checks

Notes

Validation

  • node --check scripts/prepare-package-flavor.mjs
  • node --check scripts/rename-release-artifacts.mjs
  • npm run prepare:production-server
  • OUROBOROS_PACKAGE_FLAVOR=core npm run prepare:package-flavor
  • OUROBOROS_PACKAGE_FLAVOR=plugins-cpu OUROBOROS_PLUGIN_ARTIFACT_DIR=/tmp/ouroboros-package-artifacts OUROBOROS_NEUROGLANCER_PLUGIN_TAG=local OUROBOROS_AUTOSEG_PLUGIN_TAG=local npm run prepare:package-flavor
  • OUROBOROS_PACKAGE_FLAVOR=plugins-cuda OUROBOROS_PLUGIN_ARTIFACT_DIR=/tmp/ouroboros-package-artifacts OUROBOROS_NEUROGLANCER_PLUGIN_TAG=local OUROBOROS_AUTOSEG_PLUGIN_TAG=local npm run prepare:package-flavor
  • OUROBOROS_PACKAGE_FLAVOR=plugins-cuda npm run rename:release-artifacts
  • npm run typecheck:node
  • git diff --check

@den-sq den-sq self-assigned this Jul 1, 2026
@tavateva

tavateva commented Jul 1, 2026

Copy link
Copy Markdown

Draft Promotion Review ✅ READY (after #90)

Reviewed against Draft Promotion Criteria.

Context: This PR addresses issue #87 (Build core-only, plugins CPU, and plugins CUDA production package flavors). Stacked on #90 — depends on registry-backed server preparation script.

Criterion Assessment

  1. CI and mergeability: ✅ PASSdocs check green, mergeable
  2. Issue Acceptance Criteria: ✅ PASS — All 5 criteria met:
    • ✅ Three flavors from one tag (workflow matrix: core / plugins-cpu / plugins-cuda)
    • ✅ Core-only has no bundled plugins (OUROBOROS_PACKAGE_FLAVOR=core skips plugin staging)
    • ✅ CPU plugin package includes neuroglancer + autoseg CPU (downloads CPU artifact, stages to extra-resources/preinstalled-plugins/)
    • ✅ CUDA plugin package includes neuroglancer + autoseg CUDA (downloads CUDA artifact with GPU reservation)
    • ✅ Artifact names distinguish flavors (rename-release-artifacts.mjs appends -core/-plugins-cpu/-plugins-cuda)
  3. PR body Test Plan checkboxes: ✅ PASS — All verification items executed:
    • node --check for both new scripts
    • npm run prepare:production-server
    • ✅ All three flavors prepared locally (core, plugins-cpu, plugins-cuda)
    • npm run rename:release-artifacts
    • npm run typecheck:node
    • git diff --check
  4. Tests run: ✅ PASS — Script validation, flavor preparation for all three variants, typecheck, git diff all reported
  5. Scope: ✅ PASS — Flavor matrix + plugin artifact staging + artifact renaming; stacked on Use registry-backed server image in production packages #90
  6. Regressions: ✅ PASS — CI green
  7. Judgement calls: ✅ PASS — Flavor selection logic, artifact naming, and plugin resolution all documented in prepare-package-flavor.mjs and production-package-flavors.md

VERDICT: ✅ READY TO MERGE (after #90 merges)

Key Changes

  • Workflow matrix: 3 flavors × 3 OS runners = 9 package variants per release
  • scripts/prepare-package-flavor.mjs: Downloads plugin release artifacts, extracts to extra-resources/preinstalled-plugins/, validates package structure
  • scripts/rename-release-artifacts.mjs: Appends flavor suffix to Electron Builder output artifacts
  • documentation/docs/development/production-package-flavors.md: Documents flavor inputs, artifact names, and local testing

Flavor Behavior

  • core: No plugins bundled
  • plugins-cpu: Neuroglancer + auto-segmentation-<tag>-cpu.zip
  • plugins-cuda: Neuroglancer + auto-segmentation-<tag>-cuda.zip (GPU reservation)

Dependencies

All 7 criteria satisfied. This PR closes issue #87 and is ready to merge after #90.

Base automatically changed from codex/issue-88-registry-server-package to staging/release-packaging-smoke July 1, 2026 19:57
@den-sq den-sq merged commit 967a45b into staging/release-packaging-smoke Jul 1, 2026
1 check passed
@den-sq den-sq deleted the codex/issue-87-package-flavors branch July 1, 2026 19:59
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.

2 participants