summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2018-08-11 18:42:30 +0300
committerLars Wirzenius <liw@liw.fi>2018-08-11 18:42:30 +0300
commit9a3bb95e61300fc0574f95d994d5930eacb1f079 (patch)
tree441ef041795dbecfc4572459ddfa9011a66f99b5
parent4df001601607a25332a7bf4a9729bcc0fe4cf9c5 (diff)
downloadick2-9a3bb95e61300fc0574f95d994d5930eacb1f079.tar.gz
Add: pipelines for release building, archiving Debian packages
-rw-r--r--pipelines/debian.ick50
1 files changed, 50 insertions, 0 deletions
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