FSPatched/Jenkinsfile
zontreck a4e6598cdc ci(jenkinsfile): delete the dir on clean
Signed-off-by: zontreck <tarapiccari@gmail.com>
2024-10-06 20:24:40 -07:00

114 lines
No EOL
2.7 KiB
Groovy

pipeline {
agent any
options {
buildDiscarder(
logRotator(
numToKeepStr: '5'
)
)
}
stages {
stage("Clean Up") {
agent {
label 'linuxfs'
}
steps {
script {
sh '''
#!/bin/bash
git clean -xfd
git reset --hard
'''
}
}
post {
always {
deleteDir()
}
}
}
stage("Clone Viewer Source") {
agent {
label "linuxfs"
}
steps {
script {
sh '''
#!/bin/bash
git submodule add https://github.com/FirestormViewer/phoenix-firestorm
'''
}
}
}
stage("Apply Patches") {
agent {
label "LinuxFS"
}
steps {
script {
sh '''
#!/bin/bash
cd patches
# Loop over all patch files and apply them
for patch_file in *.patch; do
if [ -f "$patch_file" ]
then
echo "Applying $patch_file to ../phoenix-firestorm/"
patch -d ../phoenix-firestorm/ -Np1 < "$patch_file"
fi
done
echo "All patches applied."
'''
}
}
}
stage("Build Viewer") {
agent {
label "linuxfs"
}
steps {
script {
sh '''
#!/bin/bash
cd phoenix-firestorm
rm -fv build*/newview/Phoenix*tar*
rm -fv build*/newview/*.AppImage
rm -rfv build*/newview/squash*
rm -rfv build*/newview/packaged
chmod +x /firestorm/installables.sh
/firestorm/installables.sh
autobuild configure -A64 -c ReleaseFS_open -- --fmodstudio --chan FS_ci_zdev --package -DLL_TESTS:BOOL=NO
autobuild build -A64 -c ReleaseFS_open --no-configure -- --fmodstudio || true
'''
}
}
post {
always {
archiveArtifacts artifacts: "phoenix*/build*/newview/Phoenix*tar*"
deleteDir()
}
}
}
}
}