name: PR on: pull_request: branches: - main paths-ignore: - "**.md" jobs: testing: name: Short Tests with Race Detector runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: ["ubuntu-latest", "macos-latest", "windows-latest"] go: ["1.27.1"] env: OS: ${{ matrix.os }} steps: - name: Checkout repository code uses: actions/checkout@v6 - name: Install Go uses: actions/setup-go@v6 with: go-version: ${{ matrix.go }} - name: Install node uses: actions/setup-node@v4 with: node-version: "22.14.0" cache: "npm" cache-dependency-path: ui/package-lock.json - name: Build UI run: make ui - name: Test with Coverage and Race Detector run: go test -v -short -race -timeout 120s ./... integration: name: Run Integration Tests runs-on: "ubuntu-latest" timeout-minutes: 20 steps: - name: Checkout repository code uses: actions/checkout@v6 - name: Install Go uses: actions/setup-go@v6 with: go-version: "1.27.1" - name: Install node uses: actions/setup-node@v4 with: node-version: "22.14.0" cache: "npm" cache-dependency-path: ui/package-lock.json - name: Build UI run: make ui - name: Run Integration Tests with Race Detector run: make integration_test TIMEOUT=600s full: name: Run Full Test Suite runs-on: ubuntu-latest steps: - name: Checkout repository code uses: actions/checkout@v6 - name: Install Go uses: actions/setup-go@v6 with: go-version: "1.27.1" - name: Install node uses: actions/setup-node@v4 with: node-version: "22.14.0" cache: "npm" cache-dependency-path: ui/package-lock.json - name: Build UI run: make ui - name: Test short, long, extended, and concurrency validation run: make full_test TIMEOUT=600s