Intro
The idea of this topic is to give a brief introduction about how the core snap is gonna be built as part of the spread-cron daily execution. Any suggestion is welcome.
There are 2 spread-cron branches involved in the process:
- b1) snapd-vendor-sync
- b2) build-core-lp
There are two repositories involved as well:
Branches description
The branch b1 is in charged of copying all the code from the repository r1 to r2, including the vendor dependencies.
The branch b2 is in charged of interact with launchpad in order to build the core snap in the different supported architectures (‘amd64’, ‘i386’, ‘armhf’, ‘arm64’, ‘ppc64el’, ‘s390x’), and track the relation between the commit used from repo r2 to build the core snap and the different architectures. This tracking is needed then to be able to test the core snap on edge.
Branches execution
The branch b1 is executed when we have a green in travis for the master branch for the repo r1 and b2 is executed by default once a day (nightly). Both branches could be triggered manually if needed.
Tracking information
The tracking information is a file that just leaves in repo r2 with the following format:
amd64 0e2947f169a253661245bbcd64609f21d1a4925a
i386 0e2947f169a253661245bbcd64609f21d1a4925a
armhf 0e2947f169a253661245bbcd64609f21d1a4925a
arm64 0e2947f169a253661245bbcd64609f21d1a4925a
ppc64el 0e2947f169a253661245bbcd64609f21d1a4925a
s390x 0e2947f169a253661245bbcd64609f21d1a4925a
This file is updated with the new commits when the core snap is built as part of the branch b2. Just the sucessfully architectures are updated.