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

Add github ci for alpine and static #295

Closed
wants to merge 1 commit into from
Closed

Add github ci for alpine and static #295

wants to merge 1 commit into from

Conversation

thibaultduponchelle
Copy link

Hello,

Some new CI jobs so it could alert quickly if a commit breaks a different libc or a different linking method.

Could be nice to have a macos job also, but I got various non trivial errors when I tried... that's why it's not part of this PR 😁
Feel free to reimplement in travis if you prefer, but to my eyes it looked like more like a big compiler variants and versions check and I felt not comfortable to add it to travis.

Regards.

Thibault

@thibaultduponchelle
Copy link
Author

thibaultduponchelle commented Aug 1, 2020

I just seen the 2 issues #293 and #291 and now I feel like a bit like if I "cross-posted" 🤣

FYI, my CI tests are here : https://github.com/thibaultduponchelle/gm/actions
(I created a new repo, not sure how to test github ci on a fork)

Static and alpine are green today and one week ago.

Concerning macos, last error that I have is :

CXX      libtest/libtest_la-cmdline.lo
In file included from bin/gearadmin.cc:84:
In file included from /usr/local/include/boost/program_options.hpp:15:
In file included from /usr/local/include/boost/program_options/options_description.hpp:13:
In file included from /usr/local/include/boost/program_options/value_semantic.hpp:12:
In file included from /usr/local/include/boost/any.hpp:20:
In file included from /usr/local/include/boost/type_index.hpp:29:
In file included from /usr/local/include/boost/type_index/stl_type_index.hpp:47:
In file included from /usr/local/include/boost/container_hash/hash.hpp:24:
In file included from /usr/local/include/boost/type_traits/is_enum.hpp:14:
In file included from /usr/local/include/boost/type_traits/intrinsics.hpp:16:
/usr/local/include/boost/type_traits/detail/config.hpp:85:52: error: '__clang_major___WORKAROUND_GUARD' is not defined, evaluates to 0 [-Werror,-Wundef]
      && !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && !BOOST_WORKAROUND(__clang_major__, <= 4)
                                                   ^
/usr/local/include/boost/config/workaround.hpp:246:10: note: expanded from macro 'BOOST_WORKAROUND'
       ((symbol ## _WORKAROUND_GUARD + 0 == 0) &&     \
         ^
<scratch space>:71:1: note: expanded from here
__clang_major___WORKAROUND_GUARD
^
  CXX      libtest/libtest_la-collection.lo
1 error generated.
make[2]: *** [bin/gearadmin.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Compilation was OK when we were using the release tarball instead sources.

Copy link
Collaborator

@p-alik p-alik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!
Just a thought:
Travis CI runs make test.
Maybe Github CI should run test also.

Copy link
Member

@esabol esabol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I personally would prefer to keep everything in Travis CI. Spreading things around to other CIs just seems like more things to check to me.

But I could probably be persuaded if everyone else thinks it's a good idea....

@esabol
Copy link
Member

esabol commented Aug 1, 2020

Also, these builds should be configured with --enable-ssl. All our Travis CI builds do that. Better code coverage.

@esabol
Copy link
Member

esabol commented Aug 1, 2020

That macOS bootstrapping issue is annoying. It's apparently a bug in the boostlib headers. I found some discussion and a possible workaround here:

boostorg/config#322

@p-alik
Copy link
Collaborator

p-alik commented Aug 2, 2020

I personally would prefer to keep everything in Travis CI. Spreading things around to other CIs just seems like more things to check to me.

But I could probably be persuaded if everyone else thinks it's a good idea....

Github Actions (GA) CI gives us a comfortable possibility to run tests in docker containers. If I would setup CI tests this days, I would prefer GA.

@esabol
Copy link
Member

esabol commented Aug 2, 2020

Github Actions (GA) CI gives us a comfortable possibility to run tests in docker containers. If I would setup CI tests this days, I would prefer GA.

But you can do Docker containers in Travis CI, so what’s there to gain by doing a hodgepodge of both?

@p-alik
Copy link
Collaborator

p-alik commented Aug 2, 2020

That macOS bootstrapping issue is annoying. It's apparently a bug in the boostlib headers. I found some discussion and a possible workaround here:

boostorg/config#322

Could anyone try to run MacOS build with current ax_compiler_version.m4, please?

@p-alik
Copy link
Collaborator

p-alik commented Aug 2, 2020

But you can do Docker containers in Travis CI, so what’s there to gain by doing a hodgepodge of both?

I haven't any experiences with Docker setup in Travis CI and obviously I got a wrong deduction from your comment here.

@thibaultduponchelle
Copy link
Author

Hello,

You are right and I agree with you.

There is no good reason to use GA instead Travis.

I’m actually pushing for the idea of adding alpine/static/macOS ci but I’m not pushing for an implementation.

I will maybe try to implement in Travis but can’t promise it 😄

@thibaultduponchelle
Copy link
Author

I looked at travis and seems like it does not support natively docker (still feasible with service: docker then running docker pull, docker run but we can't just give a container: alpine).

Then... I skip my turn for this task and I will decline this PR 😄 to leave it to someone bolder than me 😀

@esabol
Copy link
Member

esabol commented Aug 2, 2020

I looked at travis and seems like it does not support natively docker (still feasible with service: docker then running docker pull, docker run but we can't just give a container: alpine).

Sorry, why does that matter?

Here’s an example that uses the alpine Docker image in Travis CI:
https://medium.com/@russleyshaw/how-to-use-travis-ci-380c96c9a639

@p-alik
Copy link
Collaborator

p-alik commented Aug 7, 2020

FYI, my CI tests are here : https://github.com/thibaultduponchelle/gm/actions

@thibaultduponchelle, it looks like the repository has been removed from github. I'm looking for your github action setup for MacOS. Could you share this part of code, please?

@thibaultduponchelle
Copy link
Author

Ah sorry I have it locally I think, will upload it that in a couple of hours

@thibaultduponchelle
Copy link
Author

Sorry, even locally I only have alpine.yml and static.yml :/

@p-alik
Copy link
Collaborator

p-alik commented Aug 7, 2020

I would appreciate, if you could share both of them. I guess MacOS customization is feasible.

@thibaultduponchelle
Copy link
Author

They are still viewable in this PR or I uploaded them here : alpine and static

@p-alik
Copy link
Collaborator

p-alik commented Aug 7, 2020

Thank you, @thibaultduponchelle. I've cloned your master branch.

@p-alik
Copy link
Collaborator

p-alik commented Aug 9, 2020

That macOS bootstrapping issue is annoying. It's apparently a bug in the boostlib headers. I found some discussion and a possible workaround here:
boostorg/config#322

By solving the bootstrapping issue, we'll run in an other once or more.

Could anyone try to run MacOS build with current ax_compiler_version.m4, please?

An update ax_compiler_version.m4 by serial 9 doesn't help.

@esabol
Copy link
Member

esabol commented Aug 10, 2020

May I suggest moving discussion of macOS bootstrapping problems to issue #291?

@p-alik p-alik mentioned this pull request Aug 10, 2020
@p-alik p-alik mentioned this pull request Aug 28, 2020
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