Skip to content

wms preflight

Audit the code, the files to be published and the live machine, and say GO or NO-GO

Runs every check that matters before shipping and ends in a GO or NO-GO. It changes nothing (it reads the live files and builds in a scratch folder), and it saves the verdict so deploy.sh and publish.sh can refuse to run without a fresh GO for the same commit.

deploy the code, the live machine, the new binary on scratch data, the ship scripts publish the code, secrets and personal data in what would be published, a clean build, the docs, GitHub all both (the default)

--quick skips the slow checks (race detector, staticcheck, govulncheck, gosec, docs); a quick GO is not enough for the ship scripts. --require does not run anything: it only checks that a fresh full GO is on file.

wms preflight [deploy|publish|all] [flags]

Examples

wms preflight deploy
  wms preflight all --quick
  wms preflight --require publish

Options

      --allow-quick        with --require, accept a --quick GO
      --max-age duration   with --require, how old a GO may be (default 15m0s)
      --plain              no animation: one line per check
      --quick              skip the slow checks (a quick GO does not satisfy the ship scripts)
      --repo string        the checkout to audit (default: the one you are in)
      --require            run nothing: succeed only if a fresh full GO for this commit is on file
      --values string      the private deploy values file (KEY=value lines, mode 600) (default "/home/runner/.config/wms-go/deploy.env")