Skip to content
This repository has been archived by the owner on Feb 17, 2024. It is now read-only.

Commit

Permalink
add github action
Browse files Browse the repository at this point in the history
Signed-off-by: Achille Roussel <[email protected]>
  • Loading branch information
achille-roussel committed May 27, 2023
1 parent e060ed1 commit 82026c3
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 60 deletions.
77 changes: 77 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -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
10 changes: 6 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
@@ -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)

Expand All @@ -16,23 +18,23 @@ 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)

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.
Expand Down
20 changes: 0 additions & 20 deletions format/logcache/logcache_generated.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 0 additions & 36 deletions format/logsnapshot/logsnapshot_generated.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 82026c3

Please sign in to comment.