55 lines
1.3 KiB
Groovy
55 lines
1.3 KiB
Groovy
pipeline {
|
|
agent any
|
|
stages {
|
|
stage('Build Tools') {
|
|
steps {
|
|
sh 'make -j4 -C tools/'
|
|
}
|
|
}
|
|
stage('Extract Assets') {
|
|
steps {
|
|
sh 'ln -s "$ROMS_DIR/Super Mario 64 (J) [!].z64" baserom.jp.z64'
|
|
sh 'ln -s "$ROMS_DIR/Super Mario 64 (U) [!].z64" baserom.us.z64'
|
|
sh 'ln -s "$ROMS_DIR/Super Mario 64 (E) (M3) [!].z64" baserom.eu.z64'
|
|
// verify no assets were committed to repo
|
|
sh '[ -z "$(find {actors,levels,textures}/ -name \'*.png\')" ]'
|
|
sh '[ -z "$(find assets/ -name \'*.m64\' -or \'*.bin\')" ]'
|
|
sh './extract_assets.py jp us eu'
|
|
}
|
|
}
|
|
stage('Build U Source') {
|
|
steps {
|
|
sh 'make -j4 VERSION=us'
|
|
}
|
|
}
|
|
stage('Build E Source') {
|
|
steps {
|
|
sh 'make -j4 VERSION=eu'
|
|
}
|
|
}
|
|
stage('Build J Source') {
|
|
steps {
|
|
sh 'make -j4 VERSION=jp'
|
|
}
|
|
}
|
|
stage('Test Enhancements') {
|
|
steps {
|
|
sh '''
|
|
set -e
|
|
for f in enhancements/*.patch
|
|
do
|
|
git clean -fd .
|
|
git checkout -- .
|
|
echo 'y' | tools/apply_patch.sh "$f"
|
|
make -j4 VERSION=us COMPARE=0
|
|
done
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
environment {
|
|
QEMU_IRIX = credentials('qemu-irix')
|
|
ROMS_DIR = credentials('roms')
|
|
}
|
|
}
|