Gentoo Archives: gentoo-alt

From: Sam Pfeiffer <sammypfeiffer@×××××.com>
To: gentoo-alt@l.g.o
Subject: Re: [gentoo-alt] 'Continuous Integration' for Gentoo Prefix?
Date: Mon, 26 Nov 2018 15:07:23
Message-Id: CABVqfw-ctRCRqZpcxQ_BhkMz3w=G9CeyiB4cyLcUB4ert11xUw@mail.gmail.com
In Reply to: Re: [gentoo-alt] 'Continuous Integration' for Gentoo Prefix? by Sam Pfeiffer
1 Little update: The full build log is viewable to anyone with the link, so
2 here you can see the progress of the current job:
3
4 https://dev.azure.com/12719821/12719821/_build/results?buildId=17&view=logs
5
6 (Or I should say, the log of it, for whenever you open the link).
7
8
9 On Tue, Nov 27, 2018 at 2:02 AM Sam Pfeiffer <sammypfeiffer@×××××.com>
10 wrote:
11
12 > Hello everyone,
13 >
14 > I'm very excited to see you are interested in adding continuous
15 > integration!
16 >
17 > I don't know that much about continuous integration, I've only used it
18 > (with systems already setup for me) with in-house Jenkins servers and with
19 > the ROS buildfarm, based on Travis CI on Github. Also a little bit of
20 > Gitlab CI in my lab.
21 >
22 > I did a bit of research/testing.
23 >
24 > Given it's quite a hassle to maintain custom machines, I'd try to use some
25 > of the free for opensource CI services. I've checked the conditions of a
26 > few to see which could fit better:
27 >
28 > * Gitlab CI: 2000 minutes / month
29 > * Travis CI: Unlimited minutes / month. But only 50 minutes long per step
30 > (like per script executed).
31 > * Azure pipelines: Unlimited minutes / month. 360 minutes long per step
32 > (like per script executed).
33 >
34 > There are probably many more, but those are the ones I knew about.
35 >
36 > Given that I wanted to give a try to Azure pipelines. And I did!
37 >
38 > I created this repo: https://github.com/awesomebytes/gentoo_prefix_ci_test
39 >
40 > Where I activated Azure pipelines on it. After around 15min of reading the
41 > docs and playing around with the web-gui I got my first pipeline running.
42 >
43 > As an initial setup I thought I would create a Docker image where I
44 > bootstrap Gentoo Prefix from a Ubuntu 16.04 (as I'm familiar with it with
45 > my projects).
46 >
47 > The repo contains two important things:
48 > 1) The Dockerfile where I mainly trigger the bootstrap:
49 > https://github.com/awesomebytes/gentoo_prefix_ci_test/blob/master/Dockerfile
50 > 2) The configuration file for Azure pipelines on what to do:
51 > https://github.com/awesomebytes/gentoo_prefix_ci_test/blob/master/azure-pipelines.yml
52 >
53 > I've implemented here that it tries to build Gentoo Prefix, and whatever
54 > the result, it uploads a Docker image to my DockerHub account with the
55 > results. This implies that:
56 > If the bootstrap is successful, one can just [docker pull] and [docker
57 > run] the image to play with Gentoo Prefix.
58 > If the bootstrap is unsuccessful, one can just [docker pull] and [docker
59 > run] to find oneself in the exact state of the system after the bootstrap
60 > command. And one can recover the full console log from the Azure pipelines
61 > web interface (even tho it would be nice to find out how to post it
62 > publicly straight away).
63 >
64 > If all goes well in a few hours anyone will be able to find in my
65 > DockerHub account said image (most probably the failed one), just doing:
66 > docker pull awesomebytes/gentoo_prefix_latest_image:latest
67 > docker run -it gentoo_prefix_latest_image /bin/bash
68 > You'll be inside of a Ubuntu 16.04 box with a user called 'user' and with
69 > all the bootstrapped stuff in /tmp/gentoo.
70 >
71 > As curiosity, I checked the machines I got served as 'agents' to run my
72 > jobs, and they were of the kind:
73 >
74 > CPUs: 2x Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz
75 > RAM: 7GB
76 > Disk: 94GB free disk space
77 >
78 > More than enough to bootstrap Gentoo Prefix!
79 >
80 > I don't know if this is the way to go. But at least is interesting to have
81 > it in mind.
82 >
83 >
84 > On Tue, Nov 27, 2018 at 12:01 AM Benda Xu <heroxbd@g.o> wrote:
85 >
86 >> Hi Sam,
87 >>
88 >> Sam Pfeiffer <sammypfeiffer@×××××.com> writes:
89 >>
90 >> > With Azure announcing unlimited minutes on CI/CD for open source
91 >> > projects:
92 >> >
93 >> https://azure.microsoft.com/en-us/blog/announcing-azure-pipelines-with-unlimited-ci-cd-minutes-for-open-source/
94 >> >
95 >> > Even bootstrapping Gentoo prefix, with pieces of software like gcc
96 >> > taking very long to compile, is possible.
97 >> >
98 >> > The point is: I have been trying to build Gentoo Prefix during the
99 >> > last days after a few months of break since the last time I touched
100 >> > the system. And it's failing. I haven't managed yet to bootstrap it
101 >> > completely. I feel there is no CI/CD setup to catch these issues and
102 >> > be able to offer a working version of Gentoo Prefix at any time.
103 >>
104 >> I completely agree with you. I hope you can carry on this project to
105 >> setup proper CI for Gentoo Prefix. I am all in for help, portage/ebuild
106 >> mentoring and coorperation.
107 >>
108 >> A CI for Gentoo Prefix has been on my list for ages. Thank you for
109 >> triggering this.
110 >>
111 >> Yours,
112 >> Benda
113 >>
114 >>
115 >
116 > --
117 >
118 > *Sammy Pfeiffer*
119 > PhD Candidate at The Magic Lab within UTS.
120 >
121
122
123 --
124
125 *Sammy Pfeiffer*
126 PhD Candidate at The Magic Lab within UTS.

Replies

Subject Author
Re: [gentoo-alt] 'Continuous Integration' for Gentoo Prefix? Sam Pfeiffer <sammypfeiffer@×××××.com>