-
Notifications
You must be signed in to change notification settings - Fork 363
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
fix: support homebrew/linuxbrew (AppleClang, GCC 11) #3613
Conversation
fc771cb
to
f7d45d9
Compare
Open to opinions on how to do permissions better, that was a mess. :) This is now showing the current linux failure. I'll make a patch to fix next. |
7f68f72
to
c6848ac
Compare
Commit moved to description. |
Hi, sorry for the late reply. Would it be equivalent to add the AppleClang compiler to the already existing OSX job(s)? I think this would be simpler than setting up a new job from scratch. |
This is for LinuxBrew, I didn't set up AppleClang at all in this PR (though I did include a fix for AppleClang, the other two fixes are for GCC 11.4 for LinuxBrew). I think this is the simplest way to add a quick LinuxBrew test. I could take a stab at adding AppleClang. |
(BTW, I'm calling brew on linux LinuxBrew, because that's what it used to be called, though I think these days it's just "brew on linux" as it now has first-class support.) |
d878a4d
to
971570a
Compare
FYI, it looks like C++17 is requested but 20 is required:
|
179a32f
to
141a102
Compare
I think adding it as a new job is still much simpler, even for homebrew. I've added homebrew too, and fixed one more mistake. |
This patch (adapted to 2.0.3) fixes brew: Homebrew/homebrew-core#195371 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for this PR, @henryiii.
Like @JohanMabille mentioned, I think we would welcome changes to the codebase to make micromamba distributable on more platform, but I do not think we can maintain another workflow (at least for now) given our priorities and constraints.
Hence I would discard the changes this PR makes to .github/workflows/
, so rebasing onto or merging main
should resolve it.
Also, #3611 should have fixed the problem raised in #3613 (comment).
@@ -20,6 +20,7 @@ find_package(Libsolv REQUIRED) | |||
|
|||
if(BUILD_SHARED) | |||
set(LIBSOLV_DEPS solv::libsolv solv::libsolvext) | |||
set_target_properties(solv-cpp PROPERTIES POSITION_INDEPENDENT_CODE ON) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unrelated: I think we better use PIC for all targets when BUILD_SHARED
is set.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was the only one that complained, so the only one I fixed.
141a102
to
2f8270b
Compare
I was specifically asked to add this:
It caught multiple mistakes that the current tests didn't catch, and is shorter than the existing tests (4 and 5 minutes, while other jobs take 9+ minutes. #3578 takes 19 minutes), and even just found new mistakes introduced in #3611, so I think it is valuable - otherwise, I'm going to have to come back every release and make patches, which I don't wan to do. It's also much shorter than the existing workflows (5 mins). What about making it only run under certain circumstances, like if a tag is present or manually triggered? This is the only test with AppleClang and the only test with GCC 11.4. (I've reversed the order of the commits, and will pull this out into a separate PR so it can be a separate choice and not hold up bug fixes). |
Signed-off-by: Henry Schreiner <[email protected]>
2f8270b
to
c34514e
Compare
Tests passing (the new ones, that is), so will pull the CI change off to separate PR. |
c34514e
to
27c7117
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM given 🟢 CI checks.
I should have been clearer and have said that additions of or to workflows can be considered. Ideally we should extend the existing one, but let's discuss this in another Pull Request.
Thank you for your comprehension, @henryiii.
Adding it to the existing workflows added far more time due to parametrization and extra testing, and was much more complex than a simple extra workflow. It also couldn't catch certain problems, like the missing include. Even just swapping Clang for AppleClang was complicated due to the presets forcing every environment variable to be set |
Ok, sorry for the confusion, I tought this was added to have a mean to test it on AppleClang (only), since HomeBrew uses it, and that testing AppleClang on OSX would have been equivalent (and simpler to set). Since this is testing more toolchains and catches more bugs, I agree it is valuable. |
This should detect the Linux failure discussed in #3495. Ref #3578.
This contains
threefourfive fixes:platform_list
/channel_list
is expanded explicitly.LibArchive::LibArchive
target instead-Werror
compiler flag for GCC, Clang and AppleClang #3611 broke GCC < 13 support. Restored (at least to GCC 11).