-
Notifications
You must be signed in to change notification settings - Fork 45
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 matrix really big #381
Comments
I really like this idea. Also, should we look at using binaries instead of compiling the whole stack in some scenarios? The simulators might be good targets for that as most of the time is spent building the dependencies. |
Good idea perhaps target or choose what's packaged.
We don't have a lot of options if we use the github runners themselves, as none of them have the deps: But we could reuse our images, but it makes testing the different versions of python harder. |
Perhaps we could use https://github.com/actions/cache for some parts? I'll do some testing |
@whooo I looked at the frequency of versions in repoology: curl https://repology.org/api/v1/project/tpm2-tss > data.json And wrote a script to look at it: It outputs:
So considering that output and this comment below:
I still think this looks good, their could be some argument to moving 3.1.0 to 3.0.3, but perhaps I'm pretty OK with caching. Why do we have PRs #385 and #387 will we need both? |
@williamcroberts, #385 was for testing and for when I looked at why some CI flows where so slow, but it's a bit chaotic so I'm taking out the relevant parts and adding them to #387 (as well as #386 ). I'm good with dropping 3.0.3, I think that keeping track of whatever version is in the latest Ubuntu LTS release will be enough as it's probably what most people use. We could always setup a CI job that only uses packages from the latest GH Ubuntu image. |
The ci matrix is exploding in size, thus prune the tested version to minimize the matrix. Drop: - 2.4.6 - 3.0.0 - 3.0.3 Add: - 3.2.0 We add 3.2.0 as it's most recent and repology.org has it as the most popular packaged version at 71 hits and contains a lot of the backport fixes on older versions. We check version numbers in the Python code. We keep 2.4.0 as it's the minimum supported version. We keep 3.1.0 as it checks that major release and misses a lot of the backport fixes. Fixes: tpm2-software#381 Signed-off-by: William Roberts <[email protected]>
The ci matrix is exploding in size, thus prune the tested version to minimize the matrix. Drop: - 2.4.6 - 3.0.0 - 3.0.3 Add: - 3.2.0 We add 3.2.0 as it's most recent and repology.org has it as the most popular packaged version at 71 hits and contains a lot of the backport fixes on older versions. We check version numbers in the Python code. We keep 2.4.0 as it's the minimum supported version. We keep 3.1.0 as it checks that major release and misses a lot of the backport fixes. Fixes: tpm2-software#381 Signed-off-by: William Roberts <[email protected]>
@whooo our test matrix is super big, 31 jobs on the test matrix (5x6+1). It seems now it's causing things to hang in the CI. I'm looking at things to pair down the matrix.
Considering the python versions, we have 3.7, 3.8, 3.9, 3.10 and 3.11 which are all currently supported according to:
Considering tss2 versions: 'master', '2.4.0', '2.4.6', '3.0.0', '3.0.3', '3.1.0'. I want to keep master and oldest officially supported version of 2.4.0.
Looking at is_bug_fixed and _check_bug_fixed, it seems things are:
I am thinking we drop:
But add 3.2. So the final tss list would look like:
'master', '2.4.0', '3.1.0', '3.2.0'
master keeps us checking on current.
2.4.0 keeps our min version sane.
3.1.0 checks the major release and misses a backport fix
3.2.0 checks the most recent release
So we would get back down ro 5x4+1, 21 tests?
Thoughts on my sanity here?
The text was updated successfully, but these errors were encountered: