Skip to content

workflows: bump actions/setup-node from 4 to 5 #268

workflows: bump actions/setup-node from 4 to 5

workflows: bump actions/setup-node from 4 to 5 #268

Workflow file for this run

name: CI Tests
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
permissions:
contents: read
checks: write # For test reporting
pull-requests: write # For PR comments
env:
CGO_ENABLED: 1 # Required for race detection in tests
jobs:
# Matrix strategy for testing multiple Go versions efficiently
test:
name: Test Go ${{ matrix.go-version }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
go-version: ['1.23', '1.24']
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Set up Go ${{ matrix.go-version }}
uses: actions/setup-go@v6
with:
go-version: ${{ matrix.go-version }}
check-latest: true
cache: true # Enable caching for better performance
cache-dependency-path: |
go.sum
go.mod
- name: Download dependencies
run: go mod download
- name: Verify dependencies
run: go mod verify
- name: Build
run: go build -v ./...
- name: Run tests
env:
CGO_ENABLED: 1
run: |
go test -v -race -coverprofile=coverage-${{ matrix.go-version }}.out -covermode=atomic ./...
# Codecov upload disabled due to token issues with protected branches
# - name: Upload coverage to Codecov
# if: matrix.go-version == '1.23' # Only upload once
# uses: codecov/codecov-action@v5
# with:
# file: ./coverage-${{ matrix.go-version }}.out
# fail_ci_if_error: false
# Integration tests (if you have any)
integration:
name: Integration Tests
runs-on: ubuntu-latest
needs: test
if: github.event_name == 'pull_request' || github.ref == 'refs/heads/main'
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: 'go.mod'
cache: true
- name: Run integration tests
run: |
# Add integration test commands here when available
echo "Integration tests would run here"