diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..d072cb0e --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,77 @@ +name: build +on: + push: + tags: + - v* + branches: + - main + pull_request: + branches: + - main + +concurrency: + group: ${{ github.workflow }}-${{ github.event.number || github.ref }} + cancel-in-progress: true + +env: + # renovate: datasource=go depName=github.com/golangci/golangci-lint + GOLANGCI_LINT_VERSION: v1.52.2 + +jobs: + spellcheck: + name: Spell Check + runs-on: ubuntu-latest + steps: + - name: Checkout Actions Repository + uses: actions/checkout@v2 + + - name: Check spelling of Go files + uses: crate-ci/typos@master + with: + files: '*.go' + write_changes: true + + golangci-lint: + name: Go Lint + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version-file: .go-version + check-latest: true + cache: true + + - name: golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: ${{ env.GOLANGCI_LINT_VERSION }} + args: --timeout 5m + + test: + name: Go Test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: '1.20.4' + check-latest: true + + - name: Install Go tip + run: | + curl -sL https://storage.googleapis.com/go-build-snap/go/linux-amd64/$(git ls-remote https://github.com/golang/go.git HEAD | awk '{print $1;}').tar.gz -o gotip.tar.gz + ls -lah gotip.tar.gz + mkdir -p $HOME/gotip + tar -C $HOME/gotip -xzf gotip.tar.gz + + - name: Build test programs + run: make testdata GO=$HOME/gotip/bin/go + + - name: Test + run: make test diff --git a/Makefile b/Makefile index 471230c3..7838e556 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,8 @@ .PHONY: clean flatbuffers generate test testdata .PRECIOUS: %.wasm +GO ?= go + testdata.go.src = $(wildcard testdata/go/*.go) testdata.go.wasm = $(testdata.go.src:.go=.wasm) @@ -16,7 +18,7 @@ timecraft.src.go = \ $(wildcard internal/*/*.go) timecraft: go.mod $(timecraft.src.go) - go build -o timecraft + $(GO) build -o timecraft clean: rm -f timecraft $(format.src.go) $(testdata.go.wasm) @@ -24,15 +26,15 @@ clean: generate: flatbuffers flatbuffers: go.mod $(format.src.go) - go build ./format/... + $(GO) build ./format/... test: flatbuffers testdata - go test -v ./... + $(GO) test -v ./... testdata: $(testdata.go.wasm) testdata/go/%.wasm: testdata/go/%.go - GOARCH=wasm GOOS=wasip1 gotip build -o $@ $< + GOARCH=wasm GOOS=wasip1 $(GO) build -o $@ $< # We run goimports because the flatc compiler sometimes adds an unused import of # strconv. diff --git a/format/logcache/logcache_generated.go b/format/logcache/logcache_generated.go index b7d0b379..ba67dd00 100644 --- a/format/logcache/logcache_generated.go +++ b/format/logcache/logcache_generated.go @@ -13,8 +13,6 @@ type RecordSet struct { _tab flatbuffers.Table } -const RecordSetIdentifier = "TL.3" - func GetRootAsRecordSet(buf []byte, offset flatbuffers.UOffsetT) *RecordSet { n := flatbuffers.GetUOffsetT(buf[offset:]) x := &RecordSet{} @@ -22,15 +20,6 @@ func GetRootAsRecordSet(buf []byte, offset flatbuffers.UOffsetT) *RecordSet { return x } -func FinishRecordSetBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) { - identifierBytes := []byte(RecordSetIdentifier) - builder.FinishWithFileIdentifier(offset, identifierBytes) -} - -func RecordSetBufferHasIdentifier(buf []byte) bool { - return flatbuffers.BufferHasIdentifier(buf, RecordSetIdentifier) -} - func GetSizePrefixedRootAsRecordSet(buf []byte, offset flatbuffers.UOffsetT) *RecordSet { n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:]) x := &RecordSet{} @@ -38,15 +27,6 @@ func GetSizePrefixedRootAsRecordSet(buf []byte, offset flatbuffers.UOffsetT) *Re return x } -func FinishSizePrefixedRecordSetBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) { - identifierBytes := []byte(RecordSetIdentifier) - builder.FinishSizePrefixedWithFileIdentifier(offset, identifierBytes) -} - -func SizePrefixedRecordSetBufferHasIdentifier(buf []byte) bool { - return flatbuffers.SizePrefixedBufferHasIdentifier(buf, RecordSetIdentifier) -} - func (rcv *RecordSet) Init(buf []byte, i flatbuffers.UOffsetT) { rcv._tab.Bytes = buf rcv._tab.Pos = i diff --git a/format/logsnapshot/logsnapshot_generated.go b/format/logsnapshot/logsnapshot_generated.go index 65161f0e..9b45121c 100644 --- a/format/logsnapshot/logsnapshot_generated.go +++ b/format/logsnapshot/logsnapshot_generated.go @@ -12,8 +12,6 @@ type RecordRange struct { _tab flatbuffers.Table } -const RecordRangeIdentifier = "TL.1" - func GetRootAsRecordRange(buf []byte, offset flatbuffers.UOffsetT) *RecordRange { n := flatbuffers.GetUOffsetT(buf[offset:]) x := &RecordRange{} @@ -21,15 +19,6 @@ func GetRootAsRecordRange(buf []byte, offset flatbuffers.UOffsetT) *RecordRange return x } -func FinishRecordRangeBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) { - identifierBytes := []byte(RecordRangeIdentifier) - builder.FinishWithFileIdentifier(offset, identifierBytes) -} - -func RecordRangeBufferHasIdentifier(buf []byte) bool { - return flatbuffers.BufferHasIdentifier(buf, RecordRangeIdentifier) -} - func GetSizePrefixedRootAsRecordRange(buf []byte, offset flatbuffers.UOffsetT) *RecordRange { n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:]) x := &RecordRange{} @@ -37,15 +26,6 @@ func GetSizePrefixedRootAsRecordRange(buf []byte, offset flatbuffers.UOffsetT) * return x } -func FinishSizePrefixedRecordRangeBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) { - identifierBytes := []byte(RecordRangeIdentifier) - builder.FinishSizePrefixedWithFileIdentifier(offset, identifierBytes) -} - -func SizePrefixedRecordRangeBufferHasIdentifier(buf []byte) bool { - return flatbuffers.SizePrefixedBufferHasIdentifier(buf, RecordRangeIdentifier) -} - func (rcv *RecordRange) Init(buf []byte, i flatbuffers.UOffsetT) { rcv._tab.Bytes = buf rcv._tab.Pos = i @@ -317,10 +297,6 @@ func GetRootAsOpenFile(buf []byte, offset flatbuffers.UOffsetT) *OpenFile { return x } -func FinishOpenFileBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) { - builder.Finish(offset) -} - func GetSizePrefixedRootAsOpenFile(buf []byte, offset flatbuffers.UOffsetT) *OpenFile { n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:]) x := &OpenFile{} @@ -328,10 +304,6 @@ func GetSizePrefixedRootAsOpenFile(buf []byte, offset flatbuffers.UOffsetT) *Ope return x } -func FinishSizePrefixedOpenFileBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) { - builder.FinishSizePrefixed(offset) -} - func (rcv *OpenFile) Init(buf []byte, i flatbuffers.UOffsetT) { rcv._tab.Bytes = buf rcv._tab.Pos = i @@ -400,10 +372,6 @@ func GetRootAsOpenHandle(buf []byte, offset flatbuffers.UOffsetT) *OpenHandle { return x } -func FinishOpenHandleBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) { - builder.Finish(offset) -} - func GetSizePrefixedRootAsOpenHandle(buf []byte, offset flatbuffers.UOffsetT) *OpenHandle { n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:]) x := &OpenHandle{} @@ -411,10 +379,6 @@ func GetSizePrefixedRootAsOpenHandle(buf []byte, offset flatbuffers.UOffsetT) *O return x } -func FinishSizePrefixedOpenHandleBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) { - builder.FinishSizePrefixed(offset) -} - func (rcv *OpenHandle) Init(buf []byte, i flatbuffers.UOffsetT) { rcv._tab.Bytes = buf rcv._tab.Pos = i