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

Reorder PR and Mainline in Regression Test Runner #4720

Merged
merged 4 commits into from
Aug 21, 2024

Conversation

kaukabrizvi
Copy link
Contributor

Resolved issues:

This PR resolves an issue with the regression test failing in the rust bindings bump: https://github.com/aws/s2n-tls/actions/runs/10476995419/job/29017133119?pr=4719.

Description of changes:

Currently, the CI workflow runs performance tests on the pull request branch before running them on the mainline branch, which might lead to potential inconsistencies in the test results, especially when generating diffs. There was an issue with the version mismatch for the s2n-tls-sys dependency, where the required version 0.3.1 was not available, causing the build to fail. This was because the bindings are not regenerated after switching back to the PR branch from mainline. To avoid this issue from recurring on this bindings bump and future ones, this PR reorders the operations.

This PR addresses these issues by:

  1. Reordering the workflow steps to first switch to the main branch, generate bindings, and run the performance tests on the mainline branch.

  2. After completing the mainline tests, the workflow checks out the PR branch, regenerates bindings, and runs the performance tests on the PR branch.

  3. Finally, it runs the differential performance test between the mainline and PR branch results.

Call-outs:

Instead of regenerating the bindings for the differential performance test, I reordered the mainline profiling and pull request profiling so that we only have to generate bindings once. The first git checkout step in the original workflow is used to ensure that the workflow starts by working with the code from the pull request branch. This is necessary because the GitHub Actions runner starts in a detached state, and the workflow needs to explicitly check out the pull request's code to work with it.

Testing:

How is this change tested (unit tests, fuzz tests, etc.)? Are there any testing steps to be verified by the reviewer?

Is this a refactor change? If so, how have you proved that the intended behavior hasn't changed?

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@kaukabrizvi kaukabrizvi marked this pull request as ready for review August 20, 2024 19:08
@dougch dougch self-requested a review August 20, 2024 19:27
.github/workflows/regression_ci.yml Outdated Show resolved Hide resolved
@jmayclin jmayclin merged commit f7a27d4 into aws:main Aug 21, 2024
36 checks passed
@kaukabrizvi kaukabrizvi deleted the resumption_harness branch August 21, 2024 20:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants