Commit Graph

5 Commits (cf0e230b66c09d9c6aaa8115908a185d0b58b2a5)

Author SHA1 Message Date
prathamesh0 7c65d39bb2
Make deployments self-sufficient and add E2E restart test (#750)
Smoke Test / Run basic test suite (push) Failing after 0s Details
Lint Checks / Run linter (push) Failing after 0s Details
Webapp Test / Run webapp test suite (push) Failing after 0s Details
K8s Deploy Test / Run deploy test suite on kind/k8s (push) Failing after 0s Details
Publish / Gate: k8s deploy e2e (push) Failing after 3s Details
Deploy Test / Run deploy test suite (push) Failing after 0s Details
Publish / Build and publish (push) Has been skipped Details
- `deploy create` now copies each pod's `commands.py` into `<deployment>/hooks/`. `call_stack_deploy_start` loads from there, so `deployment start` / `restart` no longer need the live stack source on disk to run the `start()` hook
- Only the `start()` hook is affected. `init`, `setup`, and `create` still load from the live source — they only run at `deploy create` time, when the source is guaranteed to be present
- Multi-repo stacks produce `hooks/commands_0.py`, `hooks/commands_1.py`, …; `call_stack_deploy_start` loads them all in sorted order
- Adds `tests/k8s-deploy/run-restart-test.sh` covering the full single-repo restart cycle (v1 -> mutate working tree -> `restart` re-copies and re-executes v2) and the multi-repo file-naming + multi-hook invocation. Wired into the existing **K8s Deploy Test** workflow
2026-04-28 17:28:02 +05:30
A. F. Dudley eb881ac179 merge upstream: resolve test-k8s-deploy.yml conflict, add workflow_call
Keep upstream's schedule/path triggers and install scripts, add
workflow_dispatch and workflow_call so publish.yml can gate on it.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 05:30:14 +00:00
prathamesh0 7f11766b05
Migrate canonical source from Gitea to GitHub (#738)
- Update all self-references from `git.vdb.to/cerc-io/stack-orchestrator` to
  `github.com/cerc-io/stack-orchestrator` (setup.py, pyproject.toml, README,
  docs, install scripts, cloud-init scripts, stack READMEs)
- Fix release download URL pattern (`releases/download/latest` -> `releases/latest/download`)
- Port 5 Gitea-only CI workflows to GitHub Actions (k8s-deploy, k8s-deployment-control, container-registry, database, external-stack)
- Pin `shiv==1.0.8` in all workflows for reproducible builds
- Restrict smoke/deploy/webapp test push triggers to `main` only
- Remove `.gitea/` directory - Gitea repo to be archived
2026-04-02 10:58:14 +05:30
A. F. Dudley ae1eae5b9b gate releases on k8s e2e test, remove per-push trigger
- test-k8s-deploy.yml: trigger on workflow_call and workflow_dispatch
  only (not every push/PR)
- publish.yml: add needs: e2e job that calls test-k8s-deploy.yml —
  release is blocked until the k8s e2e suite passes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 04:31:38 +00:00
A. F. Dudley c95eeeffb8 add k8s deploy e2e test to CI and pre-push hook
- .github/workflows/test-k8s-deploy.yml: new workflow that installs
  kind+kubectl and runs tests/k8s-deploy/run-deploy-test.sh on every
  push and PR. Same script used locally and in release validation.
- .pre-commit-config.yaml: add local pre-push hook that runs the k8s
  e2e test (~3 min) before pushing to remote.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 04:30:37 +00:00