name: CI on: push: 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"] steps: - name: Checkout repository uses: actions/checkout@v6 - name: Set up Go uses: actions/setup-go@v6 with: go-version: ${{ matrix.go }} - name: Set up Node.js 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: Quick Test with Race Detector run: go test -v -short -race -timeout 120s ./... integration: name: Run Integration Tests needs: testing runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: Set up Go uses: actions/setup-go@v6 with: go-version: "1.27.1" - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: "22.14.0" cache: "npm" cache-dependency-path: ui/package-lock.json - run: make ui - run: make integration_test full: name: Run Full Test Suite needs: [testing, integration] runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: Set up Go uses: actions/setup-go@v6 with: go-version: "1.27.1" - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: "22.14.0" cache: "npm" cache-dependency-path: ui/package-lock.json - run: make ui - run: make full_test TIMEOUT=600s