diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml new file mode 100644 index 0000000..b850679 --- /dev/null +++ b/.github/workflows/build-and-test.yml @@ -0,0 +1,53 @@ +name: benchmark +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: + benchmark: + 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@v3 + with: + ref: ${{ (github.event.inputs.new != '') && github.event.inputs.new || github.event.ref }} + + - name: Go cache + uses: actions/cache@v3 + with: + path: | + ~/go/pkg/mod + ~/.cache/go-build + key: ${{ runner.os }}-go-cache-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-go-cache + + - name: Restore benchstat + uses: actions/cache@v3 + with: + path: ~/go/bin/benchstat + key: ${{ runner.os }}-benchstat-legacy + + - name: Build and test all + run: | + make all