summaryrefslogtreecommitdiffstats
path: root/jjb/releng/releng-release-create-branch.sh
diff options
context:
space:
mode:
authorTrevor Bramwell <tbramwell@linuxfoundation.org>2018-01-11 14:27:48 -0800
committerTrevor Bramwell <tbramwell@linuxfoundation.org>2018-03-21 11:47:48 -0700
commit4260e9d3c2c9f1ed9a0d550abc032d93e89cf55c (patch)
treeb4db721eae30da930e53e4c344c920b464dbaf89 /jjb/releng/releng-release-create-branch.sh
parent6b68713ac730177080c7be7069b837e3fe2b7ed5 (diff)
Release Automation
Tracking releases through yaml file similar to the openstack/releases project. Includes a schema file to be for validation, jobs for creating gerrit branches and stable branch jobs, and documentation for projects on creating their releases. Change-Id: Id1876482723e01806c0a6932126dff5ea314eae5 Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
Diffstat (limited to 'jjb/releng/releng-release-create-branch.sh')
-rw-r--r--jjb/releng/releng-release-create-branch.sh37
1 files changed, 37 insertions, 0 deletions
diff --git a/jjb/releng/releng-release-create-branch.sh b/jjb/releng/releng-release-create-branch.sh
new file mode 100644
index 000000000..ec8365340
--- /dev/null
+++ b/jjb/releng/releng-release-create-branch.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2018 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+set -xe
+
+# Configure the git user/email as we'll be pushing up changes
+git config user.name "jenkins-ci"
+git config user.email "jenkins-opnfv-ci@opnfv.org"
+
+# Ensure we are able to generate Commit-IDs for new patchsets
+curl -kLo .git/hooks/commit-msg https://gerrit.opnfv.org/gerrit/tools/hooks/commit-msg
+chmod +x .git/hooks/commit-msg
+
+# Activate virtualenv, supressing shellcheck warning
+# shellcheck source=/dev/null
+. $WORKSPACE/venv/bin/activate
+pip install -r releases/scripts/requirements.txt
+
+STREAM=${STREAM:-'nostream'}
+RELEASE_FILES=$(git diff HEAD^1 --name-only -- "releases/$STREAM")
+
+for release_file in $RELEASE_FILES; do
+ python releases/scripts/create_branch.py -f $release_file
+ python releases/scripts/create_jobs.py -f $release_file
+ NEW_FILES=$(git status --porcelain --untracked=no | cut -c4-)
+ if [ -n "$NEW_FILES" ]; then
+ git add $NEW_FILES
+ git commit -m "Create Stable Branch Jobs for $(basename $release_file .yaml)"
+ git push origin HEAD:refs/for/master
+ fi
+done