generated from oracle/template-repo
-
Notifications
You must be signed in to change notification settings - Fork 17
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
[v1] CI Improvements #129
Merged
brenns10
merged 15 commits into
oracle-samples:stable/v1
from
brenns10:v1/remove_coverage
Nov 21, 2024
Merged
[v1] CI Improvements #129
brenns10
merged 15 commits into
oracle-samples:stable/v1
from
brenns10:v1/remove_coverage
Nov 21, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The Gitlab CI tests have intermittently failed for vmcore tests due to race conditions with the parallel execution for coverage. The fact of the matter is that the coverage information is not currently reported by any of our CI tests, and no developers use it locally. It's just more trouble than it's worth, so remove it. Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
Using "python3" runs the risk of a different python version getting used. The whole point of testing/rpm.py is to run *within* the current Python environment, so use sys.executable to make that certain. Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
There have been many releases since the annotated ones. It should be fine to unpin now. Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
Currently the only CTF-related tests for CI are the ones which run against vmcores. The heavyvm tests can easily support CTF, so run it. It should not add enough time to cause any issues with CI. Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
The CTF data for UEK4 is fully broken; we cannot support it. Skip running live tests for UEK4 CTF. Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
The test suite name was being reported as "CTF" only if the tests were run against vmcores. With heavyvm (and possibly litevm) tests running against CTF, this means that the XML test reports no longer contain the correct debuginfo in their name. Live tests also simply report "live" which makes it very difficult to understand which test suite is for which version. Report the uname in this case, which includes both UEK and OL version, though it's not as nice as simply saying "OLX UEKY". Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
The value proposition of tox is allowing you to run your tests against a lot of different Python versions at the same time. It can be really useful, but honestly it hasn't been helpful in drgn-tools. We typically only have one (maybe two) Python versions available, and frequently we can only run tests against one anyway. Testing multiple Python versions is done in Github CI, but tricking tox into only running tests for one version is actually a pain! All told, it's caused more pain than gain, so let's do away with it in testing. The tox.ini still exists and is used for generating docs, but we can eliminate that smaller issue in a subsequent commit. Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
This is a totally unnecessary dependency. We only need to have one operation: concatenating two test results. Thankfully, that can be done directly with the python XML support. Drop the dependency. Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
The coverage option has been removed from the rest of the tests. It looks like the xml option was simply never implemented. Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
It got broken by the removal of tox. It also needs to handle CTF in the same run for some cases too. Fix it all up. Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
Pre-authenticated requests allow a user to download and upload files to OCI Object Storage without needing to have a full OCI SDK and API key setup. More importantly, they can do it without sharing somebody's API keys. They are a great way to grant tightly scoped access to a shared bucket or bucket prefix, for things like vmcore storage in a shared environment. Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
The testing.vmcore system requires the OCI SDK to be installed, which has its own dependencies. Mostly, this is due to the management system relying on OCI Object Storage, but also we require the "rich" library for progress bars. It really doesn't make sense to have extra third-party dependencies required for testing. They add runtime during CI, there are security questions, and it is more confusing for developers. Further, using the OCI SDK for Object Storage requires a full set of OCI API keys, which is not really suitable for shared systems. So this commit does two things: first, it splits testing.vmcore into two sub-components: testing.vmcore.test and testing.vmcore.manage. The former actually runs the tests, and the latter manages vmcores. The second task is to migrate vmcore management from the OCI SDK to the parlib tool introduced in the previous commit. This drops several dependencies. Further, we drop the rich dependency, resulting in a very minimal testing script with no more dependencies than necessary. Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
The RPM and vmcore test runners omitted the "tests" directoy. This meant that pytest was searching the entire working directory for tests. This is fine in CI tests, because there isn't much extra data in the git checkout. But for local/developer test runs, this is a problem, because the "testdata" directory contains lots of extra data, including extracted RPMs which have some python code. This causes errors when pytest attempts to collect and run tests from those files. The heavyvm and litevm tests already provide the tests/ directory as a command line argument. Orabug: 37307171 Signed-off-by: Stephen Brennan <[email protected]>
oracle-contributor-agreement
bot
added
the
OCA Verified
All contributors have signed the Oracle Contributor Agreement.
label
Nov 21, 2024
biger410
approved these changes
Nov 21, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the v1.x backport for #125. It was a clean cherry-pick, the only changes were to the commit bodies to update the Orabug statement.
While it's a large collection of commits, it's necessary to keep the CI systems in-sync between the v1 branch and the development branch. The only change that actually gets deployed in the RPM is the 4 line diff of
drgn_tools/debuginfo.py
which marks CTF as unusable for UEK 4.