-
-
Notifications
You must be signed in to change notification settings - Fork 278
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
db02434
commit 25a2b84
Showing
4 changed files
with
111 additions
and
75 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,13 +25,57 @@ env: | |
TZ: CET # https://stackoverflow.com/q/53510011 | ||
|
||
jobs: | ||
build: | ||
ci: | ||
strategy: | ||
fail-fast: false | ||
max-parallel: 6 | ||
matrix: | ||
os: [ ubuntu-22.04, windows-2022 ] | ||
|
||
runs-on: ${{ matrix.os }} | ||
projects: [ | ||
{ name: "Testcontainers.ActiveMq", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.ArangoDb", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Azurite", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.BigQuery", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Bigtable", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.ClickHouse", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.CockroachDb", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Consul", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.CosmosDb", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Couchbase", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.CouchDb", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Databases", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.DynamoDb", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Elasticsearch", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.EventStoreDb", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.FakeGcsServer", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.FirebirdSql", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Firestore", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.InfluxDb", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.JanusGraph", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.K3s", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Kafka", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Keycloak", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Kusto", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.LocalStack", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.MariaDb", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Milvus", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Minio", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.MongoDb", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.MsSql", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.MySql", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Nats", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Neo4j", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Oracle", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Papercut", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.PostgreSql", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.PubSub", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Pulsar", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.RabbitMq", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.RavenDb", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Redis", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.Redpanda", runs-on: "ubuntu-22.04" }, | ||
{ name: "Testcontainers.WebDriver", runs-on: "ubuntu-22.04" } | ||
] | ||
|
||
runs-on: ${{ matrix.projects.runs-on }} | ||
|
||
steps: | ||
- name: Checkout Repository | ||
|
@@ -42,27 +86,9 @@ jobs: | |
- name: Cache NuGet Packages | ||
uses: actions/cache@v4 | ||
with: | ||
key: ${{ matrix.os }}-nuget-${{ hashFiles('Directory.Packages.props') }} | ||
key: ${{ matrix.projects.runs-on }}-nuget-${{ hashFiles('Directory.Packages.props') }} | ||
path: ~/.nuget/packages | ||
|
||
# Our modules occupy too much disk space. The GitHub-hosted runners ran into the | ||
# error: "no space left on device." The pulled images are not cleaned up between | ||
# the test runs. One obvious approach is splitting the tests and running them on | ||
# multiple runners. However, we need to keep in mind that running too many | ||
# simultaneous builds has an impact on others as well. We observed that scheduled | ||
# Dependabot builds blocked others in the Testcontainers organization. | ||
- name: Free Disk Space | ||
uses: jlumbroso/[email protected] | ||
if: runner.os == 'Linux' | ||
with: | ||
tool-cache: true | ||
android: true | ||
dotnet: true | ||
haskell: true | ||
large-packages: true | ||
docker-images: true | ||
swap-storage: false | ||
|
||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v4 | ||
|
||
|
@@ -76,38 +102,38 @@ jobs: | |
run: dotnet cake --target=Build | ||
|
||
- name: Run Tests | ||
run: dotnet cake --target=Tests --test-filter=${{ startsWith(matrix.os, 'ubuntu') && 'FullyQualifiedName~Testcontainers' || 'DockerPlatform=Windows' }} | ||
run: dotnet cake --target=Test --test-filter=${{ matrix.projects.name }} | ||
|
||
- name: Upload Test And Coverage Results | ||
uses: actions/upload-artifact@v4 | ||
if: always() | ||
with: | ||
name: ${{ matrix.os }} | ||
name: ${{ matrix.projects.name }} | ||
path: test-results | ||
|
||
publish: | ||
if: ${{ contains(fromJson('["develop", "main"]'), github.ref_name) }} | ||
cd: | ||
# if: ${{ contains(fromJson('["develop", "main"]'), github.ref_name) }} | ||
|
||
needs: build | ||
needs: ci | ||
|
||
environment: production | ||
# environment: production | ||
|
||
# permissions: | ||
# contents: write | ||
# pull-requests: read | ||
|
||
runs-on: ubuntu-22.04 | ||
|
||
permissions: | ||
contents: write | ||
pull-requests: read | ||
|
||
env: | ||
CODE_SIGNING_CERTIFICATE_BASE64: ${{ secrets.CODE_SIGNING_CERTIFICATE_BASE64 }} | ||
CODE_SIGNING_CERTIFICATE_PASSWORD: ${{ secrets.CODE_SIGNING_CERTIFICATE_PASSWORD }} | ||
FEED_SOURCE: https://api.nuget.org/v3/index.json | ||
FEED_API_KEY: ${{ secrets.FEED_API_KEY }} | ||
SONARCLOUD_URL: https://sonarcloud.io | ||
SONARCLOUD_ORGANIZATION: testcontainers | ||
SONARCLOUD_KEY: testcontainers_testcontainers-dotnet | ||
SONARCLOUD_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }} | ||
PUBLISH_NUGET_PACKAGE: ${{ inputs.publish_nuget_package }} | ||
# env: | ||
# CODE_SIGNING_CERTIFICATE_BASE64: ${{ secrets.CODE_SIGNING_CERTIFICATE_BASE64 }} | ||
# CODE_SIGNING_CERTIFICATE_PASSWORD: ${{ secrets.CODE_SIGNING_CERTIFICATE_PASSWORD }} | ||
# FEED_SOURCE: https://api.nuget.org/v3/index.json | ||
# FEED_API_KEY: ${{ secrets.FEED_API_KEY }} | ||
# SONARCLOUD_URL: https://sonarcloud.io | ||
# SONARCLOUD_ORGANIZATION: testcontainers | ||
# SONARCLOUD_KEY: testcontainers_testcontainers-dotnet | ||
# SONARCLOUD_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }} | ||
# PUBLISH_NUGET_PACKAGE: ${{ inputs.publish_nuget_package }} | ||
|
||
steps: | ||
- name: Checkout Repository | ||
|
@@ -116,16 +142,10 @@ jobs: | |
lfs: true | ||
fetch-depth: 0 | ||
|
||
- name: Download Test And Coverage Results (ubuntu-22.04) | ||
- name: Download Test And Coverage Results | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: ubuntu-22.04 | ||
path: test-results | ||
|
||
- name: Download Test And Coverage Results (windows-2022) | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: windows-2022 | ||
pattern: Testcontainers* | ||
path: test-results | ||
|
||
- name: Fix Absolute Code Coverage Paths | ||
|
@@ -142,7 +162,7 @@ jobs: | |
uses: actions/setup-java@v4 | ||
with: | ||
distribution: temurin | ||
java-version: 17 | ||
java-version: 21 | ||
|
||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v4 | ||
|
@@ -153,21 +173,21 @@ jobs: | |
- name: Restore NuGet Packages | ||
run: dotnet cake --target=Restore-NuGet-Packages | ||
|
||
- name: Run Sonar Analysis | ||
run: dotnet cake --target=Sonar-Begin | ||
# - name: Run Sonar Analysis | ||
# run: dotnet cake --target=Sonar-Begin | ||
|
||
- name: Run Build | ||
run: dotnet cake --target=Build | ||
|
||
- name: Upload Sonar Results | ||
run: dotnet cake --target=Sonar-End | ||
# - name: Upload Sonar Results | ||
# run: dotnet cake --target=Sonar-End | ||
|
||
- name: Publish NuGet Package | ||
run: dotnet cake --target=Publish | ||
# - name: Publish NuGet Package | ||
# run: dotnet cake --target=Publish | ||
|
||
# Cake sets the semVer environment variable | ||
- uses: release-drafter/release-drafter@v6 | ||
with: | ||
version: ${{ env.semVer }} | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
# # Cake sets the semVer environment variable | ||
# - uses: release-drafter/release-drafter@v6 | ||
# with: | ||
# version: ${{ env.semVer }} | ||
# env: | ||
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,24 +8,19 @@ on: | |
|
||
jobs: | ||
report: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ ubuntu-22.04, windows-2022 ] | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
||
permissions: | ||
actions: read | ||
checks: write | ||
contents: read | ||
|
||
runs-on: ubuntu-22.04 | ||
|
||
steps: | ||
# https://github.com/dorny/test-reporter/issues/363#issuecomment-2381625959. | ||
- name: Publish Test Report | ||
uses: dorny/[email protected] | ||
with: | ||
artifact: ${{ matrix.os }} | ||
name: report (${{ matrix.os }}) | ||
artifact: Testcontainers* | ||
name: Test Report | ||
path: '*.trx' | ||
reporter: dotnet-trx |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters