CI - Nightly Race Detector #4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI - Nightly Race Detector | |
| on: | |
| schedule: | |
| - cron: '0 6 * * *' # 06:00 UTC daily | |
| workflow_dispatch: # allow manual trigger | |
| jobs: | |
| race-detector: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout source | |
| uses: actions/checkout@v6 | |
| - name: Cache system (apt) dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: apt-archives | |
| key: ${{ runner.os }}-apt-race-${{ hashFiles('**/.github/workflows/ci-nightly-race.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-apt- | |
| - name: Install system dependencies | |
| run: | | |
| mkdir -p apt-archives | |
| sudo cp -a apt-archives /var/cache/apt/archives | |
| sudo apt-get update | |
| sudo apt-get install -y libzmq3-dev pkg-config | |
| cp -a /var/cache/apt/archives/*.deb apt-archives 2>/dev/null || true | |
| - name: Extract Go version from go.mod | |
| run: sed -En 's/^go (.*)$/GO_VERSION=\1/p' go.mod >> "$GITHUB_ENV" | |
| - name: Set up Go with cache | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "${{ env.GO_VERSION }}" | |
| cache-dependency-path: ./go.sum | |
| - name: Install dependencies | |
| run: go mod download | |
| - name: Run unit tests with race detector | |
| run: make unit-test-race |