/
send-stable-release.yaml
66 lines (64 loc) · 2.59 KB
/
send-stable-release.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
- hosts: all
name: rdo-send-stable-release playbook
tasks:
- name: Install required dependencies
package:
name:
- python3-virtualenv
- rpmdevtools
state: present
become: true
- name: rdo-send-stable-release
shell:
cmd: |
set -e -x
# Currently releng requires rdoinfo to be in $HOME/rdoinfo
rm -rf ~/rdoinfo
ln -s "{{ ansible_user_dir }}/{{ zuul.projects['review.rdoproject.org/rdoinfo'].src_dir }}" ~/rdoinfo
virtualenv --system-site-packages .venv
. .venv/bin/activate
pushd "{{ ansible_user_dir }}/{{ zuul.projects['review.rdoproject.org/rdo-infra/releng'].src_dir }}"
pip install .
popd
# Prepare environment to send a review
cat >> ~/.ssh/config << EOF
Host review.rdoproject.org
IdentityFile ~/.ssh/rdoinfo_id_rsa
EOF
chmod 600 ~/.ssh/config
ssh-keyscan -p 29418 review.rdoproject.org >> ~/.ssh/known_hosts
chmod 644 ~/.ssh/known_hosts
git config --global --add user.name "rdo-trunk"
git config --global --add user.email "amoralej+rdo-trunk@redhat.com"
git config --global --add gitreview.username "rdo-trunk"
BASE_CMD="rdo_release_review -u rdo-trunk -c RDO -e dev@lists.rdoproject.org"
RELEASES="train ussuri victoria wallaby xena yoga zed antelope"
MASTER_RELEASE="antelope"
for r in $RELEASES;do
if [ $r == $MASTER_RELEASE ]; then
TAG_OPTION=" -t ${r}-uc"
else
TAG_OPTION=""
fi
PROJECT={{ zuul.project.name }}
case $PROJECT in
rdoinfo )
$BASE_CMD -r $r -p ~/rdoinfo $TAG_OPTION
;;
openstack/releases )
# When using reviews from openstack/releases to generate new releases
# we need to get the real commit (not the merge one) to search the
# review using gerrit API.
pushd {{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/releases'].src_dir }}
SUBJECT=$(git log --oneline|head -1|cut -d " " -f 2)
if [ $SUBJECT == "Merge" ]; then
REAL_COMMIT=$(git show|grep ^Merge:|awk '{print $(NF)}')
else
REAL_COMMIT=$(git show|head -1|awk '{print $2}')
fi
$BASE_CMD -r $r -n commit:$REAL_COMMIT $TAG_OPTION
popd
;;
esac
done
changed_when: true