From 9a3bb95e61300fc0574f95d994d5930eacb1f079 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 11 Aug 2018 18:42:30 +0300 Subject: Add: pipelines for release building, archiving Debian packages --- pipelines/debian.ick | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/pipelines/debian.ick b/pipelines/debian.ick index f09c082..78827ed 100644 --- a/pipelines/debian.ick +++ b/pipelines/debian.ick @@ -148,3 +148,53 @@ pipelines: actions: - action: dput where: host + + + # Build release .deb packages from new tags. For the first build, + # only remember the tags. Note that the workspace must be saved and + # restored for this to work. The release builds are stored in + # .release-files in the workspace. + # + # Releases are built from release tags, which must be signed, + # annotated tags, named as foo-1.2 (release 1.2 of project foo). The + # tag signature must be made by one a key listed in the + # release_signing_keys parameter. + + - pipeline: ick/build_debian_release + parameters: + - sources + - release_signing_keys + actions: + + - where: container + python: | + for key in params['release_signing_keys']: + open('key.asc', 'w').write(key) + RUN('gpg', '--import', 'key.asc') + + - where: container + shell: | + rm -rf ick-helpers .release-files + mkdir .release-files + git clone git://git.liw.fi/ick-helpers + + - where: container + python: | + import sys + sys.path.insert(0, '/workspace/ick-helpers') + import ick_helpers + resultsdir = '.release-files' + ick_helpers.build_debian_releases(params['sources'], resultsdir) + + # Archive the release .debs and related files from .release-files in + # the workspace. The deb_artifact parameter names the artifact. + + - pipeline: ick/archive_debian_release + parameters: + - deb_artifact + actions: + - archive: workspace + where: host + globs: + - ".release-files" + name_from: deb_artifact -- cgit v1.2.1