|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] A document for Xen release management, v2
On 25/07/17 14:25, Wei Liu wrote:
> Hi all
Hi Wei,
Sorry for the late reply.
> ## Script to generate months update emails
I have an updated script on which include jira ticket, version number:
#!/bin/bash
# Use ssmtp for simplicity
# ./status-release.sh | formail -f -s /usr/sbin/ssmtp -bm -t
FILE=`mktemp`
cat << EOF > $FILE
== Hypervisor ==
S: Per-cpu tasklet
O: Konrad Rzeszutek Wilk
E: konrad.wilk@xxxxxxxxxx
J: XEN-28
=== x86 ===
=== ARM ===
== Completed ==
S:
EOF
AWK_FILE=`mktemp`
cat << EOF > $AWK_FILE
BEGIN { s2_count = 1;score = ""; emails=1; first_time = 1; subject=""}
/== / {
if ( subject != "" ) {
if (score != "")
print "* ", subject, "("score")"
else if (version != "")
print "* ", subject, "("version")";
else
print "* ", subject;
for (i = 1; i <= s2_count; i++) {
if (i in s2)
print " ",s2[i];
}
if (bug != "")
print " Link: https://bugs.xenproject.org/xen/bug/"bug
if (jira != "")
print " - "jira
for (i = 1; i <= count; i++) {
if (i in o)
print " -", o[i]
}
if (emails)
print ""
first_time = 1;
subject=""
email=""
score=""
bug=""
jira=""
version=""
count = 1;
s2_count = 1;
delete s;
delete s2;
delete o;
delete e;
}
print \$0,"\n"
}
/;/ { };
/S:/ {
if ( !first_time ) {
if (score != "")
print "* ", subject, "("score")"
else if (version != "")
print "* ", subject, "("version")";
else
print "* ", subject
for (i = 1; i <= s2_count; i++) {
if (i in s2)
print " ",s2[i];
}
if (bug != "")
print " Link: https://bug.xenproject.org/xen/bug/"bug
if (jira != "")
print " - "jira
for (i = 1; i <= count; i++) {
if (i in o)
print " -", o[i]
}
if (emails)
print ""
}
first_time = 0;
sub(\$1, "");
sub(/^[ \t]+/, "");
subject=\$0;
email=""
bug=""
jira=""
count = 1;
s2_count = 1;
delete s;
delete s2;
delete o;
delete e;
score="";
version="";
}
/O:/ { sub(\$1, ""); o[count++]=\$0; };
/S2:/ { sub(\$1, ""); s2[s2_count++]=\$0;};
/E:/ { sub(\$1, ""); sub(/^[ \t]+/, ""); email=\$0; e[emails++]=\$0;};
/P:/ { sub(\$1, ""); sub(/^[ \t]+/, ""); score=\$0; };
/B:/ { sub(\$1, ""); sub(/^[ \t]+/, ""); bug=\$0; };
/J:/ { sub(\$1, ""); sub(/^[ \t]+/, ""); jira=\$0; };
/V:/ { sub(\$1, ""); sub(/^[ \t]+/, ""); version=\$0; };
END {
}
// { }
EOF
AWK_FILE_EMAIL=`mktemp`
cat << EOF > $AWK_FILE_EMAIL
BEGIN { emails=1;}
/E:/ {
sub(\$1, ""); sub(/^[ \t]+/, "");
email=\$0;
for ( i = 1; i <= emails; i++ ) {
if (i in e) {
if (e[i] == email) {
email="";
break;
}
}
}
if (email != "")
e[emails++]=email;
}
END {
printf "Bcc: "
for ( i = 1; i <= emails; i++ )
if (i in e) {
if (i == emails - 1)
printf "<%s>", e[i];
else
printf "<%s>,", e[i];
}
print ""
}
// { }
EOF
echo "From: $RELEASE_MANAGER_NAME <$RELEASE_MANAGER_MAIL>"
echo "To: xen-devel@xxxxxxxxxxxxxxxxxxxx"
echo "Cc: $RELEASE_MANAGER_MAIL"
cat $FILE | awk -f $AWK_FILE_EMAIL
rm $AWK_FILE_EMAIL
echo "Subject: Xen $RELEASE_VERSION Development Update"
PRE=`mktemp`
cat << EOF > $PRE
This email only tracks big items for xen.git tree. Please reply for items you
woulk like to see in $RELEASE_VERSION so that people have an idea what is going
on and
prioritise accordingly.
You're welcome to provide description and use cases of the feature you're
working on.
= Timeline =
We now adopt a fixed cut-off date scheme. We will release twice a
year. The upcoming $RELEASE_VERSION timeline are as followed:
* Last posting date: $RELEASE_CUTOFF
* Hard code freeze: $RELEASE_FREEZE
* RC1: TBD
* Release: $RELEASE_DATE
Note that we don't have freeze exception scheme anymore. All patches
that wish to go into $RELEASE_VERSION must be posted no later than the last
posting
date. All patches posted after that date will be automatically queued
into next release.
RCs will be arranged immediately after freeze.
We recently introduced a jira instance to track all the tasks (not only big)
for the project. See: https://xenproject.atlassian.net/projects/XEN/issues.
Most of the tasks tracked by this e-mail also have a corresponding jira task
referred by XEN-N.
I have started to include the version number of series associated to each
feature. Can each owner send an update on the version number if the series
was posted upstream?
= Projects =
EOF
POST=`mktemp`
cat <<EOF > $POST
EOF
# Preamble
cat $PRE
rm $PRE
# Body
cat $FILE | awk -f $AWK_FILE
rm $AWK_FILE
rm $FILE
cat $POST
rm $POST
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |