Skip to content

docs(internal): #69 two-port HTTP serving + session log update #127

docs(internal): #69 two-port HTTP serving + session log update

docs(internal): #69 two-port HTTP serving + session log update #127

Workflow file for this run

# Per-push CI for curio-core. Runs on every push to main + every PR.
# Mirrors Reiers/lantern's CI workflow.
name: ci
on:
push:
branches: [main]
pull_request:
jobs:
build-test:
name: build + test + vet + fmt
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.25.x'
cache: true
- name: Configure git for private Reiers deps
env:
GH_TOKEN: ${{ secrets.LANTERN_RO_TOKEN }}
run: |
if [ -n "$GH_TOKEN" ]; then
git config --global url."https://x-access-token:${GH_TOKEN}@github.com/".insteadOf "https://github.com/"
fi
# We constrain `vet/build/test` to the directories curio-core actually
# compiles. `./...` walks transitive packages including the upstream
# curio fork's `tasks/sealsupra` (which has CGO LDFLAGS for the sealing
# SupraSeal kernel) and `filecoin-ffi` cgo — neither is reachable from
# curio-core's import graph, but `go vet` doesn't know that. The
# canonical curio-core build target is `./cmd/curio-core` only.
- name: go vet
env:
CGO_ENABLED: '0'
GOPRIVATE: github.com/Reiers/*
run: go vet ./cmd/... ./internal/...
- name: go build
env:
CGO_ENABLED: '0'
GOPRIVATE: github.com/Reiers/*
run: go build ./cmd/...
# Race detector requires CGO=1, which then tries to link filecoin-ffi
# through the upstream curio fork even though curio-core's package set
# never imports it. Run tests pure-Go for now; a separate race-detector
# job can be added later that explicitly stubs out the FFI path.
- name: go test
env:
CGO_ENABLED: '0'
GOPRIVATE: github.com/Reiers/*
run: go test -timeout 5m ./cmd/... ./internal/...
- name: gofmt
run: |
set -e
drift="$(gofmt -l .)"
if [ -n "$drift" ]; then
echo "::error::gofmt drift detected:"
echo "$drift"
exit 1
fi