Super Mario 64 OpenGL port for PC. Mirror of https://github.com/sm64pc/sm64pc https://github.com/sm64pc/sm64pc
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

55 lines
1.3 KiB

  1. pipeline {
  2. agent any
  3. stages {
  4. stage('Build Tools') {
  5. steps {
  6. sh 'make -j4 -C tools/'
  7. }
  8. }
  9. stage('Extract Assets') {
  10. steps {
  11. sh 'ln -s "$ROMS_DIR/Super Mario 64 (J) [!].z64" baserom.jp.z64'
  12. sh 'ln -s "$ROMS_DIR/Super Mario 64 (U) [!].z64" baserom.us.z64'
  13. sh 'ln -s "$ROMS_DIR/Super Mario 64 (E) (M3) [!].z64" baserom.eu.z64'
  14. // verify no assets were committed to repo
  15. sh '[ -z "$(find {actors,levels,textures}/ -name \'*.png\')" ]'
  16. sh '[ -z "$(find assets/ -name \'*.m64\' -or \'*.bin\')" ]'
  17. sh './extract_assets.py jp us eu'
  18. }
  19. }
  20. stage('Build U Source') {
  21. steps {
  22. sh 'make -j4 VERSION=us'
  23. }
  24. }
  25. stage('Build E Source') {
  26. steps {
  27. sh 'make -j4 VERSION=eu'
  28. }
  29. }
  30. stage('Build J Source') {
  31. steps {
  32. sh 'make -j4 VERSION=jp'
  33. }
  34. }
  35. stage('Test Enhancements') {
  36. steps {
  37. sh '''
  38. set -e
  39. for f in enhancements/*.patch
  40. do
  41. git clean -fd .
  42. git checkout -- .
  43. echo 'y' | tools/apply_patch.sh "$f"
  44. make -j4 VERSION=us COMPARE=0
  45. done
  46. '''
  47. }
  48. }
  49. }
  50. environment {
  51. QEMU_IRIX = credentials('qemu-irix')
  52. ROMS_DIR = credentials('roms')
  53. }
  54. }