summaryrefslogtreecommitdiff
path: root/Jenkinsfile
diff options
context:
space:
mode:
Diffstat (limited to 'Jenkinsfile')
-rw-r--r--Jenkinsfile187
1 files changed, 0 insertions, 187 deletions
diff --git a/Jenkinsfile b/Jenkinsfile
deleted file mode 100644
index 3e4cba55c..000000000
--- a/Jenkinsfile
+++ /dev/null
@@ -1,187 +0,0 @@
-pipeline {
- agent {
- label 'oot'
- }
-
- stages {
- stage('Check formatting (full)') {
- when {
- branch 'main'
- }
- steps {
- echo 'Checking formatting on all files...'
- sh 'python3 tools/check_format.py'
- }
- }
- stage('Check formatting (modified)') {
- when {
- not {
- branch 'main'
- }
- }
- steps {
- catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
- echo 'Checking formatting on modified files...'
- sh 'python3 tools/check_format.py --verbose --compare-to origin/main'
- }
- }
- }
- // The ROMs are built in an order that maximizes compiler flags coverage in a "fail fast" approach.
- // Specifically we start with a retail ROM for BSS ordering, and make sure we cover all of
- // N64/GC/NTSC/PAL/MQ/DEBUG as quickly as possible.
- stage('Build ntsc-1.0') {
- steps {
- script {
- build('ntsc-1.0', 'oot-ntsc-1.0-us.z64')
- }
- }
- }
- stage('Build gc-jp') {
- steps {
- script {
- build('gc-jp', 'oot-gc-jp.z64')
- }
- }
- }
- stage('Build gc-eu-mq') {
- steps {
- script {
- build('gc-eu-mq', 'oot-gc-eu-mq.z64')
- }
- }
- }
- stage('Build gc-eu-mq-dbg') {
- steps {
- script {
- build('gc-eu-mq-dbg', 'oot-gc-eu-mq-dbg.z64')
- }
- }
- }
- stage('Build pal-1.0') {
- steps {
- script {
- build('pal-1.0', 'oot-pal-1.0.z64')
- }
- }
- }
- stage('Build ntsc-1.2') {
- steps {
- script {
- build('ntsc-1.2', 'oot-ntsc-1.2-us.z64')
- }
- }
- }
- stage('Build gc-us') {
- steps {
- script {
- build('gc-us', 'oot-gc-us.z64')
- }
- }
- }
- stage('Build gc-jp-ce') {
- steps {
- script {
- build('gc-jp-ce', 'oot-gc-jp-ce.z64')
- }
- }
- }
- stage('Build gc-eu') {
- steps {
- script {
- build('gc-eu', 'oot-gc-eu.z64')
- }
- }
- }
- stage('Build gc-jp-mq') {
- steps {
- script {
- build('gc-jp-mq', 'oot-gc-jp-mq.z64')
- }
- }
- }
- stage('Build pal-1.1') {
- steps {
- script {
- build('pal-1.1', 'oot-pal-1.1.z64')
- }
- }
- }
- stage('Build ntsc-1.1') {
- steps {
- script {
- build('ntsc-1.1', 'oot-ntsc-1.1-us.z64')
- }
- }
- }
- stage('Build gc-us-mq') {
- steps {
- script {
- build('gc-us-mq', 'oot-gc-us-mq.z64')
- }
- }
- }
- stage('Build ique-cn') {
- steps {
- script {
- build('ique-cn', 'oot-ique-cn.z64')
- }
- }
- }
- stage('Build gc-eu-dbg-2') {
- steps {
- script {
- build('gc-eu-dbg-2', 'oot-gc-eu-dbg-proto.z64')
- }
- }
- }
- stage('Build gc-eu-dbg') {
- steps {
- script {
- build('gc-eu-dbg', 'oot-gc-eu-dbg.z64')
- }
- }
- }
- stage('Generate patch') {
- when {
- not {
- branch 'main'
- }
- }
- steps {
- sh 'git diff'
- echo 'Generating patch...'
- sh 'tools/generate_patch_from_jenkins.sh'
- }
- }
- }
- post {
- always {
- echo "Finished, deleting directory."
- deleteDir()
- }
- cleanup {
- echo "Clean up in post."
- cleanWs(cleanWhenNotBuilt: false,
- deleteDirs: true,
- disableDeferredWipeout: true,
- notFailBuild: true)
- }
- }
-}
-
-def build(String version, String rom) {
- sh "ln -s /usr/local/etc/roms/${rom} baseroms/${version}/baserom.z64"
- sh "make -j\$(nproc) setup VERSION=${version}"
- try {
- sh "make -j\$(nproc) VERSION=${version}"
- } catch (e) {
- echo "Build failed, attempting to fix BSS ordering..."
- sh ".venv/bin/python3 tools/fix_bss.py -v ${version}"
- // If fix_bss.py succeeds, continue the build, but ensure both the build and current stage are marked as failed
- catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
- sh 'exit 1'
- }
- } finally {
- sh "make clean assetclean VERSION=${version}"
- }
-}