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. |