Gentoo Archives: gentoo-alt

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

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

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