From 7d8f082ff7e121882d7aeb77710ca44a2a585947 Mon Sep 17 00:00:00 2001 From: Alex Brainman Date: Sat, 5 Dec 2020 13:48:57 +1100 Subject: [PATCH] .github/workflows: add --race tests on Linux and Windows Updates #50 Updates #833 Signed-off-by: Alex Brainman --- .github/workflows/linux-race.yml | 48 +++++++++++++++++++++++++++ .github/workflows/windows-race.yml | 52 ++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 .github/workflows/linux-race.yml create mode 100644 .github/workflows/windows-race.yml diff --git a/.github/workflows/linux-race.yml b/.github/workflows/linux-race.yml new file mode 100644 index 000000000..4f373cdc4 --- /dev/null +++ b/.github/workflows/linux-race.yml @@ -0,0 +1,48 @@ +name: Linux race + +on: + push: + branches: + - main + pull_request: + branches: + - '*' + +jobs: + build: + runs-on: ubuntu-latest + + if: "!contains(github.event.head_commit.message, '[ci skip]')" + + steps: + + - name: Set up Go + uses: actions/setup-go@v1 + with: + go-version: 1.16 + id: go + + - name: Check out code into the Go module directory + uses: actions/checkout@v1 + + - name: Basic build + run: go build ./cmd/... + + - name: Run tests with -race flag on linux + run: go test -race ./... + + - uses: k0kubun/action-slack@v2.0.0 + with: + payload: | + { + "attachments": [{ + "text": "${{ job.status }}: ${{ github.workflow }} " + + "() " + + "of ${{ github.repository }}@" + "${{ github.ref }}".split('/').reverse()[0] + " by ${{ github.event.head_commit.committer.name }}", + "color": "danger" + }] + } + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + if: failure() && github.event_name == 'push' + diff --git a/.github/workflows/windows-race.yml b/.github/workflows/windows-race.yml new file mode 100644 index 000000000..f2111f028 --- /dev/null +++ b/.github/workflows/windows-race.yml @@ -0,0 +1,52 @@ +name: Windows race + +on: + push: + branches: + - main + pull_request: + branches: + - '*' + +jobs: + test: + runs-on: windows-latest + + if: "!contains(github.event.head_commit.message, '[ci skip]')" + + steps: + + - name: Install Go + uses: actions/setup-go@v2 + with: + go-version: 1.16.x + + - name: Checkout code + uses: actions/checkout@v2 + + - name: Restore Cache + uses: actions/cache@v2 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-go- + + - name: Test with -race flag + run: go test -race ./... + + - uses: k0kubun/action-slack@v2.0.0 + with: + payload: | + { + "attachments": [{ + "text": "${{ job.status }}: ${{ github.workflow }} " + + "() " + + "of ${{ github.repository }}@" + "${{ github.ref }}".split('/').reverse()[0] + " by ${{ github.event.head_commit.committer.name }}", + "color": "danger" + }] + } + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + if: failure() && github.event_name == 'push' +