[Qa-jenkins-scm] [Git][qa/jenkins.debian.net][master] reproducible Archlinux scheduler: drop unused code, add FIXMEs
Holger Levsen
gitlab at salsa.debian.org
Sat Sep 22 18:21:56 BST 2018
Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net
Commits:
863746c4 by Holger Levsen at 2018-09-22T17:21:15Z
reproducible Archlinux scheduler: drop unused code, add FIXMEs
Signed-off-by: Holger Levsen <holger at layer-acht.org>
- - - - -
2 changed files:
- TODO
- bin/reproducible_archlinux_scheduler.sh
Changes:
=====================================
TODO
=====================================
@@ -333,6 +333,7 @@ See link:https://jenkins.debian.net/userContent/about.html["about jenkins.debian
** problem: we currently have more (detailed) stati in archlinux
** extend scheduler.sh:
*** stop checking making 8000 queries instead of 1...
+*** comparing versions is also unneeded: if its not empty it must be higher (due to repo constraints)
*** actually schedule old packages once queue is empty (except blacklisted packages)
**** at first reschedule packages which never have been build (according to the db)
**** once there are no more left, reschedule based on last build_date
=====================================
bin/reproducible_archlinux_scheduler.sh
=====================================
@@ -43,7 +43,9 @@ update_archlinux_repositories() {
#
# remove packages which are gone (only when run between 21:00 and 23:59)
#
- if [ $(date +'%H') -gt 21 ] ; then
+ #if [ $(date +'%H') -gt 21 ] ; then
+ #FIXME: the next lines actually disables this code block...
+ if [ $(date +'%H') -gt 25 ] ; then
REMOVED=0
REMOVE_LIST=""
for REPO in $ARCHLINUX_REPOS ; do
@@ -54,6 +56,7 @@ update_archlinux_repositories() {
let REMOVED=$REMOVED+1
REMOVE_LIST="$REMOVE_LIST $REPO/$PKG"
rm -r --one-file-system $BASE/archlinux/$REPO/$PKG
+ # FIXME: we actually need to drop them from the db now...
echo "$REPO/$PKG removed as it's gone from the Archlinux repositories."
fi
done
@@ -114,43 +117,13 @@ update_archlinux_repositories() {
fi
fi
- #
- # old scheduling to be deleted once the db is used
- #
- if [ ! -d $BASE/archlinux/$REPO/$pkgbase ] ; then
- # schedule (all) entirely new packages
- echo $REPO/$pkgbase >> $NEW
- #echo "$(date -u ) - scheduling new package $REPO/$pkgbase... "
- mkdir -p $BASE/archlinux/$REPO/$pkgbase
- touch $BASE/archlinux/$REPO/$pkgbase/pkg.needs_build
- elif [ ! -f $BASE/archlinux/$REPO/$pkgbase/pkg.needs_build ] ; then
- if [ -f $BASE/archlinux/$REPO/$pkgbase/pkg.version ] ; then
- VERSION=$(cat $BASE/archlinux/$REPO/$pkgbase/pkg.version 2>/dev/null)
- if [ "$VERSION" != "$version" ] ; then
- VERCMP="$(schroot --run-session -c $SESSION --directory /var/tmp -- vercmp $version $VERSION || true)"
- if [ "$VERCMP" = "1" ] ; then
- # schedule packages where an updated version is availble
- echo $REPO/$pkgbase >> $UPDATED
- #echo "$(date -u ) - we know $REPO/$pkgbase $VERSION, but repo has $version, so rescheduling... "
- touch $BASE/archlinux/$REPO/$pkgbase/pkg.needs_build
- elif [ "$VERCMP" = "-1" ] ; then
- echo "$REPO/$pkgbase $VERSION > $version" >> $OLDER
- else
- echo "$(date -u ) - This should never happen: we know about $pkgbase $VERSION, but repo has $version. \$VERCMP=$VERCMP"
- fi
- fi
- else
- #echo "$(date -u ) - scheduling new package $REPO/$pkgbase... though this is strange and should not really happen…"
- touch $BASE/archlinux/$REPO/$pkgbase/pkg.needs_build
- fi
- fi
printf '%s %s\n' "$pkgbase" "$version" >> $TMPPKGLIST
done
mv $TMPPKGLIST "$ARCHLINUX_PKGS"_"$REPO"
- #echo "$(date -u ) - $(cat ${ARCHLINUX_PKGS}_$REPO | wc -l) packages in repository '$REPO' are known to us."
+ #FIXME: echo "$(date -u ) - $(cat ${ARCHLINUX_PKGS}_$REPO | wc -l) packages in repository '$REPO' are known to us."
new=$(grep -c ^$REPO $NEW || true)
updated=$(grep -c ^$REPO $UPDATED || true)
- #echo "$(date -u ) - scheduled $new/$updated packages in repository '$REPO'."
+ #FIXME echo "$(date -u ) - scheduled $new/$updated packages in repository '$REPO'."
done
schroot --end-session -c $SESSION
echo "$(date -u) - the following packages are known to us with higher versions than the repo because we build trunk:"
@@ -164,25 +137,7 @@ update_archlinux_repositories() {
old=""
local MAX=350
local THRESHOLD=450
- if [ $(find $BASE/archlinux/ -name pkg.needs_build | wc -l ) -le $THRESHOLD ] ; then
- rm -f $OLDER
- # reschedule
- for i in $( ( for REPO in $ARCHLINUX_REPOS ; do
- find $BASE/archlinux/$REPO -type d -wholename "$BASE/archlinux/$REPO/*" -printf '%T+ %p\n' | egrep -v "$BLACKLIST"
- done ) | sort | head -n $MAX| cut -d " " -f2 ) ; do
- touch $i/pkg.needs_build
- echo "$(basename $(dirname $i))/$(basename $i)" >> $OLDER
- done
- if [ -s $OLDER ] ; then
- old=" $(cat $OLDER | wc -l) old ones"
- echo "$(date -u) - Old, previously tested packages rescheduled: "
- for REPO in $ARCHLINUX_REPOS ; do
- grep $REPO/ $OLDER | sort
- done
- fi
- fi
- rm $OLDER
- echo
+ #FIXME add actual code here :)
#
# output stats
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/commit/863746c4e9880122fada1bb752bddee9ff8f4706
--
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/commit/863746c4e9880122fada1bb752bddee9ff8f4706
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/qa-jenkins-scm/attachments/20180922/222300e0/attachment-0001.html>
More information about the Qa-jenkins-scm
mailing list