fetch_ml/.forgejo/workflows/test-matrix.yml
Jeremie Fraeys b00fa236db
docs: add Known Limitations section and testing structure updates
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
2026-03-12 16:33:19 -04:00

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/