Context
The current monorepo optivem/actions consolidates ~45 actions that previously lived as standalone per-action repos on the org (e.g. resolve-docker-images-action, generate-prerelease-version-action, check-release-exists-action, etc.). When consolidated, only a handful of ad-hoc PowerShell scripts came along:
generate-prerelease-version/test.ps1
find-latest-docker-images/test-local.ps1
resolve-docker-images/*.ps1 (5 files)
_archived/find-docker-images/test-local.ps1
The other ~40 actions have zero tests, and the repo has no .github/workflows/ — so nothing runs on PRs to actions. Actions are only exercised indirectly when downstream pipelines (shop, gh-optivem) consume them.
Goal
Audit the predecessor standalone repos for test suites, and port anything worth keeping into this monorepo so the actions are covered before we keep refactoring them (see the in-flight audit in .plans/20260420-105039-audit-actions.md).
Predecessor repos to audit
check-release-exists-action
check-tag-exists-action
create-release-action
create-tag-action
extract-release-version-action
find-docker-images-action
find-latest-docker-images-action
find-latest-prerelease-action
generate-prerelease-version-action
generate-release-version-action
generate-status-version-action
poll-until-action
publish-docker-image-action
resolve-docker-images-action
should-run-acceptance-stage-action
summarize-commit-stage-action
summarize-stage-action
summarize-system-stage-action
tag-docker-images-action
wait-for-docker-compose-action
(Plus any others under the org that map to a current action directory.)
Proposed steps
- For each predecessor repo, check whether it has a test suite (bats / jest / pytest / PowerShell / workflow-based self-test).
- Decide per-action: port, rewrite, or skip (document reason).
- Pick a common test harness for the monorepo (candidates: bats-core for shell actions, a
.github/workflows/test.yml running each action against fixtures, or per-action PowerShell suites matching the existing pattern).
- Add a CI workflow in this repo so tests run on PRs.
Notes
- Some actions in the audit plan are marked for deletion/consolidation — skip those or test them only enough to confirm removal is safe.
- Priority candidates for early test coverage: version/prerelease generation (
generate-prerelease-version, compose-prerelease-version, promote-to-rc), cleanup logic (cleanup-prereleases, cleanup-deployments), and anything touching git tags or GitHub releases, since they are hardest to dry-run in production pipelines.
Context
The current monorepo optivem/actions consolidates ~45 actions that previously lived as standalone per-action repos on the org (e.g.
resolve-docker-images-action,generate-prerelease-version-action,check-release-exists-action, etc.). When consolidated, only a handful of ad-hoc PowerShell scripts came along:generate-prerelease-version/test.ps1find-latest-docker-images/test-local.ps1resolve-docker-images/*.ps1(5 files)_archived/find-docker-images/test-local.ps1The other ~40 actions have zero tests, and the repo has no
.github/workflows/— so nothing runs on PRs to actions. Actions are only exercised indirectly when downstream pipelines (shop, gh-optivem) consume them.Goal
Audit the predecessor standalone repos for test suites, and port anything worth keeping into this monorepo so the actions are covered before we keep refactoring them (see the in-flight audit in
.plans/20260420-105039-audit-actions.md).Predecessor repos to audit
check-release-exists-actioncheck-tag-exists-actioncreate-release-actioncreate-tag-actionextract-release-version-actionfind-docker-images-actionfind-latest-docker-images-actionfind-latest-prerelease-actiongenerate-prerelease-version-actiongenerate-release-version-actiongenerate-status-version-actionpoll-until-actionpublish-docker-image-actionresolve-docker-images-actionshould-run-acceptance-stage-actionsummarize-commit-stage-actionsummarize-stage-actionsummarize-system-stage-actiontag-docker-images-actionwait-for-docker-compose-action(Plus any others under the org that map to a current action directory.)
Proposed steps
.github/workflows/test.ymlrunning each action against fixtures, or per-action PowerShell suites matching the existing pattern).Notes
generate-prerelease-version,compose-prerelease-version,promote-to-rc), cleanup logic (cleanup-prereleases,cleanup-deployments), and anything touching git tags or GitHub releases, since they are hardest to dry-run in production pipelines.