Scaffold Cloudron packaging workspace and automation
This commit is contained in:
33
docs/LOCAL_TESTING.md
Normal file
33
docs/LOCAL_TESTING.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# 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.
|
||||
|
Reference in New Issue
Block a user