Make infra_libs available on vpython |
|||
Issue descriptionSteps: 1. Teach dockerbuild how to build a wheel for infra_libs (infra.git:packages/infra_libs) 2. Build a wheel for infra_libs with dockerbuild 3. Turn that wheel into a cipd package 4. Automate this process by adding steps 2 and 3 to the infra.continuous builder 5. Write a presubmit check that will not allow you to submit a change to packages/infra_libs without bumping the version number. Does this sound correct?
,
Nov 21 2017
infra_libs already has a setup.py: https://chromium.googlesource.com/infra/infra/+/master/packages/infra_libs/setup.py (though I'm not sure if it's sufficient)
,
Nov 21 2017
`python setup.py bdist_wheel` *seems* to work in infra_libs, so that's convenient!
,
Nov 21 2017
indeed!
,
Dec 11 2017
The following revision refers to this bug: https://chromium.googlesource.com/infra/infra/+/f051010a69c9bc59596c96d6bc37b17af512500c commit f051010a69c9bc59596c96d6bc37b17af512500c Author: Katie Thomas <katthomas@google.com> Date: Mon Dec 11 18:39:54 2017 [dockerbuild] build local pure python wheels Bug:787546 Change-Id: Ib63108e06d9fe0b9dca5df549f2d01232c7523c5 Reviewed-on: https://chromium-review.googlesource.com/786250 Commit-Queue: Katie Thomas <katthomas@google.com> Reviewed-by: Daniel Jacques <dnj@chromium.org> Reviewed-by: Robbie Iannucci <iannucci@chromium.org> [modify] https://crrev.com/f051010a69c9bc59596c96d6bc37b17af512500c/infra/tools/dockerbuild/wheel.py [modify] https://crrev.com/f051010a69c9bc59596c96d6bc37b17af512500c/infra/tools/dockerbuild/dockerbuild.py [modify] https://crrev.com/f051010a69c9bc59596c96d6bc37b17af512500c/infra/tools/dockerbuild/source.py [modify] https://crrev.com/f051010a69c9bc59596c96d6bc37b17af512500c/infra/tools/dockerbuild/wheels.md
,
Dec 12 2017
1-3 are done, so infra_libs is available on cipd now, meaning BigQueryHelper is available. I don't think 5 is necessary now because we're using infra rev instead of version number. Is 4 actually necessary?
,
Dec 12 2017
> 5. Write a presubmit check that will not allow you to submit a change to packages/infra_libs without bumping the version number. yeah, i don't quite understand this, but maybe I am missing something. (4) would be consistent with the rest of software we deploy via CIPD. Normally ones lands a CL to change a program and some time CIPD package with the change are available automatically.
,
Dec 15 2017
Currently looking into the best way to accomplish (4). Currently, the infra_continuous recipe uses the build.py script in infra/build with the packages definitions in infra/build/packages. As far as I can tell, we don't have continuous building of cipd packages with dockerbuild yet. If anyone has any ideas, feel free to chime in.
,
Dec 18 2017
Given that 4 involves running dockerbuild on a builder, perhaps we're ok with building this package manually for now? This is the norm for cipd packages built with dockerbuild. Given that, I'm going to mark this is fixed! Feel free to re-open if there are concerns.
,
Dec 18 2017
> Given that 4 involves running dockerbuild on a builder FWIW, this is something that should be extremely safe. It's really easy to add Docker to builders: https://chrome-internal.googlesource.com/infra/puppet/+/be919455d01617ac7653d92bae657a45a0c0a0a6/puppetm/opt/puppet/conf/nodes.yaml#864 Once added, Docker runs hermetically, so a recipe that runs "dockerbuild" on a builder should just work. OTOH there is probably a bug or two to fix just b/c of the expansive nature of the script. YMMV. |
|||
►
Sign in to add a comment |
|||
Comment 1 by d...@chromium.org
, Nov 21 2017