Skip to content

Reconcile with hosted features + BACK2BASE_DATA_DIR mount #24

Reconcile with hosted features + BACK2BASE_DATA_DIR mount

Reconcile with hosted features + BACK2BASE_DATA_DIR mount #24

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- run: go vet ./...
- run: go test -v -race -count=1 ./...
lint:
name: Lint
runs-on: ubuntu-latest
# Advisory only — lint findings surface in CI but don't gate build/release.
# The lint job's exit code is non-blocking; tests are still required.
continue-on-error: true
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- uses: golangci/golangci-lint-action@v7
continue-on-error: true
with:
version: v2.1
build:
name: Build
runs-on: ubuntu-latest
needs: [test]
strategy:
matrix:
goos: [linux, darwin]
goarch: [amd64, arm64]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- run: go build -o /dev/null .
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
bats:
name: Container scripts (bats, macOS)
# macOS is the primary target; run the bats suite on a mac runner so the
# container shell scripts (entrypoint, hooks, migrate-settings, firewall
# dry-runs, prelaunch overview) are gated on every PR. Run from the repo
# root — several tests source back2base-container/entrypoint.sh by a
# root-relative path.
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install bats + jq
run: brew install bats-core jq
- name: Run container test suite
run: bats back2base-container/test/