Files
god-eye/.github/workflows/ci.yml
T
Vyntral 0a50fb4eb5 chore(release): goreleaser + CI workflows + v2 demo GIFs
Release infrastructure:
- .goreleaser.yml: builds 5-platform binaries (darwin/linux/windows
  x amd64/arm64), SHA-256 checksums, pre-release detection for -rc tags
- .github/workflows/release.yml: runs on any 'v*' tag — test -> build
  -> publish via goreleaser-action
- .github/workflows/ci.yml: test + vet + race detector on every push
  to main / v2-* and every PR
- .gitignore: extended to cover scan artifacts (gods-eye-*.json,
  report-*.json, *.stderr), YAML configs (god-eye.yaml, .god-eye.yaml),
  IDE state (.idea, .vscode, .cursor), Claude Code working notes
  (CLAUDE.md, .claude/), and the /god-eye build artifact

Demo GIFs recorded live against scanme.nmap.org (Nmap's authorized
test host):
- assets/wizard-demo.gif (272 KB): interactive setup walkthrough
- assets/live-scan.gif (37 KB): colorized event stream
- assets/ai-verbose.gif (122 KB): full AI cascade + end-of-scan brief

Legacy v0.1 assets removed:
- assets/demo.gif
- assets/demo-ai.gif
2026-04-18 16:49:29 +02:00

51 lines
1.1 KiB
YAML

# Continuous integration — runs on every push to main and every PR.
# Catches regressions early so the Release workflow on tag push doesn't
# surprise us with a red test run when we least want it.
name: CI
on:
push:
branches: [ main, 'v2-*' ]
pull_request:
branches: [ main ]
permissions:
contents: read
jobs:
test:
name: Test & vet
runs-on: ubuntu-latest
strategy:
matrix:
go-version: [ '1.21' ]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go ${{ matrix.go-version }}
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}
- name: Cache Go modules
uses: actions/cache@v4
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
- name: Verify modules
run: go mod verify
- name: Build
run: go build ./...
- name: Vet
run: go vet ./...
- name: Test (race detector)
run: go test ./... -race -timeout 180s