Add Known Limitations section to AGENTS.md documenting: - AMD GPU not implemented (use NVIDIA, Apple Silicon, or CPU) - 100+ node gang allocation stress testing not yet implemented - Podman-in-Docker CI requires privileged mode, not yet automated - Error handling patterns for unimplemented features - Container usage rules (Docker for testing/deployments, Podman for experiments) - Error codes table (NOT_IMPLEMENTED, NOT_FOUND, INVALID_CONFIGURATION) Update testing documentation to reflect new test locations: - Unit tests moved from tests/unit/ to internal/ (Go convention) - Update all test file path references in security testing docs
50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
name: Test Matrix
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
env:
|
|
GO_VERSION: '1.25.0'
|
|
|
|
jobs:
|
|
test-native-vs-pure:
|
|
strategy:
|
|
matrix:
|
|
build_type: [pure, cgo, native]
|
|
runs-on: self-hosted
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Setup dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y build-essential cmake
|
|
|
|
- name: Build with ${{ matrix.build_type }}
|
|
run: |
|
|
if [ "${{ matrix.build_type }}" = "native" ]; then
|
|
scripts/build/build-native.sh
|
|
fi
|
|
scripts/build/build-go.sh ${{ matrix.build_type }} linux amd64 cmd/api-server/main.go
|
|
|
|
- name: Run unit tests
|
|
run: |
|
|
export FETCHML_NATIVE_LIBS=$([ "${{ matrix.build_type }}" = "native" ] && echo "1" || echo "0")
|
|
go test -v ./internal/...
|
|
|
|
- name: Run integration tests
|
|
run: |
|
|
export FETCHML_NATIVE_LIBS=$([ "${{ matrix.build_type }}" = "native" ] && echo "1" || echo "0")
|
|
go test -v ./tests/integration/...
|
|
|
|
- name: Run benchmark comparison
|
|
if: matrix.build_type == 'native'
|
|
run: make benchmark-compare
|
|
|
|
- name: Upload test results
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: test-results-${{ matrix.build_type }}
|
|
path: test-results/
|