name: Race Testing

on:
  schedule:
    - cron: "0 7 4 * *"
  workflow_dispatch: { }

jobs:
  race-1:
    name: Race Test 1
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Set up Go
        uses: actions/setup-go@v6
        with:
          go-version-file: "go.mod"
          check-latest: true
          cache: true

      - name: Run race tests
        run: go test -race -count=1 ./...

  race-2:
    name: Race Test 2
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Set up Go
        uses: actions/setup-go@v6
        with:
          go-version-file: "go.mod"
          check-latest: true
          cache: true

      - name: Run race tests
        run: go test -race -count=1 ./...

  race-3:
    name: Race Test 3
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Set up Go
        uses: actions/setup-go@v6
        with:
          go-version-file: "go.mod"
          check-latest: true
          cache: true

      - name: Run race tests
        run: go test -race -count=1 ./...

  race-4:
    name: Race Test 4
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Set up Go
        uses: actions/setup-go@v6
        with:
          go-version-file: "go.mod"
          check-latest: true
          cache: true

      - name: Run race tests
        run: go test -race -count=1 ./...

  race-5:
    name: Race Test 5
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Set up Go
        uses: actions/setup-go@v6
        with:
          go-version-file: "go.mod"
          check-latest: true
          cache: true

      - name: Run race tests
        run: go test -race -count=1 ./...

  race-6:
    name: Race Test 6
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Set up Go
        uses: actions/setup-go@v6
        with:
          go-version-file: "go.mod"
          check-latest: true
          cache: true

      - name: Run race tests
        run: go test -race -count=1 ./...

  race-7:
    name: Race Test 7
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Set up Go
        uses: actions/setup-go@v6
        with:
          go-version-file: "go.mod"
          check-latest: true
          cache: true

      - name: Run race tests
        run: go test -race -count=1 ./...

  race-8:
    name: Race Test 8
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Set up Go
        uses: actions/setup-go@v6
        with:
          go-version-file: "go.mod"
          check-latest: true
          cache: true

      - name: Run race tests
        run: go test -race -count=1 ./...
