-
Notifications
You must be signed in to change notification settings - Fork 841
Description
Some of our tests depend on external services, And they can not run locally unless we manually perform some work.
We configured CI to run these external services.
For example, Milvus uses the docker compose file.
AspNetCore.Diagnostics.HealthChecks/.github/workflows/healthchecks_milvus_ci.yml
Lines 33 to 40 in 78d664e
steps: | |
- uses: actions/checkout@v3 | |
- name: 'wget' | |
run: 'wget https://github.com/milvus-io/milvus/releases/download/v2.4.6/milvus-standalone-docker-compose.yml -O docker-compose.yml' | |
- name: 'compose' | |
run: 'sudo docker compose up -d' | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 |
Elasticsearch is configured by services in actions.
AspNetCore.Diagnostics.HealthChecks/.github/workflows/healthchecks_elasticsearch_ci.yml
Lines 30 to 38 in 78d664e
jobs: | |
build: | |
runs-on: ubuntu-latest | |
services: | |
elasticsearch: | |
image: docker.elastic.co/elasticsearch/elasticsearch:6.3.2 | |
ports: | |
- 9300:9300 | |
- 9201:9200 |
We should change these tests to use TestContainer like the Aspire team did.
Update
We migrate the HealthChecks.Redis
tests to Testcontainer in #2345.
Let's use that PR as a sample and migrate the other tests.
Check Lists
- HealthChecks.ApplicationStatus
- HealthChecks.ArangoDb
- HealthChecks.Aws.S3
- HealthChecks.Aws.SecretsManager
- HealthChecks.Aws.Sns
- HealthChecks.Aws.Sqs
- HealthChecks.Aws.SystemsManager
- HealthChecks.Azure.Data.Tables
- HealthChecks.Azure.IoTHub
- HealthChecks.Azure.KeyVault.Secrets
- HealthChecks.Azure.Messaging.EventHubs
- HealthChecks.Azure.Storage.Blobs
- HealthChecks.Azure.Storage.Files.Shares
- HealthChecks.Azure.Storage.Queues
- HealthChecks.AzureApplicationInsights
- HealthChecks.AzureDigitalTwin
- HealthChecks.AzureKeyVault
- HealthChecks.AzureSearch
- HealthChecks.AzureServiceBus
- HealthChecks.ClickHouse
- HealthChecks.Consul
- HealthChecks.CosmosDb
- HealthChecks.Dapr
- HealthChecks.DynamoDb
- HealthChecks.Elasticsearch
- HealthChecks.EventStore
- HealthChecks.EventStore.gRPC
- HealthChecks.Gcp.CloudFirestore
- HealthChecks.Gremlin
- HealthChecks.Hangfire
- HealthChecks.IbmMQ
- HealthChecks.InfluxDB
- HealthChecks.Kafka(Migrate HealthChecks.Kafka tests to Testcontainers #2365)
- HealthChecks.Kubernetes
- HealthChecks.Milvus (Migrate HealthChecks.Milvus tests to Testcontainers #2360)
- HealthChecks.MongoDb (Migrate HealthChecks.MongoDb tests to Testcontainers #2351)
- HealthChecks.MySql (Migrate HealthChecks.MySql tests to Testcontainers #2353)
- HealthChecks.Nats
- HealthChecks.Network
- HealthChecks.NpgSql (Migrate HealthChecks.Npgsql tests to Testcontainers #2349)
- HealthChecks.OpenIdConnectServer
- HealthChecks.Oracle
- HealthChecks.Prometheus.Metrics
- HealthChecks.Publisher.ApplicationInsights
- HealthChecks.Publisher.CloudWatch
- HealthChecks.Publisher.Datadog
- HealthChecks.Publisher.Prometheus
- HealthChecks.Publisher.Seq
- HealthChecks.Qdrant (Migrate HealthChecks.Qdrant tests to Testcontainers #2362)
- HealthChecks.Rabbitmq (Migrate HealthChecks.Rabbitmq tests to Testcontainers #2352)
- HealthChecks.Rabbitmq.v6 (Migrate HealthChecks.Rabbitmq tests to Testcontainers #2352)
- HealthChecks.RavenDB
- HealthChecks.Redis (Migrate Redis tests to Testcontainers #2345)
- HealthChecks.SendGrid
- HealthChecks.SignalR
- HealthChecks.Solr
- HealthChecks.Sqlite
- HealthChecks.SqlServer (Migrate HealthChecks.SqlServer tests to Testcontainers #2348)
- HealthChecks.SurrealDb
- HealthChecks.System
- HealthChecks.UI
- HealthChecks.UI.Client
- HealthChecks.UI.Core
- HealthChecks.UI.Data
- HealthChecks.UI.InMemory.Storage
- HealthChecks.UI.K8s.Operator
- HealthChecks.UI.MySql.Storage
- HealthChecks.UI.PostgreSQL.Storage
- HealthChecks.UI.SQLite.Storage
- HealthChecks.UI.SqlServer.Storage
- HealthChecks.Uris