-
Notifications
You must be signed in to change notification settings - Fork 78
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
CI: Ensure finding no pattern match results in an empty string #263
Conversation
If no pattern match is found, which we expect for Qt x86 builds, then return an empty string by enabling the nullglob option. Additionally, add quotes for paths for safety and fix the for loop array syntax.
As a separate, but related, matter, there is an additional question about what this pattern's intent is: files=("${GITHUB_WORKSPACE}"/qt6-windows-"${arch}"-!(*-@(Debug|RelWithDebInfo|Release|MinSizeRel))/*.zip) As it is, this cannot exclude any of the Qt6 artifacts, and thus will include all of them, because their name pattern is:
or:
Notably, this part of the pattern:
Can never match/exclude any such paths, because there are never two If the intent was to only grab the combined artifact for a release and the PDBs, then it should be: files=(qt6-windows-"${arch}"-!(Debug-*|RelWithDebInfo-*|Release-*|MinSizeRel-*)/*.zip) If there's some other intent, I don't recall it. In any case, we've been shipping all four of the Qt artifacts (the one we actually build with, PDBs, Debug, and RelWithDebInfo) with releases since last June, so I suppose there's no urgent need to "fix" the pattern. We can reconsider its purpose some other time. |
The correct variant seems to be IIRC this might have been an oversight after the order of commit id and config was possibly switched. So we need to exclude any file that contains the config after the architecture and specifically has the commit hash added to the back of that. |
This pattern seems to achieve the same effect as the one I provided, but is a bit clearer in purpose.
Correct, though the artifact filename pattern has been that way for over a year (since this glob pattern was introduced), judging by release assets. |
I guess that might be because shipping more files than necessary did not break any builds and just increased the download size. |
It didn't increase the download size for what the obs-studio CMake downloads, because they are separate assets. The obs-studio CMake only downloads In any case, I'll deal with that separately, perhaps today or tomorrow. |
Description
If no pattern match is found, which we expect for Qt x86 builds, then return an empty string by enabling the nullglob option.
Additionally, add quotes for paths for safety and fix the for loop array syntax.
Motivation and Context
To appease CI.
How Has This Been Tested?
Test locally more thoroughly.
Types of changes
Checklist: