mirror of
				https://github.com/coop-deluxe/sm64coopdx.git
				synced 2025-10-30 08:01:01 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			54 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')
 | 
						|
  }
 | 
						|
}
 |