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

Allow dependabot to upgrade database versions used in integration tests #5485

Closed
3 tasks done
yurishkuro opened this issue May 25, 2024 · 1 comment
Closed
3 tasks done
Labels
enhancement good first issue Good for beginners help wanted Features that maintainers are willing to accept but do not have cycles to implement

Comments

@yurishkuro
Copy link
Member

yurishkuro commented May 25, 2024

In the storage integration tests we run backends using Docker images. The versions for those images are hardcoded in various places:

None of these places are supported by the dependabot, so we're not getting regular upgrades and not testing via the latest versions of the storage backends.

One solution could be to use docker-compose files to bring the databases up instead of running a docker command directly. E.g. we could have docker-compose-elasticsearch-v7.yaml and docker-compose-elasticsearch-v8.yaml and simplify the matrix in the workflow to only specify the major version and then pick the right file at runtime. Then wen can configure dependabot to look at those docker-compose files where it should be able to upgrade the versions as needed.

We could try it with opensearch and see if dependabot will upgrade the versions. We also need to be careful to prevent dependabot from upgrading the major version, e.g. integration test against v1.x of opensearch should continue running against v1.x (whichever the latest release is for that major), not bump it to v2.x which is the absolute latest across majors.

Tracker

@yurishkuro yurishkuro added enhancement help wanted Features that maintainers are willing to accept but do not have cycles to implement good first issue Good for beginners labels May 25, 2024
yurishkuro pushed a commit that referenced this issue May 28, 2024
)

## Which problem is this PR solving?

Part of #5485

## Description of the changes
* updated `script/es-integration-test.sh` to use docker compose files
* updated `.github/workflows/ci-elasticsearch.yml` now it only passes
the major version for elasticsearch
* updated `.github/workflows/ci-opensearch.yml` now it only passes major
version for opensearch
* added docker compose files at `docker-compose/elasticsearch` and
`docker-compose/opensearch`
* removed` setup_es` and `setup_opensearch` function and a generalized
`setup_db()` function

## How was this change tested?
- CI

## Checklist
- [x] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [x] I have signed all commits
- [x] I have added unit tests for the new functionality
- [x] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `yarn lint` and `yarn test`

---------

Signed-off-by: Your Name <you@example.com>
Signed-off-by: mehul gautam  <mehulsharma4786@gmail.com>
Co-authored-by: Your Name <you@example.com>
@hellspawn679
Copy link
Contributor

@yurishkuro can you assign me this issue I would also like to work on Kafka and Cassandra ci

yurishkuro added a commit that referenced this issue May 31, 2024
## Which problem is this PR solving?
Part of #5485

## Description of the changes
* In `script/kafka-integration-test.sh` initialized kafka by docker
compose
* updated `.github/workflow/ci-kafka.yml` to take logs from docker
compose
* added comments in `script/kafka-integration-test.sh` and fixed a typo 
* add new locations to dependabot config to allow it to upgrade versions
in the new docker compose files

## How was this change tested?
- CI

## Checklist
- [ ] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [ ] I have signed all commits
- [ ] I have added unit tests for the new functionality
- [ ] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `yarn lint` and `yarn test`

---------

Signed-off-by: Your Name <you@example.com>
Signed-off-by: mehul gautam  <mehulsharma4786@gmail.com>
Signed-off-by: Yuri Shkuro <github@ysh.us>
Co-authored-by: Your Name <you@example.com>
Co-authored-by: Yuri Shkuro <github@ysh.us>
varshith257 pushed a commit to varshith257/jaeger that referenced this issue Jun 2, 2024
…egertracing#5490)

## Which problem is this PR solving?

Part of jaegertracing#5485

## Description of the changes
* updated `script/es-integration-test.sh` to use docker compose files
* updated `.github/workflows/ci-elasticsearch.yml` now it only passes
the major version for elasticsearch
* updated `.github/workflows/ci-opensearch.yml` now it only passes major
version for opensearch
* added docker compose files at `docker-compose/elasticsearch` and
`docker-compose/opensearch`
* removed` setup_es` and `setup_opensearch` function and a generalized
`setup_db()` function

## How was this change tested?
- CI

## Checklist
- [x] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [x] I have signed all commits
- [x] I have added unit tests for the new functionality
- [x] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `yarn lint` and `yarn test`

---------

Signed-off-by: Your Name <you@example.com>
Signed-off-by: mehul gautam  <mehulsharma4786@gmail.com>
Co-authored-by: Your Name <you@example.com>
Signed-off-by: Vamshi Maskuri <gwcchintu@gmail.com>
varshith257 pushed a commit to varshith257/jaeger that referenced this issue Jun 2, 2024
## Which problem is this PR solving?
Part of jaegertracing#5485

## Description of the changes
* In `script/kafka-integration-test.sh` initialized kafka by docker
compose
* updated `.github/workflow/ci-kafka.yml` to take logs from docker
compose
* added comments in `script/kafka-integration-test.sh` and fixed a typo 
* add new locations to dependabot config to allow it to upgrade versions
in the new docker compose files

## How was this change tested?
- CI

## Checklist
- [ ] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [ ] I have signed all commits
- [ ] I have added unit tests for the new functionality
- [ ] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `yarn lint` and `yarn test`

---------

Signed-off-by: Your Name <you@example.com>
Signed-off-by: mehul gautam  <mehulsharma4786@gmail.com>
Signed-off-by: Yuri Shkuro <github@ysh.us>
Co-authored-by: Your Name <you@example.com>
Co-authored-by: Yuri Shkuro <github@ysh.us>
Signed-off-by: Vamshi Maskuri <gwcchintu@gmail.com>
yurishkuro pushed a commit that referenced this issue Jun 3, 2024
## Which problem is this PR solving?
- #5485

## Description of the changes
- updated `cassandra-integration-test.sh` to use docker compose 
- update dependabot config

## How was this change tested?
- `bash scripts/cassandra-integration-test.sh 3 v003 v1` ` bash
scripts/cassandra-integration-test.sh 3 v003 v2 ` bash
`scripts/cassandra-integration-test.sh 4 v004 v1`
`scripts/cassandra-integration-test.sh 4 v004 v2`
 
## Checklist
- [ ] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [ ] I have signed all commits
- [ ] I have added unit tests for the new functionality
- [ ] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `yarn lint` and `yarn test`

---------

Signed-off-by: Your Name <you@example.com>
Co-authored-by: Your Name <you@example.com>
yurishkuro pushed a commit that referenced this issue Jun 10, 2024
## Which problem is this PR solving?
- #5485
## Description of the changes
- changing how major version is passed eg form 7.x -> 7 

## How was this change tested?
- 

## Checklist
- [ ] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [ ] I have signed all commits
- [ ] I have added unit tests for the new functionality
- [ ] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `yarn lint` and `yarn test`

---------

Signed-off-by: mehul gautam <mehulsharma4786@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement good first issue Good for beginners help wanted Features that maintainers are willing to accept but do not have cycles to implement
Projects
None yet
Development

No branches or pull requests

2 participants