Index: ps/trunk/build/jenkins/pipelines/macos-all-bundles.Jenkinsfile =================================================================== --- ps/trunk/build/jenkins/pipelines/macos-all-bundles.Jenkinsfile +++ ps/trunk/build/jenkins/pipelines/macos-all-bundles.Jenkinsfile @@ -30,9 +30,20 @@ } stages { - stage("Checkout") { + stage ("Checkout") { + options { + retry(3) + } steps { - svn "https://svn.wildfiregames.com/public/ps/trunk@${params.SVN_REV}" + script { + try { + svn "https://svn.wildfiregames.com/public/ps/trunk@${params.SVN_REV}" + } catch(e) { + sh "svn cleanup" + sleep 300 + throw e + } + } sh "svn cleanup" sh "svn revert . -R" sh "svn st --no-ignore | cut -c 9- | xargs rm -rfv" @@ -59,6 +70,8 @@ sh "svn st binaries/ --no-ignore | cut -c 9- | xargs rm -rf" sh "svn st build/ --no-ignore | cut -c 9- | xargs rm -rf" sh "svn st libraries/ --no-ignore | cut -c 9- | xargs rm -rf" + // The generated tests use hardcoded paths so they must be deleted as well. + sh 'python3 -c \"import glob; print(\\\" \\\".join(glob.glob(\\\"source/**/tests/**.cpp\\\", recursive=True)));\" | xargs rm -v' sh "svn revert build/ -R" // Then run the core object. Index: ps/trunk/source/tools/dist/build-unix-win32.sh =================================================================== --- ps/trunk/source/tools/dist/build-unix-win32.sh +++ ps/trunk/source/tools/dist/build-unix-win32.sh @@ -16,11 +16,13 @@ --exclude='libraries/source/fcollada/src/FCollada/FColladaTest' \ --exclude='libraries/source/spidermonkey/include-*' \ --exclude='libraries/source/spidermonkey/lib*' \ + -s "|.|$PREFIX/~|" \ {source,build,libraries/source,binaries/system/readme.txt,binaries/data/l10n,binaries/data/tests,binaries/data/mods/_test.*,*.txt} tar cf $PREFIX-unix-data.tar \ --exclude='binaries/data/config/dev.cfg' \ - -s "|archives|binaries/data/mods|" \ + -s "|archives|$PREFIX/binaries/data/mods|" \ + -s "|binaries|$PREFIX/binaries|" \ binaries/data/{config,tools} archives/ # TODO: ought to include generated docs in here, perhaps?