fix(ci): skip Docker-dependent PostgreSQL tests in upstream test workflow
- Add [Trait("Category", "RequiresDocker")] to all 3 PostgreSQL test classes
(PostgreSqlMigrationTests, PostgreSqlProviderTests, PostgreSqlConcurrencyTests)
- Add --filter "Category!=RequiresDocker" to ci-tests.yml dotnet test command
so runners without Docker don't fail on Testcontainers initialization
- Disable CodeQL workflow in fork (requires upstream org permissions + .NET 10
CodeQL support that isn't available on our self-hosted runners)
PostgreSQL tests still run in ha-build.yml against the cluster where Docker
is available via the self-hosted ARC runners.
This commit is contained in:
@@ -11,6 +11,8 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
analyze:
|
analyze:
|
||||||
name: Analyze
|
name: Analyze
|
||||||
|
# Disabled in fork — upstream CodeQL requires specific GitHub org permissions and .NET 10 support
|
||||||
|
if: false
|
||||||
runs-on: [self-hosted, k3s, linux, amd64]
|
runs-on: [self-hosted, k3s, linux, amd64]
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ jobs:
|
|||||||
--collect:"XPlat Code Coverage"
|
--collect:"XPlat Code Coverage"
|
||||||
--settings tests/coverletArgs.runsettings
|
--settings tests/coverletArgs.runsettings
|
||||||
--verbosity minimal
|
--verbosity minimal
|
||||||
|
--filter "Category!=RequiresDocker"
|
||||||
|
|
||||||
- name: Merge code coverage results
|
- name: Merge code coverage results
|
||||||
uses: danielpalme/ReportGenerator-GitHub-Action@ee0ae774f6d3afedcbd1683c1ab21b83670bdf8e # v5.5.1
|
uses: danielpalme/ReportGenerator-GitHub-Action@ee0ae774f6d3afedcbd1683c1ab21b83670bdf8e # v5.5.1
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ namespace Jellyfin.Database.Tests.PostgreSQL;
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Integration tests that verify concurrent access patterns against a real PostgreSQL 16 container.
|
/// Integration tests that verify concurrent access patterns against a real PostgreSQL 16 container.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Xunit.Trait("Category", "RequiresDocker")]
|
||||||
public sealed class PostgreSqlConcurrencyTests : IAsyncLifetime
|
public sealed class PostgreSqlConcurrencyTests : IAsyncLifetime
|
||||||
{
|
{
|
||||||
private readonly PostgreSqlContainer _container;
|
private readonly PostgreSqlContainer _container;
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ namespace Jellyfin.Database.Tests.PostgreSQL;
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Integration tests that validate PostgreSQL migrations against a real container.
|
/// Integration tests that validate PostgreSQL migrations against a real container.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Xunit.Trait("Category", "RequiresDocker")]
|
||||||
public sealed class PostgreSqlMigrationTests : IAsyncLifetime
|
public sealed class PostgreSqlMigrationTests : IAsyncLifetime
|
||||||
{
|
{
|
||||||
private readonly PostgreSqlContainer _container;
|
private readonly PostgreSqlContainer _container;
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ namespace Jellyfin.Database.Tests.PostgreSQL;
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Integration tests for CRUD operations, optimisation, and purge against a real PostgreSQL 16 container.
|
/// Integration tests for CRUD operations, optimisation, and purge against a real PostgreSQL 16 container.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Xunit.Trait("Category", "RequiresDocker")]
|
||||||
public sealed class PostgreSqlProviderTests : IAsyncLifetime
|
public sealed class PostgreSqlProviderTests : IAsyncLifetime
|
||||||
{
|
{
|
||||||
private readonly PostgreSqlContainer _container;
|
private readonly PostgreSqlContainer _container;
|
||||||
|
|||||||
Reference in New Issue
Block a user