From: Sam Pfeiffer <sammypfeiffer@gmail.com>
To: Michael Haubenwallner <haubi@gentoo.org>
Cc: gentoo-alt@lists.gentoo.org
Subject: [gentoo-alt] Re: 'Continuous Integration' for Gentoo Prefix?
Date: Mon, 1 Apr 2019 11:25:03 +1100 [thread overview]
Message-ID: <CABVqfw_+gKuK9VKTiMPcT2GH8rC1wkBPOThZGn3K5Wm9DbMR_A@mail.gmail.com> (raw)
In-Reply-To: <9c7287f0-ece5-caef-1d03-4b6537d48572@gentoo.org>
[-- Attachment #1: Type: text/plain, Size: 7117 bytes --]
Hello,
I just wanted to say I'm very happy to see this project advancing and that
you found my work useful :) I've been offline for quite a while and it has
been great to find all this activity!
On Mon, Mar 18, 2019 at 11:53 PM Michael Haubenwallner <haubi@gentoo.org>
wrote:
> Hi,
>
> based on Sammy's work I've set up another Azure build matrix behind a nice
> url:
> https://dev.azure.com/gentoo-prefix/ci-builds/_build
>
> This does bootstrap Gentoo Prefix (using self hosted Windows Server
> build agents for the long running Cygwin builds) in all these setups:
>
> ---------------------+---------------+---------------+
> | Prefix | RAP |
> 64bit OS | 64bit | 32bit | 64bit | 32bit |
> ---------------------+-------+-------+-------+-------+
> Fedora current | yes | yes | yes | yes |
> Fedora 28 | yes | yes | yes | yes |
> OpenSUSE current | yes | yes | yes | yes |
> Ubuntu current | - | - | yes | yes |
> Ubuntu 16.04 | - | - | yes | yes |
> MacOS current | yes | - | - | - |
> Cygwin Server 2012R2 | yes | - | - | - |
> Cygwin Server 2016 | yes | - | - | - |
> Cygwin Server 2019 | yes | - | - | - |
> ---------------------+-------+-------+-------+-------+
>
> One Cygwin agent on Windows Server 2019 also does submit results to
> http://bootstrap.prefix.bitzolder.nl/results/
>
> Uploading docker images with bootstrapped /tmp/gentoo Prefix I'm happy
> to leave up to Sammy's jobs still.
>
> Thanks!
> /haubi/
>
> On 11/26/18 5:02 AM, Sam Pfeiffer wrote:
> > Hello,
> >
> > First, let me apologise if I have any wrong preexisting ideas/guesses
> about Gentoo Prefix and how it is developed. Secondly, sorry if this email
> is a bit too long.
> >
> > I'll present myself, explain my use-case and my troubles and tricks, and
> then ask for feedback.
> >
> > Hello, I'm Sammy Pfeiffer. I am a PhD student at University of
> Technology Sydney. I'm a (software) robotics engineer pursuing my PhD in a
> lab with a bunch of different robots and machine learning setups. I'm using
> Gentoo Prefix for deploying a big bunch of software into robots where the
> OS is old and frozen (and also to deploy in computation farms
> experiments... once again with no option to touch the OS). (The bunch of
> software is ROS, the 'Robotics Operating System' which has a ton of
> dependencies, and there is an existing overlay which I'm helping on
> maintaining and improving (https://github.com/ros/ros-overlay)).
> >
> > I'd like to share the trick I found to overcome a few annoying bits of
> my platforms:
> > * I have no root access in the machines I need to deploy.
> > * The machines don't have Docker installed (too old kernel anyways).
> > * I have 32 bit and 64 bit machines (the OS running in them is).
> > * I have a different username (and home folder) on each machine.
> > * Each machine has a different disk(s)/partition(s) structure (main
> issue here is that I may need to use a different disk to store my data,
> cause of size constrains).
> >
> > The trick to be able to use Gentoo Prefix with all these constraints
> bootstrapping it only once is to set the EPREFIX to /tmp/gentoo.
> > Then you can deploy the full bootstrapped system in any folder/disk and
> just do a softlink to /tmp/gentoo. This works nicely (I was scared of the
> softlink breaking stuff somewhere, but it was alright).
> > The other trick is to bootstrap a 32bit Gentoo Prefix, which can be run
> in any 32b or 64b box (it's not ideal but simplifies my deployment
> currently).
> >
> > Also, having all these machines use the same Gentoo Prefix in the same
> place, with the same 32bit compilation, I can setup a binary package
> server, which all the deployments can point to and just get all the
> packages skipping the long compilation times (specially in very old and low
> powered machines).
> >
> > The final trick I'm experimenting with is to use a set of Docker images
> (and soon in a continuous integration environment) to bootstrap all the
> system. With that I can save snapshot of successfully built systems &
> packages to serve as an easy deployment (and easy installation of extra
> packages thru the binary package server).
> >
> > Given my particular annoyance of the 32bit system (and noting that my
> hosts are 64bits, as is the standard nowadays) I found that I can use
> either:
> > * https://github.com/docker-32bit/ubuntu a 32bit Ubuntu Docker image
> > * https://github.com/gentoo/gentoo-docker-images stage3-x86 32bit
> Gentoo Docker image
> >
> > And then execute the build step of Docker with:
> >
> > setarch i686 docker build -t my_bootstrapping_gentoo_prefix_32b_image .
> >
> > Which will trick any program trying to do uname -m to assume 32bit
> machine. (Previously I used the variable CHOST=i686-pc-linux-gnu for
> bootstrapping, but I found some problems, which didn't appear with this
> method).
> >
> > Once I have all this setup working nicely, I'd like to trigger rebuilds
> every X time, and on changes on main players (or all dependencies actually)
> of my setup, like the bootstrapping of Gentoo Prefix (Ideally, on every
> change of a part of the system just trigger a rebuild from that point on,
> Docker layers make this possible).
> >
> > With Azure announcing unlimited minutes on CI/CD for open source
> projects:
> >
> https://azure.microsoft.com/en-us/blog/announcing-azure-pipelines-with-unlimited-ci-cd-minutes-for-open-source/
> >
> > Even bootstrapping Gentoo prefix, with pieces of software like gcc
> taking very long to compile, is possible.
> >
> > The point is: I have been trying to build Gentoo Prefix during the last
> days after a few months of break since the last time I touched the system.
> And it's failing. I haven't managed yet to bootstrap it completely. I feel
> there is no CI/CD setup to catch these issues and be able to offer a
> working version of Gentoo Prefix at any time.
> >
> > I was going to build it for myself (cause I need it), but instead, I'd
> like to offer my help to build it for the community. At least offer as an
> option ready-to-use /tmp/gentoo EPREFIX'ed built Gentoo Prefix from a
> Docker image, just copy the full folder structure, do the softlink, and you
> are ready to play with Gentoo. If you mess up anything, just re-deploy.
> >
> > To do this I'd need a bit of help as I'm quite new to Gentoo and I tend
> to get blocked on little issues that take a while to google or debug
> (specially with the long compilation times of the bootstrap and some big
> packages).
> >
> > I've posted a short issue in the Docker repo of Gentoo images about this
> (https://github.com/gentoo/gentoo-docker-images/issues/62) but I think
> the maintainers probably don't usually work with Gentoo Prefix.
> >
> > Thank you very much for your time, and for your open source efforts.
> >
> > --
> > *
> > *
> > *Sammy Pfeiffer*
> > PhD Candidate at The Magic Lab within UTS.
>
>
--
*Sammy Pfeiffer*
PhD Candidate at The Magic Lab within UTS.
[-- Attachment #2: Type: text/html, Size: 8930 bytes --]
next prev parent reply other threads:[~2019-04-01 0:25 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-26 4:02 [gentoo-alt] 'Continuous Integration' for Gentoo Prefix? Sam Pfeiffer
2018-11-26 8:11 ` Fabian Groffen
2018-11-26 8:27 ` M. J. Everitt
2018-11-26 8:32 ` Fabian Groffen
2018-11-26 8:38 ` M. J. Everitt
2018-11-26 9:53 ` [gentoo-alt] " Michael Haubenwallner
2019-01-15 17:38 ` Michael Haubenwallner
2019-01-16 1:23 ` Sam Pfeiffer
2019-01-16 12:28 ` Michael Haubenwallner
2019-01-16 13:59 ` Sam Pfeiffer
2019-01-16 14:04 ` Fabian Groffen
2019-01-16 14:08 ` Sam Pfeiffer
2019-01-16 17:09 ` M. J. Everitt
2019-01-16 18:33 ` Michael Haubenwallner
2019-01-16 18:54 ` M. J. Everitt
2018-11-26 13:00 ` [gentoo-alt] " Benda Xu
2018-11-26 15:02 ` Sam Pfeiffer
2018-11-26 15:07 ` Sam Pfeiffer
2018-11-27 6:14 ` Sam Pfeiffer
2018-11-27 8:20 ` Fabian Groffen
2018-11-27 8:37 ` Sam Pfeiffer
2018-11-27 9:20 ` [gentoo-alt] " Michael Haubenwallner
2018-12-03 10:48 ` Sam Pfeiffer
2018-12-03 10:53 ` Fabian Groffen
2018-12-11 13:40 ` Fabian Groffen
2018-12-11 13:57 ` Sam Pfeiffer
2018-12-11 14:09 ` Fabian Groffen
2018-12-14 18:37 ` Fabian Groffen
2018-12-15 0:07 ` Sam Pfeiffer
2018-12-19 9:30 ` Guilherme Amadio
2018-12-22 6:41 ` Sam Pfeiffer
2018-12-22 11:27 ` Benda Xu
2018-12-27 2:45 ` Sam Pfeiffer
2019-01-10 9:18 ` Benda Xu
2019-02-03 10:55 ` Fabian Groffen
2019-02-13 11:32 ` Michael Haubenwallner
2019-02-13 11:38 ` Michael Everitt
2019-02-13 17:06 ` Fabian Groffen
2019-02-13 17:54 ` Michael Everitt
2019-02-14 8:17 ` Fabian Groffen
2019-03-18 12:53 ` Michael Haubenwallner
2019-04-01 0:25 ` Sam Pfeiffer [this message]
2019-04-01 2:18 ` Benda Xu
2019-04-01 2:47 ` Sam Pfeiffer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CABVqfw_+gKuK9VKTiMPcT2GH8rC1wkBPOThZGn3K5Wm9DbMR_A@mail.gmail.com \
--to=sammypfeiffer@gmail.com \
--cc=gentoo-alt@lists.gentoo.org \
--cc=haubi@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox