diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml new file mode 100644 index 0000000..7fe5f5d --- /dev/null +++ b/.github/workflows/build-and-test.yml @@ -0,0 +1,49 @@ +name: build-and-test +on: + push: + branches: [main] + tags: + - "v[0-9]+.[0-9]+.[0-9]+*" + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +env: + GO111MODULE: "on" + CACHE_BENCHMARK: "off" + RUN_BASE_BENCHMARK: "on" + GO_VERSION: 1.22.x +jobs: + build: + strategy: + matrix: + go-version: [ 1.22.x ] + runs-on: ubuntu-latest + steps: + - name: Install Go stable + uses: actions/setup-go@v4 + with: + go-version: ${{ matrix.go-version }} + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Go cache + uses: actions/cache@v4 + with: + path: | + ~/go/pkg/mod + ~/.cache/go-build + key: ${{ runner.os }}-go-cache-${{ hashFiles('**/go.sum') }} + + - name: Restore benchstat + uses: actions/cache@v4 + with: + path: ~/go/bin/benchstat + key: ${{ runner.os }}-benchstat-legacy + + - name: Build and test + run: | + make build-ci diff --git a/makefile b/makefile index 5c23411..f8d0a81 100644 --- a/makefile +++ b/makefile @@ -15,6 +15,7 @@ default: cd otelcol && make cd benchmarks && make +.PHONY: all all: cd stefgen && make all cd go/pkg && make all @@ -24,6 +25,16 @@ all: cd otelcol && make all cd benchmarks && make all +.PHONY: build-ci +build-ci: + cd stefgen && make all + cd go/pkg && make all + cd go/grpc && make + cd go/otel && make all + cd go/pdata && make all + cd otelcol && make all + cd benchmarks && make all + .PHONY: verifyver verifyver: ifndef VERSION