Skip to content
This repository has been archived by the owner on Jul 17, 2023. It is now read-only.

Add Concourse CI/CD Pipelines #30

Merged
merged 20 commits into from
Mar 30, 2021
Merged

Conversation

nderjung
Copy link
Member

@nderjung nderjung commented Dec 4, 2020

This PR includes tools, scripts and templates for CI/CD pipelines for kraft based on Concourse which is hosted for the Unikraft OSS project at https://concourse.unikraft.org. The pipelines themselves serve for packaging, testing and distributing kraft. Currently this is limited to a suite of Docker images and a few .debs for LTS Ubuntu/Debian distributions.

Pipelines

There are 3 pipelines, 2 are based on the two primary branches of the kraft repository (stable and staging) and the last pipeline is designed for all PRs made here on GitHub. Of the three pipelines, all generate similar artifacts (iterated in detail below). For now, there are two categories: Docker images and Debian/Ubuntu distributables.

For Docker images, a fully packaged environment is prepared under unikraft/kraft available from docker.io. For Debian images, a seperate APT repository is hosted at http://releases.unikraft.org which can be used like:

sudo add-apt-repository \
   "deb [arch=amd64] http://releases.unikraft.org/linux/$DISTRO \
   $(lsb_release -cs) \
   $PIPELINE"

Where $DISTRO is either ubuntu or debian and $PIPELINE is one of the three listed below:

stable branch

image

This first pipeline is designed to release, as per the branch name, stable versions of kraft dictated by a semver bump. It prepares -smoke candidates of all artifacts which are only released when the relevant test has passed.

Distributables

Vendor Distributable Purpose
Docker docker.io/unikraft/kraft:latest The latest stable version of the kraft tool.
docker.io/unikraft/kraft:$APP_VERSION
docker.io/unikraft/kraft:latest-dev The developer release of the
kraft Docker environment, with extra
tools for the maintenance of kraft itself.
docker.io/unikraft/kraft:$APP_VERSION-dev
Ubuntu unikraft-tools_$APP_VERSION~xenial_all.deb Xenial (16.04) LTS
unikraft-tools_$APP_VERSION~bionic_all.deb Bionic (18.04) LTS
unikraft-tools_$APP_VERSION~focal_all.deb Focal (20.04) LTS
Debian unikraft-tools_$APP_VERSION~stretch_all.deb Stretch 9
unikraft-tools_$APP_VERSION~buster_all.deb Buster 10 (stable)

staging branch

image

This next pipeline is targeted towards the latest commits which have just been merged from PRs into the kraft source tree. These may not necessarily be stable features and so merging into this tree from a PR may still result in errors in the pipeline but is done so to guarantee faster feature access via one of the distrbutables.

Distributables

Vendor Distributable Purpose
Docker docker.io/unikraft/kraft:staging The latest staging version of the kraft tool.
docker.io/unikraft/kraft:staging-dev The developer release of the
kraft Docker environment, with extra
tools for the maintenance of kraft itself.
Ubuntu Same as above but distributed to different APT repositories.
Debian

testing Pull Requests (Including this one!)

image

Vendor Distributable Purpose
Docker docker.io/unikraft/kraft:pr-$PR_ID The latest staging version of the kraft tool.
docker.io/unikraft/kraft:dev-pr-$PR_ID The developer release of the
kraft Docker environment, with extra
tools for the maintenance of kraft itself.
Ubuntu Same as above but distributed to different APT repositories.
Debian

@nderjung nderjung force-pushed the concourse branch 9 times, most recently from 5b636ec to 2711b10 Compare December 9, 2020 17:49
@nderjung nderjung force-pushed the concourse branch 17 times, most recently from c020733 to e0714f9 Compare February 24, 2021 22:29
@nderjung nderjung force-pushed the concourse branch 2 times, most recently from f5631bc to d90ec18 Compare March 9, 2021 08:43
@nderjung nderjung force-pushed the concourse branch 2 times, most recently from 29c45e0 to bf8e357 Compare March 15, 2021 09:43
Signed-off-by: Alexander Jung <[email protected]>
Signed-off-by: Alexander Jung <[email protected]>
Signed-off-by: Alexander Jung <[email protected]>
Signed-off-by: Alexander Jung <[email protected]>
@nderjung nderjung marked this pull request as ready for review March 30, 2021 07:23
@nderjung nderjung merged commit 510d816 into unikraft:staging Mar 30, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant