mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 12:49:40 +00:00
cerbero: Never use cached cerbero git repo
Sometimes the git repo cached on the docker image gets corrupted on Windows, in which case there is no way to clean things and resolve that error. For example: https://gitlab.freedesktop.org/bilboed/gst-plugins-bad/-/jobs/5517037 ``` ++ cp -a C:/cerbero/.git . cp: cannot create regular file `./.git/objects/pack/pack-cbdde9dc4dd07bff6761e6715e20d7c0abe62b9e.idx': Permission denied cp: cannot create regular file `./.git/objects/pack/pack-cbdde9dc4dd07bff6761e6715e20d7c0abe62b9e.pack': Permission denied ``` Always delete the cached git repo and copy a pristine copy from the image. This will also avoid accumulation of garbage in the git repo. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/376>
This commit is contained in:
parent
aead7b4eb7
commit
c3b5693736
1 changed files with 12 additions and 1 deletions
|
@ -86,7 +86,15 @@ cerbero_before_script() {
|
|||
pwd
|
||||
ls -lha
|
||||
|
||||
# Copy cerbero git repo stored on the image
|
||||
# Copy cerbero git repo stored on the image, delete an existing checkout if
|
||||
# it exists. Sometimes the git dir gets corrupted on the Windows runner,
|
||||
# and there's no way to clean it up because gitlab will keep trying to
|
||||
# reuse the cached image.
|
||||
if ! [[ -d ${CERBERO_HOST_DIR}/.git ]]; then
|
||||
mv "${CERBERO_HOST_DIR}/.git" "${CERBERO_HOST_DIR}/.git-old"
|
||||
# rm -rf is very slow on Windows, so do it in the background
|
||||
rm -rf "${CERBERO_HOST_DIR}/.git-old" &
|
||||
fi
|
||||
cp -a "${CERBERO_HOST_DIR}/.git" .
|
||||
git checkout .
|
||||
git status
|
||||
|
@ -114,6 +122,9 @@ cerbero_before_script() {
|
|||
# a dirty builddir, or tarballs/pkg files, leftover files from an old
|
||||
# cerbero commit, etc. Skip the things we actually need to keep.
|
||||
time git clean -xdff -e cerbero_setup.sh -e manifest.xml -e localconf.cbc -e "${CERBERO_SOURCES}"
|
||||
|
||||
# Wait for the rm -rf from above if needed
|
||||
[[ -n $(jobs -p) ]] && fg
|
||||
}
|
||||
|
||||
cerbero_script() {
|
||||
|
|
Loading…
Reference in a new issue