Reference
CI/CD Pipeline
Documentation of the five GitHub Actions workflow types used across Land elements.
CI/CD Pipeline
Every Land element runs on GitHub Actions. The pipeline consists of five standard workflow types, each handling a specific concern.
Workflow Types
Rust.yml (Build Pipeline)
Applies to: Mountain, Air, Common, Echo, Grove, Mist, Rest, SideCar, Vine, Maintain
Triggers:
- Push to
Currentbranch - Pull request targeting
Current - Manual dispatch
What it does:
- Checks out the repository.
- Installs Rust toolchain (both
stableandnightlyvia strategy matrix). - Restores Cargo cache (registry index, cache, git db, and target directories).
- Runs
cargo build --release --all-features --manifest-path ./Cargo.toml.
Concurrency group: Rust-${{ github.workflow }}-${{ github.ref }} with cancel-in-progress: true to avoid redundant builds on rapid pushes.
Node.yml (Pre-Publish Pipeline)
Applies to: Wind, Cocoon, Worker
Triggers:
- Push to
Currentbranch - Pull request targeting
Current - Manual dispatch
What it does:
- Checks out the repository.
- Sets up pnpm (v9.3.0) with recursive install.
- Sets up Node.js (matrix: 18, 19, 20) with pnpm caching.
- Runs
pnpm install. - Runs
pnpm run prepublishOnly. - Uploads
./Targetas a build artefact.
Concurrency group: Node-${{ github.workflow }}-${{ github.ref }}.
NPM.yml (Publish Pipeline)
Applies to: Echo, Wind, Worker
Triggers:
- GitHub release creation
- Manual dispatch
- Reusable workflow call
What it does:
- Checks out the repository.
- Sets up Node.js 24.
- Installs latest npm globally.
- Runs
npm publish --legacy-peer-deps --ignore-scripts.
Runs in the Release environment with id-token: write for provenance attestation.
Concurrency group: NPM-${{ github.workflow }}-${{ github.ref }}.
GitHub.yml (Issue/PR Management)
Applies to: All 15 elements
Triggers:
- Issue opened
- Pull request opened
What it does:
- Uses
pozil/auto-assign-issue@v3.0.0to auto-assign new issues and PRs to the repository maintainer (NikolaRHristov).
Concurrency group: GitHub-${{ github.workflow }}-${{ github.ref }}.
Auto.yml (Automated Timestamp Update)
Applies to: Echo, Worker
Triggers:
- Daily schedule (
0 0 * * *) - Manual dispatch
- Reusable workflow call
What it does:
- Checks out the repository.
- Writes the current date to
.github/Update.md:Update: $(date). - Commits with git identity “Auto” (
Commit@PlayForm.Cloud). - Pushes to
Currentbranch viaad-m/github-push-action.
This keeps a visible timestamp of the last repository activity even when no other commits land.
Concurrency group: Auto-${{ github.workflow }}-${{ github.ref }}.
Cloudflare.yml (Workers Deployment)
Applies to: Echo
Triggers:
- Push to
Currentbranch - Pull request targeting
Current - Manual dispatch
What it does: Deploys Echo to Cloudflare Workers infrastructure.
Shared Patterns
Concurrency Control
All workflows use branch-scoped concurrency groups. This means:
- Only one build runs per branch at a time.
- New commits cancel in-progress builds.
- PR builds and push builds to the same branch do not race.
Telemetry Opt-Out
Every workflow sets 30+ environment variables to disable third-party telemetry from tools running in the CI environment. This covers Adblock, Astro, Azure, Docker, Gatsby, Homebrew, InfluxDB, Next.js, Nuxt, PowerShell, Stripe, Terraform, VCPkg, and others.
Action Versions
The pipeline uses pinned action versions:
actions/checkout@v6.0.2actions/setup-node@v6.4.0actions/cache@v5.0.5actions/upload-artifact@v7.0.1actions-rs/toolchain@v1.0.7actions-rs/cargo@v1.0.3pnpm/action-setup@v6.0.8pozil/auto-assign-issue@v3.0.0ad-m/github-push-action@v1.1.0
Permissions
Workflow permission scopes vary by type:
- Rust.yml:
security-events: write - Node.yml:
security-events: write,contents: write,pull-requests: write - NPM.yml:
contents: read,id-token: write(job-level) - GitHub.yml:
issues: write,pull-requests: write - Auto.yml:
contents: write
