Actions
coordination #45302
opencoordination #58184: [saga][epic][use case] full version control awareness within openQA
[epic] smarter fetchneedles (was: fetchneedles should ensure we are always on a branch (and try to self-repair))
Start date:
2019-12-20
Due date:
% Done:
50%
Estimated time:
(Total: 0.00 h)
Description
Observation¶
[18/12/2018 14:23:00] <guillaume_g> okurz: https://github.com/os-autoinst/os-autoinst-needles-opensuse/commits/master seems to not be updated since 5 days! openQA should push updates
[18/12/2018 15:01:58] <okurz> guillaume_g: yes, should be. checking…
Problem¶
Something caused a conflict causing the repo to not stay on the master branch and en
Fixed with the following:
su geekotest
cd /var/lib/openqa/share/tests/opensuse/products/opensuse/needles/
git checkout -b fix
git add .
git commit -m "Add gnucash-tip-close-unfocussed-20181128" -a && git pull --rebase origin master
git rebase --skip
git checkout master
git rebase fix
git pull --rebase origin master && git push origin HEAD:master
git branch -D fix
On OSD we have in /etc/cron.d/SLES.CRON:
# sometimes gitlab.s.d is unresponsive and there are new needles coming in and we did not pull in time before someone created new needles from the webui so make sure this is synced at least once a day
47 3 * * * geekotest (cd /var/lib/openqa/share/tests/sle/products/sle/needles && git pull --rebase >/dev/null && git push origin HEAD:master >/dev/null 2>&1)
The "fetchneedles" could try to apply all that. Maybe something like the following would be best:
sudo -u geekotest sh -c '(cd /var/lib/openqa/share/tests/opensuse/products/opensuse/needles && <commit all locally> && <fetch all> && <rebase all, skip conflicting local changes> && <ensure on valid branch> && <push all>)'
Actions