Some checks are pending
CI / Build og unit tests (push) Waiting to run
CI / Integration (mcr.microsoft.com/mssql/server:2017-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2019-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2022-latest) (push) Blocked by required conditions
CI / Integration (mcr.microsoft.com/mssql/server:2025-latest) (push) Blocked by required conditions
- .NET 10 solution with Core, Connectivity, Rules, Contracts, Agent, Web and Hub - Capability model gating collectors and rules by SQL Server version (2000 and later); rules that cannot run are reported as not measurable, never as passed - Connectivity via Microsoft.Data.SqlClient with ODBC fallback for legacy instances, hardened monitoring session settings valid back to SQL Server 2000 - Support lifecycle rule (SQLI-VER-001) with lifecycle data shipped as a rule pack - Version-aware least-privilege permissions script, verified by integration tests against SQL Server in Docker (reads monitoring sources, cannot read customer data) - Forgejo Actions CI, contributing guide, code of conduct, issue templates, legacy version notes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E3EExwndy8Z22EK2Qpt6BK
58 lines
2 KiB
YAML
58 lines
2 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
env:
|
|
DOTNET_CLI_TELEMETRY_OPTOUT: "1"
|
|
DOTNET_NOLOGO: "1"
|
|
|
|
jobs:
|
|
build:
|
|
name: Build og unit tests
|
|
# "docker" er standard-label for en Forgejo runner. Ret til jeres runners label, hvis det er et andet.
|
|
runs-on: docker
|
|
container:
|
|
image: mcr.microsoft.com/dotnet/sdk:10.0
|
|
steps:
|
|
- name: Checkout
|
|
run: |
|
|
git init -q .
|
|
git remote add origin "${{ github.server_url }}/${{ github.repository }}.git"
|
|
git -c http.extraHeader="Authorization: token ${{ secrets.GITHUB_TOKEN }}" fetch -q --depth 1 origin "${{ github.sha }}"
|
|
git checkout -q FETCH_HEAD
|
|
- name: Restore
|
|
run: dotnet restore
|
|
- name: Build
|
|
run: dotnet build --no-restore --configuration Release
|
|
- name: Unit tests
|
|
run: dotnet test --no-build --configuration Release --filter "Category!=Integration"
|
|
|
|
integration:
|
|
name: Integration (${{ matrix.image }})
|
|
needs: build
|
|
# Kræver en runner, der har adgang til Docker (Testcontainers starter SQL Server-containere).
|
|
# Slå til ved at sætte repo-variablen RUN_INTEGRATION_TESTS=true og give runneren labelen "docker-host".
|
|
if: ${{ vars.RUN_INTEGRATION_TESTS == 'true' }}
|
|
runs-on: docker-host
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
image:
|
|
- mcr.microsoft.com/mssql/server:2017-latest
|
|
- mcr.microsoft.com/mssql/server:2019-latest
|
|
- mcr.microsoft.com/mssql/server:2022-latest
|
|
- mcr.microsoft.com/mssql/server:2025-latest
|
|
env:
|
|
SQLINSIGHT_MSSQL_IMAGE: ${{ matrix.image }}
|
|
steps:
|
|
- name: Checkout
|
|
run: |
|
|
git init -q .
|
|
git remote add origin "${{ github.server_url }}/${{ github.repository }}.git"
|
|
git -c http.extraHeader="Authorization: token ${{ secrets.GITHUB_TOKEN }}" fetch -q --depth 1 origin "${{ github.sha }}"
|
|
git checkout -q FETCH_HEAD
|
|
- name: Integration tests
|
|
run: dotnet test tests/SQLInsight.IntegrationTests --configuration Release
|