name: ci on: push: branches: [main] pull_request: workflow_dispatch: concurrency: group: ci-${{ github.ref }} cancel-in-progress: true jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.24" cache: true - name: Check formatting run: | unformatted=$(gofmt -l .) if [ -n "$unformatted" ]; then echo "::error::gofmt needed for: $unformatted" gofmt -d . exit 1 fi - name: Vet run: go vet ./... # The syncer tests drive a real git binary against temporary repositories. - name: Test run: go test -race -count=1 ./... - name: Build run: go build ./... - name: Validate the example config env: SRC_TOKEN: dummy-token-for-validation run: go run . -config config.example.toml -check