Files
onvif-go/.github/workflows/test.yml
T
0x524a 9e3b5e0170 feat: add comprehensive ONVIF test reports and enhance documentation
- Introduced CAMERA_TEST_REPORT.md and COMPREHENSIVE_TEST_SUMMARY.md to document testing results for the Bosch FLEXIDOME indoor 5100i IR camera.
- Added detailed analysis of ONVIF Media Service operations and implementation status in MEDIA_OPERATIONS_ANALYSIS.md and MEDIA_WSDL_OPERATIONS_ANALYSIS.md.
- Updated implementation status documentation to reflect the completion of all 79 operations in the ONVIF Media Service.
- Enhanced existing comments and documentation across various files for better clarity and consistency.
2025-12-02 02:29:51 -05:00

109 lines
2.5 KiB
YAML

name: Extended Tests
on:
workflow_dispatch: # Manual trigger
schedule:
- cron: '0 2 * * 0' # Weekly on Sunday at 2 AM UTC
push:
branches: [ master, main ]
paths:
- '**.go'
- 'go.mod'
- 'go.sum'
jobs:
# Run tests on older Go versions
test-older-versions:
name: Test on Go ${{ matrix.go-version }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
go-version: ['1.20', '1.19']
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}
- name: Cache Go modules
uses: actions/cache@v4
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ matrix.go-version }}-
- name: Download dependencies
run: go mod download
- name: Run tests
run: go test -v -race ./...
# Run benchmarks
benchmark:
name: Benchmark Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24'
- name: Cache Go modules
uses: actions/cache@v4
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-1.24-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-1.24-
- name: Download dependencies
run: go mod download
- name: Run benchmarks
run: go test -bench=. -benchmem ./... -run=^$ || echo "⚠️ No benchmarks found"
# Test with race detector
race-detector:
name: Race Detector Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24'
- name: Cache Go modules
uses: actions/cache@v4
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-1.24-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-1.24-
- name: Download dependencies
run: go mod download
- name: Run tests with race detector
run: go test -race -timeout=10m ./...