diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 96da04f15..fd37e950c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,35 +1,35 @@ -name: ci -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest] - steps: - - uses: actions/checkout@v3 - - - name: Setup .NET Core - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 8.0.x - - - name: Install dependencies - run: dotnet restore - working-directory: src - - - name: Build - run: dotnet build --configuration Release --no-restore - working-directory: src - - - name: Test - run: dotnet test --no-restore --verbosity normal --collect:"XPlat Code Coverage" - working-directory: src - - - name: Coverage - uses: codecov/codecov-action@v3 +name: ci +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] + steps: + - uses: actions/checkout@v3 + + - name: Setup .NET Core + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 8.0.x + + - name: Install dependencies + run: dotnet restore + working-directory: src + + - name: Build + run: dotnet build --configuration Release --no-restore + working-directory: src + + - name: Test + run: dotnet test --no-restore --verbosity normal --collect:"XPlat Code Coverage" + working-directory: src + + - name: Coverage + uses: codecov/codecov-action@v4 diff --git a/.github/workflows/mysql.yml b/.github/workflows/mysql.yml index 55dea848a..76fb03dd1 100644 --- a/.github/workflows/mysql.yml +++ b/.github/workflows/mysql.yml @@ -1,52 +1,52 @@ -name: mysql - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - db: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - tag: [8.0, 8.1, 8.2, latest] - services: - mysql: - image: mysql:${{ matrix.tag }} - env: - MYSQL_ROOT_PASSWORD: Schematic1234 - MYSQL_DATABASE: schematic - options: >- - --health-cmd "mysqladmin ping" - --health-interval 10s - --health-timeout 5s - --health-retries 5 - ports: - - 3306:3306 - steps: - - uses: actions/checkout@v3 - - - name: Setup .NET Core - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 8.0.x - - - name: Install dependencies - run: dotnet restore - working-directory: src/SJP.Schematic.MySql.Tests - - - name: Build - run: dotnet build --configuration Release --no-restore - working-directory: src/SJP.Schematic.MySql.Tests - - - name: Test - run: dotnet test --no-restore --verbosity normal --collect:"XPlat Code Coverage" - working-directory: src/SJP.Schematic.MySql.Tests - env: - ConnectionStrings__MySql_TestDb: Server=localhost; Port=3306; Database=schematic; Uid=root; Pwd=Schematic1234; ConnectionTimeout=2 - - - name: Coverage - uses: codecov/codecov-action@v3 +name: mysql + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + db: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: [8.0, 8.1, 8.2, latest] + services: + mysql: + image: mysql:${{ matrix.tag }} + env: + MYSQL_ROOT_PASSWORD: Schematic1234 + MYSQL_DATABASE: schematic + options: >- + --health-cmd "mysqladmin ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 3306:3306 + steps: + - uses: actions/checkout@v3 + + - name: Setup .NET Core + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 8.0.x + + - name: Install dependencies + run: dotnet restore + working-directory: src/SJP.Schematic.MySql.Tests + + - name: Build + run: dotnet build --configuration Release --no-restore + working-directory: src/SJP.Schematic.MySql.Tests + + - name: Test + run: dotnet test --no-restore --verbosity normal --collect:"XPlat Code Coverage" + working-directory: src/SJP.Schematic.MySql.Tests + env: + ConnectionStrings__MySql_TestDb: Server=localhost; Port=3306; Database=schematic; Uid=root; Pwd=Schematic1234; ConnectionTimeout=2 + + - name: Coverage + uses: codecov/codecov-action@v4 diff --git a/.github/workflows/oracle.yml b/.github/workflows/oracle.yml index 8acc31981..2805df8e3 100644 --- a/.github/workflows/oracle.yml +++ b/.github/workflows/oracle.yml @@ -1,54 +1,54 @@ -name: oracle - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - db: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - tag: [11, 18, 21, latest] - services: - oracle: - image: gvenzl/oracle-xe:${{ matrix.tag }} - env: - ORACLE_PASSWORD: schematic_root - ORACLE_DATABASE: schematic - APP_USER: schematic - APP_USER_PASSWORD: schematic - options: >- - --health-cmd healthcheck.sh - --health-interval 20s - --health-timeout 10s - --health-retries 10 - ports: - - 1521:1521 - steps: - - uses: actions/checkout@v3 - - - name: Setup .NET Core - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 8.0.x - - - name: Install dependencies - run: dotnet restore - working-directory: src/SJP.Schematic.Oracle.Tests - - - name: Build - run: dotnet build --configuration Release --no-restore - working-directory: src/SJP.Schematic.Oracle.Tests - - - name: Test - run: dotnet test --no-restore --verbosity normal --collect:"XPlat Code Coverage" - working-directory: src/SJP.Schematic.Oracle.Tests - env: - ConnectionStrings__Oracle_TestDb: Data Source=localhost/XEPDB1; User Id=schematic; Password=schematic - - - name: Coverage - uses: codecov/codecov-action@v3 +name: oracle + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + db: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: [11, 18, 21, latest] + services: + oracle: + image: gvenzl/oracle-xe:${{ matrix.tag }} + env: + ORACLE_PASSWORD: schematic_root + ORACLE_DATABASE: schematic + APP_USER: schematic + APP_USER_PASSWORD: schematic + options: >- + --health-cmd healthcheck.sh + --health-interval 20s + --health-timeout 10s + --health-retries 10 + ports: + - 1521:1521 + steps: + - uses: actions/checkout@v3 + + - name: Setup .NET Core + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 8.0.x + + - name: Install dependencies + run: dotnet restore + working-directory: src/SJP.Schematic.Oracle.Tests + + - name: Build + run: dotnet build --configuration Release --no-restore + working-directory: src/SJP.Schematic.Oracle.Tests + + - name: Test + run: dotnet test --no-restore --verbosity normal --collect:"XPlat Code Coverage" + working-directory: src/SJP.Schematic.Oracle.Tests + env: + ConnectionStrings__Oracle_TestDb: Data Source=localhost/XEPDB1; User Id=schematic; Password=schematic + + - name: Coverage + uses: codecov/codecov-action@v4 diff --git a/.github/workflows/postgres.yml b/.github/workflows/postgres.yml index 0a09184e3..1f017ca00 100644 --- a/.github/workflows/postgres.yml +++ b/.github/workflows/postgres.yml @@ -1,51 +1,51 @@ -name: postgres - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - db: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - tag: [10, 11, 12, 13, 14, 15, 16, latest] - services: - postgres: - image: postgres:${{ matrix.tag }} - env: - POSTGRES_PASSWORD: postgres - options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 - ports: - - 5432:5432 - steps: - - uses: actions/checkout@v3 - - - name: Setup .NET Core - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 8.0.x - - - name: Install dependencies - run: dotnet restore - working-directory: src/SJP.Schematic.PostgreSql.Tests - - - name: Build - run: dotnet build --configuration Release --no-restore - working-directory: src/SJP.Schematic.PostgreSql.Tests - - - name: Test - run: dotnet test --no-restore --verbosity normal --collect:"XPlat Code Coverage" - working-directory: src/SJP.Schematic.PostgreSql.Tests - env: - ConnectionStrings__PostgreSql_TestDb: Server=localhost; Port=5432; Database=postgres; User Id=postgres; Password=postgres; Timeout=2 - - - name: Coverage - uses: codecov/codecov-action@v3 +name: postgres + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + db: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: [10, 11, 12, 13, 14, 15, 16, latest] + services: + postgres: + image: postgres:${{ matrix.tag }} + env: + POSTGRES_PASSWORD: postgres + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 5432:5432 + steps: + - uses: actions/checkout@v3 + + - name: Setup .NET Core + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 8.0.x + + - name: Install dependencies + run: dotnet restore + working-directory: src/SJP.Schematic.PostgreSql.Tests + + - name: Build + run: dotnet build --configuration Release --no-restore + working-directory: src/SJP.Schematic.PostgreSql.Tests + + - name: Test + run: dotnet test --no-restore --verbosity normal --collect:"XPlat Code Coverage" + working-directory: src/SJP.Schematic.PostgreSql.Tests + env: + ConnectionStrings__PostgreSql_TestDb: Server=localhost; Port=5432; Database=postgres; User Id=postgres; Password=postgres; Timeout=2 + + - name: Coverage + uses: codecov/codecov-action@v4 diff --git a/.github/workflows/sql-server.yml b/.github/workflows/sql-server.yml index 6a689cdc6..c0536636f 100644 --- a/.github/workflows/sql-server.yml +++ b/.github/workflows/sql-server.yml @@ -1,52 +1,52 @@ -name: sql-server -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - db: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - tag: [2017-latest, 2019-latest, 2022-latest, latest] - services: - sqlserver: - image: mcr.microsoft.com/mssql/server:${{ matrix.tag }} - env: - ACCEPT_EULA: 'Y' - SA_PASSWORD: Schematic0123! - options: >- - --health-cmd "/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P 'Schematic0123!' -Q 'SELECT 1' || exit 1" - --health-interval 10s - --health-timeout 3s - --health-retries 10 - --health-start-period 10s - ports: - - 1433:1433 - steps: - - uses: actions/checkout@v3 - - - name: Setup .NET Core - uses: actions/setup-dotnet@v3 - with: - dotnet-version: 8.0.x - - - name: Install dependencies - run: dotnet restore - working-directory: src/SJP.Schematic.SqlServer.Tests - - - name: Build - run: dotnet build --configuration Release --no-restore - working-directory: src/SJP.Schematic.SqlServer.Tests - - - name: Test - run: dotnet test --no-restore --verbosity normal --collect:"XPlat Code Coverage" - working-directory: src/SJP.Schematic.SqlServer.Tests - env: - ConnectionStrings__SqlServer_TestDb: Data Source=localhost,1433; User Id=sa; Password=Schematic0123!; MultipleActiveResultSets=True; TrustServerCertificate=True; - - - name: Coverage - uses: codecov/codecov-action@v3 +name: sql-server +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + db: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: [2017-latest, 2019-latest, 2022-latest, latest] + services: + sqlserver: + image: mcr.microsoft.com/mssql/server:${{ matrix.tag }} + env: + ACCEPT_EULA: 'Y' + SA_PASSWORD: Schematic0123! + options: >- + --health-cmd "/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P 'Schematic0123!' -Q 'SELECT 1' || exit 1" + --health-interval 10s + --health-timeout 3s + --health-retries 10 + --health-start-period 10s + ports: + - 1433:1433 + steps: + - uses: actions/checkout@v3 + + - name: Setup .NET Core + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 8.0.x + + - name: Install dependencies + run: dotnet restore + working-directory: src/SJP.Schematic.SqlServer.Tests + + - name: Build + run: dotnet build --configuration Release --no-restore + working-directory: src/SJP.Schematic.SqlServer.Tests + + - name: Test + run: dotnet test --no-restore --verbosity normal --collect:"XPlat Code Coverage" + working-directory: src/SJP.Schematic.SqlServer.Tests + env: + ConnectionStrings__SqlServer_TestDb: Data Source=localhost,1433; User Id=sa; Password=Schematic0123!; MultipleActiveResultSets=True; TrustServerCertificate=True; + + - name: Coverage + uses: codecov/codecov-action@v4