shadowfork: dbfork mutation engine + LevelDB/RocksDB e2e #39
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: GoReleaser Snapshot | |
| # Smoke-tests the goreleaser pipeline on every PR that touches the | |
| # .goreleaser.yaml or release-related Go files. Catches manifest | |
| # typos, missing dependencies, and dockers_v2 schema drift before | |
| # a real tag pushes them to production. | |
| # | |
| # Skips publishing — only generates artifacts to dist/ and validates | |
| # they're produced. Asserts every advertised artifact format | |
| # (binary, deb, rpm, brew, docker) materialised. | |
| on: | |
| pull_request: | |
| paths: | |
| - ".goreleaser.yaml" | |
| - ".goreleaser.yml" | |
| - "main.go" | |
| - "cmd/**" | |
| - "go.mod" | |
| - "go.sum" | |
| permissions: | |
| contents: read | |
| jobs: | |
| snapshot: | |
| name: goreleaser --snapshot | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 25 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.25" | |
| cache: true | |
| - uses: goreleaser/goreleaser-action@v6 | |
| with: | |
| distribution: goreleaser | |
| version: latest | |
| # Skip docker too — building images in a snapshot smoke is | |
| # noisy (depends on the binary layout produced by goreleaser | |
| # itself, which can drift between versions) and doesn't add | |
| # signal beyond the artifact-exists checks below. Docker | |
| # builds run in the real release pipeline. | |
| args: release --snapshot --clean --skip=publish,sign,docker | |
| - name: Inspect dist/ | |
| run: | | |
| ls -la dist/ | |
| ls -la dist/*-snapshot/ 2>/dev/null || true | |
| - name: Assert advertised artifacts exist | |
| # goreleaser names archives as `<binary>_<version>_<os>_<arch>.<ext>` | |
| # with underscores (its default name_template), not hyphens. | |
| # Each format below is in goreleaser.yaml; if removed, drop | |
| # from the matrix here at the same time. | |
| run: | | |
| set -e | |
| fail=0 | |
| want_globs=( | |
| 'dist/*_linux_amd64.tar.gz' | |
| 'dist/*_linux_arm64.tar.gz' | |
| 'dist/*_darwin_amd64.tar.gz' | |
| 'dist/*_darwin_arm64.tar.gz' | |
| 'dist/*.deb' | |
| 'dist/*.rpm' | |
| 'dist/*.apk' | |
| 'dist/checksums.txt' | |
| 'dist/homebrew/*.rb' | |
| ) | |
| for g in "${want_globs[@]}"; do | |
| files=( $g ) | |
| if [ ! -e "${files[0]}" ]; then | |
| echo "::error::missing artifact pattern $g" | |
| fail=1 | |
| else | |
| echo "✓ found ${files[0]}" | |
| fi | |
| done | |
| exit $fail | |
| - name: Upload artifacts (debug) | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: dist-snapshot | |
| path: dist/ |