Skip to content

Add github ci for alpine and static#295

Closed
thibaultduponchelle wants to merge 1 commit intogearman:masterfrom
thibaultduponchelle:more_ci
Closed

Add github ci for alpine and static#295
thibaultduponchelle wants to merge 1 commit intogearman:masterfrom
thibaultduponchelle:more_ci

Conversation

@thibaultduponchelle
Copy link
Contributor

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
Contributor 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
Contributor 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
Contributor 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
Contributor Author

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

@thibaultduponchelle
Copy link
Contributor 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
Contributor 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