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

test: support backward compatiblity checks in e2e testing #1656

Merged
merged 29 commits into from
Feb 29, 2024

Conversation

bermuell
Copy link
Contributor

@bermuell bermuell commented Feb 22, 2024

Description

Closes: #1559

Add backward compatibility tests to e2e testing


Author Checklist

All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.

I have...

  • Included the correct type prefix in the PR title
  • Targeted the correct branch (see PR Targeting)
  • Provided a link to the relevant issue or specification
  • Reviewed "Files changed" and left comments if necessary
  • Confirmed all CI checks have passed

Reviewers Checklist

All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.

I have...

  • Confirmed the correct type prefix in the PR title
  • Confirmed all author checklist items have been addressed
  • Confirmed that this PR does not change production code

@github-actions github-actions bot added C:Testing Assigned automatically by the PR labeler C:Build Assigned automatically by the PR labeler labels Feb 22, 2024
@bermuell bermuell self-assigned this Feb 22, 2024
@github-actions github-actions bot added the C:CI Assigned automatically by the PR labeler label Feb 26, 2024
@bermuell bermuell force-pushed the bernd/1559-compatibility-tests branch 3 times, most recently from 854f3a4 to f2ba52b Compare February 26, 2024 16:46
tests/e2e/main.go Dismissed Show dismissed Hide dismissed
tests/e2e/test_driver.go Dismissed Show dismissed Hide dismissed
@bermuell bermuell force-pushed the bernd/1559-compatibility-tests branch from f2ba52b to d0d88d1 Compare February 26, 2024 16:59
@bermuell bermuell force-pushed the bernd/1559-compatibility-tests branch from 7f73e92 to bebe958 Compare February 27, 2024 07:29
@bermuell bermuell force-pushed the bernd/1559-compatibility-tests branch from bebe958 to 835c3cd Compare February 27, 2024 07:43
@bermuell bermuell marked this pull request as ready for review February 27, 2024 07:44
@bermuell bermuell requested a review from a team as a code owner February 27, 2024 07:44
@bermuell bermuell requested a review from MSalopek February 27, 2024 07:44
Copy link
Contributor

@p-offtermatt p-offtermatt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the work! Mostly looks good, left a couple of comments. I think in particular we need a bit more documentation on this.

I think a lot of this means extra work when we do new releases, and this will for sure be an extra maintenance burden - I'd suggest thinking of ways we can make this e.g. fail visibly when we make a new release and something hasn't been updated properly on the compatibility tests, e.g. somewhere the new release is not set as the latest version

Makefile Outdated Show resolved Hide resolved
.github/workflows/nightly-e2e.yml Outdated Show resolved Hide resolved
Dockerfile.combined Show resolved Hide resolved
tests/e2e/actions.go Outdated Show resolved Hide resolved
tests/e2e/actions.go Show resolved Hide resolved
tests/e2e/actions.go Show resolved Hide resolved
tests/e2e/config.go Outdated Show resolved Hide resolved
fmt.Println("Using old validator configs: ", providerVersion)

validatorCfg = map[ValidatorID]ValidatorConfig{
ValidatorID("alice"): {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if there is some common kernel that we should try to pull out here to reduce duplication, but maybe it's not possible or worth it - just from looking at a diffchecker, a few things seem to be common among versions, but maybe not enough to justify effort to unify it

tests/e2e/test_runner.go Show resolved Hide resolved
@bermuell bermuell force-pushed the bernd/1559-compatibility-tests branch 5 times, most recently from 894e591 to f15cde8 Compare February 27, 2024 13:26
@bermuell bermuell force-pushed the bernd/1559-compatibility-tests branch from c882f59 to 0760c47 Compare February 28, 2024 12:45
Copy link
Contributor

@p-offtermatt p-offtermatt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for addressing the comments.

I think this would benefit from having someone who is more involved in the release process take a look. I am slightly concerned this introduces a lot of changes when we release a new version, but I don't really have the experience to say.
@MSalopek @mpoke I think one of you should probably have a look

@mpoke
Copy link
Contributor

mpoke commented Feb 28, 2024

I am slightly concerned this introduces a lot of changes when we release a new version, but I don't really have the experience to say.

@p-offtermatt This PR doesn't modify any production code, thus it doesn't affect the release process.

@MSalopek
Copy link
Contributor

LGTM, thanks for addressing the comments.

I think this would benefit from having someone who is more involved in the release process take a look. I am slightly concerned this introduces a lot of changes when we release a new version, but I don't really have the experience to say. @MSalopek @mpoke I think one of you should probably have a look

It does not affect releasing. There could be further changes for later versions and we may need to revisit the compatility matrix (some versions will not be complatible because of test initialization, differenc CLI comands used etc.)

@p-offtermatt
Copy link
Contributor

LGTM, thanks for addressing the comments.
I think this would benefit from having someone who is more involved in the release process take a look. I am slightly concerned this introduces a lot of changes when we release a new version, but I don't really have the experience to say. @MSalopek @mpoke I think one of you should probably have a look

It does not affect releasing. There could be further changes for later versions and we may need to revisit the compatility matrix (some versions will not be complatible because of test initialization, differenc CLI comands used etc.)

Yeah, the points you made are what I was wondering about, not the release process itself, probably didn't express that clearly.

@bermuell bermuell added this pull request to the merge queue Feb 29, 2024
Merged via the queue into main with commit 6ca97e8 Feb 29, 2024
18 checks passed
@bermuell bermuell deleted the bernd/1559-compatibility-tests branch February 29, 2024 09:33
insumity pushed a commit that referenced this pull request Mar 11, 2024
* Infra for compatibility tests

* Dockerfile fix for hermes

* cleanup

fix gosec + refactor

* adapt actions to target

* Cleanup docker files

* log cleanup

* addressed comments

* fix image cleanup

* addressed PR comments

* some more gosec fixes

* ignore errors when trying to remove non-existing containers

* updated e2e README

* addressed remaining linter warning + caching & worktree improvement

* docker image: use cometmock from provider image

* fix testscript path

* Addressed comments from @sainoe

* Added compatibility tests

* Added support using images from GH registry. Added version dependent config

* Added test report + fixes

* nit

* addressed gosec issues + nit

* try Makefile fix

* Fix makefile

* Addressed comments

* added comment for transform parameter identification
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C:Build Assigned automatically by the PR labeler C:CI Assigned automatically by the PR labeler C:Testing Assigned automatically by the PR labeler
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

Support backward compatiblity checks in e2e testing
4 participants