From 718d827c2b87c9a196028070e1571c3fd26633ba Mon Sep 17 00:00:00 2001 From: Huan-Cheng Chang Date: Fri, 24 May 2024 09:50:21 +0100 Subject: [PATCH] add workflow --- .github/workflows/build.yml | 42 +++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..eaa49310 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,42 @@ +name: Build and run test + +on: + pull_request: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + go-version: [ '1.19', '1.20', '1.21', '1.22' ] + + steps: + - uses: actions/checkout@v4 + - name: Setup Go + uses: actions/setup-go@v5 + with: + go-version: ${{ matrix.go-version }} + - name: Install dependencies + run: go get . + - name: Run gofmt + run: | + if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then + echo "Some files are not correctly formatted. Run `gofmt -l -w`." + exit 1 + fi + - name: Run golangci-lint + uses: golangci/golangci-lint-action@v6 + with: + version: v6.0.0 + - name: Build + run: go build -v ./... + - name: Test with Go + run: go test -json ./... > TestResults-${{ matrix.go-version }}.json + - name: Upload Go test results + uses: actions/upload-artifact@v4 + with: + name: Go-results-${{ matrix.go-version }} + path: TestResults-${{ matrix.go-version }}.json