Skip to content

ci: allow release workflow to be triggered manually (#6) #27

ci: allow release workflow to be triggered manually (#6)

ci: allow release workflow to be triggered manually (#6) #27

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
jobs:
build:
name: Build, lint & test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: gofmt
run: |
unformatted=$(gofmt -l .)
if [ -n "$unformatted" ]; then
echo "These files are not gofmt-clean:"
echo "$unformatted"
exit 1
fi
- name: go vet
run: go vet ./...
- name: Dependency direction (core stays pure)
run: |
# internal/core must not import any sibling internal package (ARCHITECTURE.md §"Hard rules").
siblings=$(go list -f '{{ join .Imports "\n" }}' ./internal/core \
| grep -E '^dossier/internal/(cli|mcp|tui|store|harness|search|config|tokenizer)' || true)
if [ -n "$siblings" ]; then
echo "internal/core imports forbidden sibling package(s):"
echo "$siblings"
exit 1
fi
- name: Test
run: go test ./...