Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to run all tests locally #2335

Open
9 of 71 tasks
Alirexaa opened this issue Dec 5, 2024 · 5 comments
Open
9 of 71 tasks

Ability to run all tests locally #2335

Alirexaa opened this issue Dec 5, 2024 · 5 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed Ups for grabs Issue is available to anyone who is interested

Comments

@Alirexaa
Copy link
Collaborator

Alirexaa commented Dec 5, 2024

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.

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.

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

CC @adamsitnik @eerhardt @unaizorrilla

@adamsitnik
Copy link
Collaborator

It would be nice to be able to run all of them locally. Are there any disadvantages (beside a lot of work) of such approach?

@Alirexaa
Copy link
Collaborator Author

It would be nice to be able to run all of them locally. Are there any disadvantages (beside a lot of work) of such approach?

In my experience, I did not encounter any problems.

@adamsitnik If there is not any tip/hint that you mind, I could prepare the initial PR for this issue.

@adamsitnik
Copy link
Collaborator

If there is not any tip/hint that you mind, I could prepare the initial PR for this issue.

Could you please try to implement it for one of our health checks (like redis/mongo etc) and send a PR with a short writeup of how does it feel to use it? Like what needs to be installed, how debugging looks like etc? Just so we can all give it a try and agree on the pattern and direction before we apply it to all health checks

@Alirexaa
Copy link
Collaborator Author

If there is not any tip/hint that you mind, I could prepare the initial PR for this issue.

Could you please try to implement it for one of our health checks (like redis/mongo etc) and send a PR with a short writeup of how does it feel to use it? Like what needs to be installed, how debugging looks like etc? Just so we can all give it a try and agree on the pattern and direction before we apply it to all health checks

See #2345.
I should mention that the Redis was the easy one :)

@Alirexaa Alirexaa added help wanted Extra attention is needed good first issue Good for newcomers Ups for grabs Issue is available to anyone who is interested labels Dec 17, 2024
@Alirexaa
Copy link
Collaborator Author

@adamsitnik, I update the issue description.

Let's pick each package one by one and send separate PRs for each of them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed Ups for grabs Issue is available to anyone who is interested
Projects
None yet
Development

No branches or pull requests

2 participants