Files
KNELCloudronPackages/docs/LOCAL_TESTING.md

34 lines
1.3 KiB
Markdown

# Local Test Harness
All verification runs locally inside Docker containers so your workstation matches the eventual Gitea Actions runner exactly.
## CI-equivalent container
- `docker/ci-runner/Dockerfile` builds the image `knel/cloudron-ci`, derived from the same base the Gitea runner will use.
- `scripts/ci_local.sh` orchestrates tasks inside that container. Run `BUILD=1 ./scripts/ci_local.sh lint` the first time to build the image.
- Tasks:
- `lint``make lint` + `make status` + `git diff docs/APP_STATUS.md`
- `packager-smoke` → builds `docker/packager` and runs `cloudron --help`
- `all` (default) → runs both.
The script mounts `/var/run/docker.sock` so Docker CLI calls inside the container reuse the host daemon.
## Git hooks
Use `scripts/hooks/install_hooks.sh` to install local hooks:
```bash
./scripts/hooks/install_hooks.sh
```
- `pre-commit` runs `./scripts/ci_local.sh lint`.
- `post-commit` refreshes `docs/APP_STATUS.md` (non-fatal).
- `pre-push` runs the packager smoke test.
Set `SKIP_CI_HOOKS=1` when you need to bypass the hooks temporarily.
## Alignment with Gitea Actions
The `.gitea/workflows/ci.yml` workflow wraps the same `scripts/ci_local.sh` entrypoint and is currently manual-only (`workflow_dispatch`). Enable push/PR triggers once a runner is provisioned.