Gentoo Archives: gentoo-alt

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