diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f3894a3b..4ea849cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,21 +55,15 @@ jobs: name: Test (Windows - cmd) runs-on: windows-latest continue-on-error: true # Windows filesystem is slow; don't block PRs - env: - # Use RAM disk for all I/O - provides ~1750x faster IOPS than C: drive - TEMP: R:\tmp - TMP: R:\tmp - GOCACHE: R:\go-cache - GOMODCACHE: R:\go-mod steps: - uses: actions/checkout@v6 - - name: Setup RAM Disk and copy workspace + # RAM disk for temp/cache only (not workspace - t.Chdir breaks on ImDisk) + - name: Setup RAM Disk uses: chad-golden/setup-ramdisk@v1.0.1 with: size-in-mb: 4096 drive-letter: 'R' - copy-workspace: true - name: Prepare RAM disk directories run: New-Item -ItemType Directory -Force -Path R:\tmp, R:\go-cache, R:\go-mod @@ -84,31 +78,30 @@ jobs: git config --global user.name "CI Bot" git config --global user.email "ci@beads.test" - - name: Build and Test cmd package - working-directory: R:\workspace - run: | - go build -v ./cmd/bd - go test -v -short -timeout=30m -parallel=4 ./cmd/... + - name: Build + run: go build -v ./cmd/bd + + - name: Test cmd package + env: + TEMP: R:\tmp + TMP: R:\tmp + GOCACHE: R:\go-cache + GOMODCACHE: R:\go-mod + run: go test -v -short -timeout=30m -parallel=4 ./cmd/... test-windows-internal: name: Test (Windows - internal) runs-on: windows-latest continue-on-error: true # Windows filesystem is slow; don't block PRs - env: - # Use RAM disk for all I/O - provides ~1750x faster IOPS than C: drive - TEMP: R:\tmp - TMP: R:\tmp - GOCACHE: R:\go-cache - GOMODCACHE: R:\go-mod steps: - uses: actions/checkout@v6 - - name: Setup RAM Disk and copy workspace + # RAM disk for temp/cache only (not workspace - t.Chdir breaks on ImDisk) + - name: Setup RAM Disk uses: chad-golden/setup-ramdisk@v1.0.1 with: size-in-mb: 4096 drive-letter: 'R' - copy-workspace: true - name: Prepare RAM disk directories run: New-Item -ItemType Directory -Force -Path R:\tmp, R:\go-cache, R:\go-mod @@ -124,7 +117,11 @@ jobs: git config --global user.email "ci@beads.test" - name: Test internal packages - working-directory: R:\workspace + env: + TEMP: R:\tmp + TMP: R:\tmp + GOCACHE: R:\go-cache + GOMODCACHE: R:\go-mod run: go test -v -short -timeout=30m -parallel=4 ./internal/... lint: