Gentoo Archives: gentoo-alt

From: Sam Pfeiffer <sammypfeiffer@×××××.com>
To: gentoo-alt@l.g.o
Subject: Re: [gentoo-alt] Re: 'Continuous Integration' for Gentoo Prefix?
Date: Mon, 03 Dec 2018 10:48:32
Message-Id: CABVqfw_4erZ_oWxDEc99sN2RAy-k-qjuHLUR7-QHH4d5zsXrRA@mail.gmail.com
In Reply to: [gentoo-alt] Re: 'Continuous Integration' for Gentoo Prefix? by Michael Haubenwallner
1 Hello,
2
3 Just wanted to update you up to where I got.
4
5 Now I have two working repositories:
6 * https://github.com/awesomebytes/gentoo_prefix_ci
7 * https://github.com/awesomebytes/gentoo_prefix_ci_32b
8
9 They have continuous integration setup with Azure pipelines where every
10 night they will try to bootstrap Gentoo Prefix on amd64 and x86 using
11 Docker images.
12
13 As the READMEs state, this is currently done in 3 steps. This is done for
14 two reasons. First, the 6h limit of one job running. Secondly, to be able
15 to have intermediate state Docker images to maybe try to fix the current
16 issues bootstrapping Gentoo Prefix in a more elegant way.
17
18 Using as an example the amd64 build:
19
20 On the releases section:
21 https://github.com/awesomebytes/gentoo_prefix_ci_32b/releases one can find
22 .tar.gz files with the latest (currently done by hand, I'll automate that
23 soon on successful builds) Gentoo Prefix that bootstrapped. It's
24 bootstrapped in /tmp/gentoo and explained how to use it as I explained in
25 this email thread before.
26
27 On the builds page:
28 https://dev.azure.com/12719821/12719821/_build?definitionId=2 one can find
29 the full logs of every step.
30
31 This fulfils my immediate needs, now I'll need to spend some time doing
32 something similar to emerge all the stuff I need for ros_overlay
33 <https://github.com/ros/ros-overlay> and offer a binary repo. But I'm open
34 to talk about what I did, improve it, maybe move it somewhere else... You
35 let me know!
36
37 P.S.: Most of the work, if not all, is documented in bug #668940
38 <https://bugs.gentoo.org/668940> and more detailed and in order in this
39 notepad originally from Olivier Huber
40 <https://pad.crans.org/p/gentoo-prefix>.
41 P.S.2: The help I got from the people in the IRC at #gentoo-prefix was
42 great.
43
44
45 On Tue, Nov 27, 2018 at 8:21 PM Michael Haubenwallner <haubi@g.o>
46 wrote:
47
48 > On 11/27/2018 09:37 AM, Sam Pfeiffer wrote:
49 > > On Tue, Nov 27, 2018 at 7:20 PM Fabian Groffen <grobian@g.o
50 > <mailto:grobian@g.o>> wrote:
51 > >
52 > > > I don't want to depress this entire discussion, but it would be really
53 > > > nice if we could somehow interact with special machines people have at
54 > > > their company or at home. Prefix needs testing on many different
55 > > > machines (non-Linux) which usually don't exist in docker images.
56 >
57 > I second this - and let me add a further aspect here:
58 > What I know from buildbot setup is that the master does provide (mostly
59 > shell)
60 > commands to be executed on the slave. This is fine as long as there is
61 > limited
62 > visibility for the master. But when a public buildbot master is being
63 > hijacked,
64 > it feels too easy to execute malicious commands even on the slave machines.
65 >
66 > So over a buildbot like setup, I would prefer a Jenkins like setup, where
67 > the
68 > master does provide only trigger information to slaves. And even more
69 > appealing
70 > would be a standalone slave setup, where the master does just receive the
71 > build
72 > logs for the public, without access to slave machines at all.
73 >
74 > > That's alright, we can use QEMU for some more esoteric hardware
75 > platforms,> if it's an OS that runs on a normal amd64/x86 computer a Docker
76 > image can be
77 > > built (I'm not an expert but there are images to learn how to do it).>
78 > Or in the worst case we can create an old-school VM for those weird OS
79 > > and automate the interaction with it (I did it for a robot by dumping all
80 > > disk once and creating a VM from it, it worked ok).
81 >
82 > Well... there's a bunch of OSs I fail to imagine the use of cloud driven
83 > hardware for them, like hppa-hpux or ia64-hpux for past ones, and ppc-aix,
84 > ppc-macos, sparc-solaris, arm-linux or m68k-mint for current ones.
85 >
86 > > > That said, focussing on the (usually fast) boxes like this to catch
87 > > > dependency problems and more is useful. In the case below it looks
88 > like
89 > > > the ld-wrapper is having issues. Would it be possible to enter the
90 > > > environment for that failed run?
91 > >
92 > > Glad you see the use of it :) Yeah as I mentioned in the previous mail,
93 > > having docker installed in your machine, to access that exact environment
94 > > after the failed bootstrap just do:
95 > >
96 > > # This will download the image to your machine (it may take a bit of
97 > time if its the first time you use docker its around 1GB of data I think)
98 > > docker pull awesomebytes/gentoo_prefix_latest_image
99 > > # This will drop you into a shell in that environment, ready to play!
100 > > docker run -it awesomebytes/gentoo_prefix_latest_image /bin/bash
101 > >
102 > > When you are done you can just type exit.
103 >
104 > Nevertheless, having the breaking environment as a docker image where
105 > possible (true for the major OSs we support) really is awesome!
106 >
107 > /haubi/
108 >
109 >
110
111 --
112
113 *Sammy Pfeiffer*
114 PhD Candidate at The Magic Lab within UTS.

Replies

Subject Author
Re: [gentoo-alt] Re: 'Continuous Integration' for Gentoo Prefix? Fabian Groffen <grobian@g.o>