Skip to content

fix(land): guide init policy commit dirty root #147

fix(land): guide init policy commit dirty root

fix(land): guide init policy commit dirty root #147

Workflow file for this run

name: ci
on:
push:
branches:
- main
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Check out source
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Verify formatting
run: test -z "$(gofmt -l .)"
- name: Lint
run: go vet ./...
- name: Test
run: go test ./...
- name: Invariant suite
run: make test-invariants
- name: Stress suite
run: make test-stress
- name: Short soak summary
run: ./scripts/run-soak.sh --runs 3 --output artifacts/soak-ci
- name: Short randomized soak summary
run: ./scripts/run-soak.sh --randomized --runs 2 --seed-base 20260331 --output artifacts/soak-randomized-ci
- name: Release script regression test
run: ./scripts/test-build-release.sh
- name: Homebrew formula generation test
run: |
./scripts/build-release.sh --version v0.0.0-ci --output dist
./scripts/generate-homebrew-formula.sh --version v0.0.0-ci --checksums dist/SHA256SUMS --output dist/mainline.rb
ruby -c dist/mainline.rb
- name: Release manifest generation test
run: |
./scripts/generate-release-manifest.sh --version v0.0.0-ci --checksums dist/SHA256SUMS --output dist/release-manifest.json
python3 - <<'PY'
import json
data = json.load(open("dist/release-manifest.json"))
assert data["version"] == "v0.0.0-ci"
assert len(data["assets"]) == 6
assert all(item["url"].startswith("https://github.com/recallnet/mainline/releases/download/v0.0.0-ci/") for item in data["assets"])
assert data["versioned_homebrew_formula_url"].endswith("/mainline_v0.0.0-ci.rb")
assert data["versioned_manifest_url"].endswith("/release-manifest_v0.0.0-ci.json")
assert data["package_bundle_url"].endswith("/mainline_packages_v0.0.0-ci.tar.gz")
PY
- name: Versioned package release asset test
run: |
./scripts/package-release-assets.sh --version v0.0.0-ci --dist dist
test -f dist/mainline_v0.0.0-ci.rb
test -f dist/release-manifest_v0.0.0-ci.json
test -f dist/mainline_packages_v0.0.0-ci.tar.gz
tar -tzf dist/mainline_packages_v0.0.0-ci.tar.gz > dist/mainline_packages_v0.0.0-ci.list
grep -q 'mainline_packages_v0.0.0-ci/mainline_v0.0.0-ci.rb$' dist/mainline_packages_v0.0.0-ci.list
- name: Release build
run: make release-snapshot VERSION=ci
- name: GoReleaser config check
run: make goreleaser-check