docs(infra): update ci-runners README to document target publish services on ct-forge droplet (verdaccio, pypi, swift)
- Ties the on-demand runners to the new registries (Verdaccio npm, pypiserver pypi, Forgejo swift) set up via uvlava TF IaC on the forge droplet.
This commit is contained in:
parent
5ff7d68dc5
commit
7684e6192d
1 changed files with 14 additions and 1 deletions
|
|
@ -10,7 +10,7 @@ Terraform module to provision a pool of disposable DigitalOcean droplets that ac
|
|||
- **Ephemeral-friendly**: Runners are stateless; destroy the droplets after use. Use `--ephemeral` style if extending the runner binary flags.
|
||||
- **Labels**: Default `self-hosted,linux,do,ct-forge` (general CI/build). Package publish adds `,publish`. See LP's `infrastructure/setup-forgejo-host.sh` (labels like self-hosted,linux,black but with :host suffix in config for host execution mode; our cloud-init replicates that logic on DO golden images for ct-forge). LP's main CI now targets these DO runners (no more black).
|
||||
- **Playwright & SSH support**: Cloud-init installs Chromium deps (for LP e2e/build, replicating setup_playwright) and optional SSH priv key (via var.ssh_priv_key, for deploys like setup_ssh_key in LP script). Pass in TF for full LP compatibility.
|
||||
- **Integrates with existing infra**: Reuses `cocotte-fleet` SSH key, `cocotte:dev` project, golden images, build user "cocotte".
|
||||
- **Integrates with existing infra**: Reuses `cocotte-fleet` SSH key, `cocotte:dev` project, golden images, build user "cocotte". The runners publish to the new services on the ct-forge droplet: Verdaccio (npm @lilith/* at npm.ct:4873), pypiserver (PyPI at pypi.ct:8080), Swift via Forgejo package registry (swift.ct/api/packages/.../swift). See uvlava terraform/do cloud-init/forge.yaml for the services compose on the forge droplet itself.
|
||||
|
||||
## Usage (from cocottetech root or infra dir)
|
||||
|
||||
|
|
@ -123,4 +123,17 @@ If you want per-job VMs (true one-shot):
|
|||
- The package extraction plan: each small package repo will have its publish workflow targeting these labels.
|
||||
- LP's `setup-forgejo-host.sh`: reference for the registration/install logic (ported to cloud-init).
|
||||
|
||||
## Swift / Prospector Support (ct-forge DO runners)
|
||||
|
||||
The cloud-init now installs the Swift toolchain (/opt/swift, PATH + LD_LIBRARY_PATH in runner service) to support prospector-client (and future Swift packages) builds/tests on the linux ct-forge runners.
|
||||
|
||||
- Workflow in prospector uses `runs-on: [self-hosted, linux, do, ct-forge]` for client package verify (build + test).
|
||||
- prospector-ui (SwiftUI) and the macOS app note: require macOS runner or remote Xcode (existing build-tools remote to plum-style hosts). Linux for client only in MVP.
|
||||
- Golden image + cloud-init updated; re-provision runners via terraform apply to roll out Swift support.
|
||||
- Publish jobs can use the `publish` label variant for registry pushes on tags (SPM primarily via git tags on ct-forge; Forgejo Swift registry available per forge setup).
|
||||
|
||||
See the prospector README and plan.md for full MVP scope, GPU on-demand (separate DO droplets via provision script), and LP backend integration (the runners are for CI of the client code).
|
||||
|
||||
This extends the module for the restructured @prospector (Swift client + macOS app) without duplicating infra.
|
||||
|
||||
Apply this module, scale as needed for publishes, enjoy clean on-demand horizontally scaled ct-forge runners on DO.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue