Page MenuHomePhabricator

Add a script for setting up Debian build containers
ClosedPublic

Authored by jasonbcox on Tue, Mar 17, 19:06.

Details

Summary

This script provides instructions for setting up necessary dependencies for CI builds.
The script will be run on a clean container that is abstracted away from the build process.

This script is not currently comprehensive for all builds, but runs build-master successfully.
This is a good starting point for migrating CI to containerized builds.

When matured, we will have multiple of these setup scripts for different types of containers
in order to support things like cross-platform builds.

Test Plan

Spin up a new container, run this script, then run tests like usual:

ABC_BUILD_NAME=build-werror ./contrib/teamcity/build-configurations.sh
ABC_BUILD_NAME=build-master ./contrib/teamcity/build-configurations.sh

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jasonbcox created this revision.Tue, Mar 17, 19:06
Herald added a reviewer: Restricted Project. · View Herald TranscriptTue, Mar 17, 19:06

Maybe you want to check buster-backports

contrib/teamcity/setup-debian-buster.sh
80 ↗(On Diff #16987)

Downloading from the internet without even using a checksum and executing right away. What could go wong?

deadalnix requested changes to this revision.Tue, Mar 17, 23:18
This revision now requires changes to proceed.Tue, Mar 17, 23:18
jasonbcox added inline comments.Wed, Mar 18, 15:35
contrib/teamcity/setup-debian-buster.sh
80 ↗(On Diff #16987)

Sadly this script isn't versioned and doesn't appear to be under source control from any LLVM repo that I can find. I've replaced it with the internals from that script that are relevant to us.

jasonbcox updated this revision to Diff 17001.Wed, Mar 18, 15:36

Make clang installation more robust

deadalnix accepted this revision.Wed, Mar 18, 16:51
deadalnix added inline comments.
contrib/teamcity/setup-debian-buster.sh
71 ↗(On Diff #17001)

Providing the keys to the script rather than downloading them is preferable.

76 ↗(On Diff #17001)

Update alternative can probably do that, no?

This revision is now accepted and ready to land.Wed, Mar 18, 16:51
jasonbcox updated this revision to Diff 17013.Wed, Mar 18, 22:44

Provide pubkeys for added package repos

jasonbcox updated this revision to Diff 17015.Wed, Mar 18, 22:53

Fix lint issues

jasonbcox added inline comments.Wed, Mar 18, 22:55
contrib/teamcity/setup-debian-buster.sh
76 ↗(On Diff #17001)

Probably. This script was adapted from an old setup script we used for the build agents. I would need to experiment with this more, so will leave that for another patch.

This revision was automatically updated to reflect the committed changes.