From 3ac127eaa1564ce309d3ad84b882f5f341f2643f Mon Sep 17 00:00:00 2001
From: Davide Guerri <davide.guerri@hp.com>
Date: Thu, 24 Jul 2014 14:29:13 +0100
Subject: [PATCH] Add git-upstream as new project to stackforge

This patch adds the config needed to create and maintain git-upstream
in stackforge.

git-upstream is an open source Python application that can be used to
keep in sync with upstream open source projects, mainly OpenStack.

The main usecase for this tool is for people who are doing active
contributions to repositories that are mirrors of OpenStack
repositories, with the intention that most of those contributions
will be submitted to review.openstack.org at some point.
If you are running a public cloud based on OpenStack, having local
changes needed to use it in your environment, you can use
git-upstream to stay up to date with the upstream master in a easier
way (with respect to using raw git commands).

git-upstream provides new git subcommands to support rebasing of
local-carried patches on top of upstream repositories. It provides
commands to ease the use of git for who needs to integrate big
upstream projects in their environment.
The operations are performed using Git commands.

See also:
 * https://github.com/dguerri/git-upstream
 * https://pypi.python.org/pypi/git-upstream

Change-Id: I16f71cbe7178b9e98bed2ee0a9c905b5ee9bc395
---
 .../gerritbot/files/gerritbot_channel_config.yaml   | 10 ++++++++++
 .../openstack_project/files/accessbot/channels.yaml |  2 ++
 .../gerrit/acls/stackforge/git-upstream.config      | 13 +++++++++++++
 .../files/jenkins_job_builder/config/projects.yaml  | 10 ++++++++++
 .../openstack_project/files/review.projects.yaml    |  3 +++
 modules/openstack_project/files/zuul/layout.yaml    |  8 ++++++++
 6 files changed, 46 insertions(+)
 create mode 100644 modules/openstack_project/files/gerrit/acls/stackforge/git-upstream.config

diff --git a/modules/gerritbot/files/gerritbot_channel_config.yaml b/modules/gerritbot/files/gerritbot_channel_config.yaml
index 0b9bab833c..92efcfac91 100644
--- a/modules/gerritbot/files/gerritbot_channel_config.yaml
+++ b/modules/gerritbot/files/gerritbot_channel_config.yaml
@@ -853,3 +853,13 @@ congress:
       - stackforge/python-congressclient
     branches:
       - master
+
+git-upstream:
+    events:
+      - patchset-created
+      - change-merged
+      - x-vrif-minus-2
+    projects:
+      - stackforge/git-upstream
+    branches:
+      - master
diff --git a/modules/openstack_project/files/accessbot/channels.yaml b/modules/openstack_project/files/accessbot/channels.yaml
index da288de861..4a48426081 100644
--- a/modules/openstack_project/files/accessbot/channels.yaml
+++ b/modules/openstack_project/files/accessbot/channels.yaml
@@ -54,6 +54,8 @@ channels:
     mask: full_mask
   - name: fuel-tracker
     mask: full_mask
+  - name: git-upstream
+    mask: full_mask
   - name: heat
   - name: magnetodb
     mask: full_mask
diff --git a/modules/openstack_project/files/gerrit/acls/stackforge/git-upstream.config b/modules/openstack_project/files/gerrit/acls/stackforge/git-upstream.config
new file mode 100644
index 0000000000..a7b2c86a75
--- /dev/null
+++ b/modules/openstack_project/files/gerrit/acls/stackforge/git-upstream.config
@@ -0,0 +1,13 @@
+[access "refs/heads/*"]
+abandon = group git-upstream-core
+label-Code-Review = -2..+2 group git-upstream-core
+label-Workflow = -1..+1 group git-upstream-core
+
+[access "refs/tags/*"]
+pushSignedTag = group git-upstream-ptl
+
+[receive]
+requireChangeId = true
+
+[submit]
+mergeContent = true
diff --git a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
index 5ee5aafdcc..afe590feb8 100644
--- a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
+++ b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
@@ -671,6 +671,16 @@
       - pypi-jobs
 
 
+- project:
+    name: git-upstream
+    github-org: stackforge
+    node: 'bare-precise || bare-trusty'
+    tarball-site: tarballs.openstack.org
+
+    jobs:
+      - python-jobs
+
+
 - project:
     name: glance
     github-org: openstack
diff --git a/modules/openstack_project/files/review.projects.yaml b/modules/openstack_project/files/review.projects.yaml
index 17a5984167..230a22147c 100644
--- a/modules/openstack_project/files/review.projects.yaml
+++ b/modules/openstack_project/files/review.projects.yaml
@@ -786,6 +786,9 @@
 - project: stackforge/gertty
   description: Console interface to Gerrit Code Review
   use-storyboard: true
+- project: stackforge/git-upstream
+  description: Staying close to latest from OpenStack through git-upstream
+  upstream: https://github.com/dguerri/git-upstream.git
 - project: stackforge/gnocchi
   description: A time series storage and resources index service.
   upstream: git://github.com/jd/gnocchi.git
diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml
index b6e2fbec6e..6703da4444 100644
--- a/modules/openstack_project/files/zuul/layout.yaml
+++ b/modules/openstack_project/files/zuul/layout.yaml
@@ -1711,6 +1711,14 @@ projects:
     gate:
       - noop
 
+  - name: stackforge/git-upstream
+    check:
+      - gate-git-upstream-pep8
+      - gate-git-upstream-python27
+    gate:
+      - gate-git-upstream-pep8
+      - gate-git-upstream-python27
+
   - name: stackforge/gerrit-dash-creator
     check:
       - noop