diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..517537e --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,96 @@ +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 + ''' + } + } + } + + 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 + for i in *.patch; do + echo "Applying patch: $i" + patch -Np1 -i "$i" -d ../phoenix-firestorm/ + done + ''' + } + } + } + + stage("Build Viewer") { + agent { + label "linuxfs" + } + + script { + sh ''' + #!/bin/bash + + 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: "*build*/newview/Phoenix*tar" + deleteDir() + } + } + } + } +} \ No newline at end of file