Fence keeps its Rust dependencies in the repository, so normal development commands run offline after you prepare the toolchain.
script/prepare-rust
script/bootstrap
script/test
script/lint
script/buildscript/prepare-rust is the only normal setup step that needs the network. It downloads the pinned Rust toolchain and verifies its checksums before installing it.
Once the toolchain is ready, script/bootstrap, script/test, script/lint, and script/build run offline using the checked-in dependencies and toolchain locks.
These update scripts need network access:
script/updateupdates Rust dependencies.script/vendor-rustupdates the pinned Rust toolchain.script/vendor-update-toolsupdates dependency-audit tools.script/vendor-release-toolsupdates retained release tools.script/vendor-test-toolsupdates retained test tools.
Builds and tests must not install or download tools.
script/assemble-action-bundle builds an Action bundle from an existing agent artifact. It does not download an agent or policy.
The main branch does not contain generated Action binaries. Release automation adds the agent and its manifest to a separate signed distribution commit.
Local builds and tool preparation use target/tmp unless TMPDIR or RUNNER_TEMP is already set.
Warning
Do not run hosted-runner or lockdown tests on your computer or a reusable runner. They change host settings and are intended for disposable GitHub-hosted runners.
For the complete build and test contracts, see AGENTS.md and the v0 specification.