Skip to content

Dry Run

Dry Run #8

Workflow file for this run

name: Dry Run
on:
workflow_dispatch:
permissions:
contents: read
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.26"
- uses: golangci/golangci-lint-action@v7
with:
version: v2.10
args: --timeout=5m
test-unix:
needs: [lint]
strategy:
matrix:
include:
- os: ubuntu-latest
goos: linux
goarch: amd64
- os: ubuntu-24.04-arm
goos: linux
goarch: arm64
- os: macos-14
goos: darwin
goarch: arm64
- os: macos-15-intel
goos: darwin
goarch: amd64
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.26"
- name: Run tests
run: go test ./...
- name: Build binary
run: |
CGO_ENABLED=1 go build \
-o codebase-memory-mcp \
./cmd/codebase-memory-mcp/
- name: Smoke test
run: bash scripts/smoke-test.sh ./codebase-memory-mcp
test-asan:
needs: [lint]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.26"
- name: Test with AddressSanitizer
env:
CGO_CFLAGS: "-fsanitize=address -fno-omit-frame-pointer"
CGO_LDFLAGS: "-fsanitize=address"
run: go test -count=1 -timeout=10m ./...
- name: Memory stability check
run: go test -run TestMemoryStability -v -count=1 -timeout=5m ./internal/pipeline/
test-windows:
needs: [lint]
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.26"
- uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
path-type: inherit
install: mingw-w64-ucrt-x86_64-gcc
- name: Run tests
shell: msys2 {0}
run: |
which go
go version
go test ./...
- name: Build binary
shell: msys2 {0}
run: |
CGO_ENABLED=1 CC=gcc go build \
-o codebase-memory-mcp.exe \
./cmd/codebase-memory-mcp/
- name: Smoke test
shell: msys2 {0}
run: bash scripts/smoke-test.sh ./codebase-memory-mcp.exe