Closed Bug 1129789 Opened 10 years ago Closed 10 years ago

Write a script which publishes a [Linux] build's bare environment

Categories

(Release Engineering :: General, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mrrrgn, Assigned: mrrrgn)

References

Details

Attachments

(1 file)

This could just be a stripped version of our current mozharness scripts used in builds. Ultimately, this script should spit out a tar.gz'd chroot environment by default, or, when a flag is set create and/or publish a docker container. The idea here, is that the nicest way to publish build chroot environments will be via docker containers, due to their build-in versioning etc... This may also make moving the builds into taskcluster less painful.
Assignee: nobody → winter2718
Blocks: 896023
OS: Mac OS X → Linux
Summary: Write a mozharness script which publishes a build's bare chroot environment (optionally as a docker container) → Write a mozharness script which publishes a [Linux] build's bare chroot environment (optionally as a docker container)
Unless it's 5 minutes of work, I think Docker image generation should be deferred. This isn't because it isn't useful (it is) but because it is trivial to create a Docker image from a chroot tarball using `docker import`. This bug excites me, BTW \o/
(In reply to Gregory Szorc [:gps] from comment #1) > Unless it's 5 minutes of work, I think Docker image generation should be > deferred. This isn't because it isn't useful (it is) but because it is > trivial to create a Docker image from a chroot tarball using `docker import`. > > This bug excites me, BTW \o/ Yay, thank you. :) Yes, I agree with you. Though, my thinking was that publishing a docker image would provide a more familiar interface for developers to pull down the environments. It seems more elegant than hitting an s3 bucket.
Summary: Write a mozharness script which publishes a [Linux] build's bare chroot environment (optionally as a docker container) → Write a mozharness script which publishes a [Linux] build's bare environment
Depends on: 1130163
Summary: Write a mozharness script which publishes a [Linux] build's bare environment → Write a script which publishes a [Linux] build's bare environment
I've published several docker containers formed via this utility: https://github.com/mrrrgn/build-mozilla-build-environments/blob/master/utils/compile_mozharness_config/compile_mozharness_config.py It compiles jinja2 templates against variables in mozharness configs. I was able to create a Dockerfile jinja2 template which gets me most of what I need. The publishing of new containers could easily be accomplished with a makefile.
Attached file GitHub Repo
So, I have a makefile and some bash scripts here which generate dockerfiles and optionally publish them. platforms/ contains our 3 base mock configs and builders contains our 3 base builders, and 6 additional Linux build sub-types. Do these environments seem acceptable so far?
Attachment #8565455 - Flags: feedback?(gps)
This work looks great and I think they are worthy of being published!
I'm a little leery of this diverging from the other ways that build environments are built. Does this replace MozBootstrap? If so, should we rm -rf that? Also, it looks like the platforms (an overloaded word, btw) are generated from the upstream yum repositories, which will result in different package versions than what we run in production (which is based on the mockbuild-repos alone). I think something is definitely better than nothing here, but without some strong guarantees that the environments match, I think we may leave developers battling unknown unknowns, which is never fun.
(In reply to Dustin J. Mitchell [:dustin] from comment #6) > I'm a little leery of this diverging from the other ways that build > environments are built. > > Does this replace MozBootstrap? If so, should we rm -rf that? > > Also, it looks like the platforms (an overloaded word, btw) are generated > from the upstream yum repositories, which will result in different package > versions than what we run in production (which is based on the > mockbuild-repos alone). > > I think something is definitely better than nothing here, but without some > strong guarantees that the environments match, I think we may leave > developers battling unknown unknowns, which is never fun. Google/Wiki searches are teaching me that Mozbootstrap is a loaded term as well. >.< I don't think this should replace that, if it's what the name implies (a way for developers to get started contributing, no?) As for the platforms, I can regenerate those with a more true form (in the process of that now). Because the builders are all built on top of those three bases, I can propagate it asap. Like you said, something may be better than nothing. If we can get these in good enough shape, I think they'll decrease the number of unknowns developers are battling.
Attachment #8565455 - Flags: feedback?(gps)
Attachment #8565455 - Flags: feedback+
Attachment #8565455 - Flags: checked-in+
I'm considering this finished; but we can/should continue the conversation on the parent task.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Component: Tools → General
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: