Files
HackerOoT/Jenkinsfile

116 lines
3.4 KiB
Plaintext
Raw Permalink Normal View History

2020-03-17 01:54:42 -04:00
pipeline {
agent {
label 'oot'
}
2020-03-17 01:54:42 -04:00
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 {
echo 'Checking formatting on modified files...'
sh 'python3 tools/check_format.py --verbose --compare-to origin/main'
}
}
Merge zeldaret/main (#106) * Match retail BSS ordering (#1927) * Match retail BSS ordering * Revert moving some global variables to headers * Adjust block numbers after header changes * Fix debug build * Overlay bss ordering * Fix BSS ordering after header changes * gc-eu-mq OK * Implement preprocessor for #pragma increment_block_number * Transfer usage comment from reencode.sh * Use temporary directory instead of temporary file * Move ColChkMassType back * Player: Document "WaitForPutAway" (#1936) * document put away delay * functions.txt * add a note on delaying indefinitely * format * typo * delay -> wait for put away * revert unintended formatting change * add comment to struct member * format * fix functions.txt * Set up gc-eu and match all code (#1938) * Set up gc-eu and match all code * Format * Mark gc-eu-mq as WIP until it builds OK * Move original/MQ map mark data to separate files * Add #includes to .inc.c files to help out VS Code * Use #if in spec instead of .inc.c files * Delete disassembly data for gc-eu-mq (#1942) * Player Docs: "sUpperBodyIsBusy" (#1944) * document upperbodybusy * change wording for comment and rename upperanimblendweight * format * review * Fix miscategorized scenes (#1946) * Fix miscategorized scenes * Sort includes * Player Docs: Action Interrupt (#1947) * document action interrupt * format * new function comment * format * add a note about items * format * Add gc-eu-mq to CI (#1943) * Add gc-eu-mq to CI * Give up on scripting * Revert quotes changes * Player Docs: Name some high level update calls (#1593) * name some low hanging fruit * revert burn and shock, doing in seperate pr * add some function comments * yaw func * adjust comment * some review * unname UpdateZTarget * Player_DetectRumbleSecrets * fix dive do action name * Player Docs: Control stick buffers (#1945) * name vars and add enum * name some spin attack stuff * fix right and left * forward/backward * format * fix retail bss * sControlStickWorldYaw * Force string.o to be in boot for gcc builds (#1948) In retail builds, memcpy is linked in code, not boot, but GCC likes to call memcpy when copying structs so currently GCC builds immediately crash in __osInitialize_common. * Rename yDistToWater -> depthInWater (#1950) * Rename yDistToWater -> yDistUnderWater * yDistUnderWater -> depthInWater * Check baserom hash before decompression (#1952) * Remove Cygwin support (#1951) * update installation docs * setup fixes * tabs --------- Co-authored-by: cadmic <cadmic24@gmail.com> Co-authored-by: fig02 <fig02srl@gmail.com>
2024-05-10 18:21:07 +02:00
stage('Setup gc-eu-mq-dbg') {
2020-03-17 01:54:42 -04:00
steps {
Merge zeldaret/main (#106) * Match retail BSS ordering (#1927) * Match retail BSS ordering * Revert moving some global variables to headers * Adjust block numbers after header changes * Fix debug build * Overlay bss ordering * Fix BSS ordering after header changes * gc-eu-mq OK * Implement preprocessor for #pragma increment_block_number * Transfer usage comment from reencode.sh * Use temporary directory instead of temporary file * Move ColChkMassType back * Player: Document "WaitForPutAway" (#1936) * document put away delay * functions.txt * add a note on delaying indefinitely * format * typo * delay -> wait for put away * revert unintended formatting change * add comment to struct member * format * fix functions.txt * Set up gc-eu and match all code (#1938) * Set up gc-eu and match all code * Format * Mark gc-eu-mq as WIP until it builds OK * Move original/MQ map mark data to separate files * Add #includes to .inc.c files to help out VS Code * Use #if in spec instead of .inc.c files * Delete disassembly data for gc-eu-mq (#1942) * Player Docs: "sUpperBodyIsBusy" (#1944) * document upperbodybusy * change wording for comment and rename upperanimblendweight * format * review * Fix miscategorized scenes (#1946) * Fix miscategorized scenes * Sort includes * Player Docs: Action Interrupt (#1947) * document action interrupt * format * new function comment * format * add a note about items * format * Add gc-eu-mq to CI (#1943) * Add gc-eu-mq to CI * Give up on scripting * Revert quotes changes * Player Docs: Name some high level update calls (#1593) * name some low hanging fruit * revert burn and shock, doing in seperate pr * add some function comments * yaw func * adjust comment * some review * unname UpdateZTarget * Player_DetectRumbleSecrets * fix dive do action name * Player Docs: Control stick buffers (#1945) * name vars and add enum * name some spin attack stuff * fix right and left * forward/backward * format * fix retail bss * sControlStickWorldYaw * Force string.o to be in boot for gcc builds (#1948) In retail builds, memcpy is linked in code, not boot, but GCC likes to call memcpy when copying structs so currently GCC builds immediately crash in __osInitialize_common. * Rename yDistToWater -> depthInWater (#1950) * Rename yDistToWater -> yDistUnderWater * yDistUnderWater -> depthInWater * Check baserom hash before decompression (#1952) * Remove Cygwin support (#1951) * update installation docs * setup fixes * tabs --------- Co-authored-by: cadmic <cadmic24@gmail.com> Co-authored-by: fig02 <fig02srl@gmail.com>
2024-05-10 18:21:07 +02:00
sh 'cp /usr/local/etc/roms/oot-gc-eu-mq-dbg.z64 baseroms/gc-eu-mq-dbg/baserom.z64'
sh 'make -j setup'
}
}
Merge zeldaret/main (#106) * Match retail BSS ordering (#1927) * Match retail BSS ordering * Revert moving some global variables to headers * Adjust block numbers after header changes * Fix debug build * Overlay bss ordering * Fix BSS ordering after header changes * gc-eu-mq OK * Implement preprocessor for #pragma increment_block_number * Transfer usage comment from reencode.sh * Use temporary directory instead of temporary file * Move ColChkMassType back * Player: Document "WaitForPutAway" (#1936) * document put away delay * functions.txt * add a note on delaying indefinitely * format * typo * delay -> wait for put away * revert unintended formatting change * add comment to struct member * format * fix functions.txt * Set up gc-eu and match all code (#1938) * Set up gc-eu and match all code * Format * Mark gc-eu-mq as WIP until it builds OK * Move original/MQ map mark data to separate files * Add #includes to .inc.c files to help out VS Code * Use #if in spec instead of .inc.c files * Delete disassembly data for gc-eu-mq (#1942) * Player Docs: "sUpperBodyIsBusy" (#1944) * document upperbodybusy * change wording for comment and rename upperanimblendweight * format * review * Fix miscategorized scenes (#1946) * Fix miscategorized scenes * Sort includes * Player Docs: Action Interrupt (#1947) * document action interrupt * format * new function comment * format * add a note about items * format * Add gc-eu-mq to CI (#1943) * Add gc-eu-mq to CI * Give up on scripting * Revert quotes changes * Player Docs: Name some high level update calls (#1593) * name some low hanging fruit * revert burn and shock, doing in seperate pr * add some function comments * yaw func * adjust comment * some review * unname UpdateZTarget * Player_DetectRumbleSecrets * fix dive do action name * Player Docs: Control stick buffers (#1945) * name vars and add enum * name some spin attack stuff * fix right and left * forward/backward * format * fix retail bss * sControlStickWorldYaw * Force string.o to be in boot for gcc builds (#1948) In retail builds, memcpy is linked in code, not boot, but GCC likes to call memcpy when copying structs so currently GCC builds immediately crash in __osInitialize_common. * Rename yDistToWater -> depthInWater (#1950) * Rename yDistToWater -> yDistUnderWater * yDistUnderWater -> depthInWater * Check baserom hash before decompression (#1952) * Remove Cygwin support (#1951) * update installation docs * setup fixes * tabs --------- Co-authored-by: cadmic <cadmic24@gmail.com> Co-authored-by: fig02 <fig02srl@gmail.com>
2024-05-10 18:21:07 +02:00
stage('Build gc-eu-mq-dbg (qemu-irix)') {
when {
branch 'main'
}
steps {
sh 'make -j ORIG_COMPILER=1'
2020-03-17 01:54:42 -04:00
}
}
Merge zeldaret/main (#106) * Match retail BSS ordering (#1927) * Match retail BSS ordering * Revert moving some global variables to headers * Adjust block numbers after header changes * Fix debug build * Overlay bss ordering * Fix BSS ordering after header changes * gc-eu-mq OK * Implement preprocessor for #pragma increment_block_number * Transfer usage comment from reencode.sh * Use temporary directory instead of temporary file * Move ColChkMassType back * Player: Document "WaitForPutAway" (#1936) * document put away delay * functions.txt * add a note on delaying indefinitely * format * typo * delay -> wait for put away * revert unintended formatting change * add comment to struct member * format * fix functions.txt * Set up gc-eu and match all code (#1938) * Set up gc-eu and match all code * Format * Mark gc-eu-mq as WIP until it builds OK * Move original/MQ map mark data to separate files * Add #includes to .inc.c files to help out VS Code * Use #if in spec instead of .inc.c files * Delete disassembly data for gc-eu-mq (#1942) * Player Docs: "sUpperBodyIsBusy" (#1944) * document upperbodybusy * change wording for comment and rename upperanimblendweight * format * review * Fix miscategorized scenes (#1946) * Fix miscategorized scenes * Sort includes * Player Docs: Action Interrupt (#1947) * document action interrupt * format * new function comment * format * add a note about items * format * Add gc-eu-mq to CI (#1943) * Add gc-eu-mq to CI * Give up on scripting * Revert quotes changes * Player Docs: Name some high level update calls (#1593) * name some low hanging fruit * revert burn and shock, doing in seperate pr * add some function comments * yaw func * adjust comment * some review * unname UpdateZTarget * Player_DetectRumbleSecrets * fix dive do action name * Player Docs: Control stick buffers (#1945) * name vars and add enum * name some spin attack stuff * fix right and left * forward/backward * format * fix retail bss * sControlStickWorldYaw * Force string.o to be in boot for gcc builds (#1948) In retail builds, memcpy is linked in code, not boot, but GCC likes to call memcpy when copying structs so currently GCC builds immediately crash in __osInitialize_common. * Rename yDistToWater -> depthInWater (#1950) * Rename yDistToWater -> yDistUnderWater * yDistUnderWater -> depthInWater * Check baserom hash before decompression (#1952) * Remove Cygwin support (#1951) * update installation docs * setup fixes * tabs --------- Co-authored-by: cadmic <cadmic24@gmail.com> Co-authored-by: fig02 <fig02srl@gmail.com>
2024-05-10 18:21:07 +02:00
stage('Build gc-eu-mq-dbg') {
when {
not {
branch 'main'
}
}
2020-03-17 01:54:42 -04:00
steps {
sh 'make -j RUN_CC_CHECK=0'
2020-03-17 01:54:42 -04:00
}
}
Merge zeldaret/main (#106) * Match retail BSS ordering (#1927) * Match retail BSS ordering * Revert moving some global variables to headers * Adjust block numbers after header changes * Fix debug build * Overlay bss ordering * Fix BSS ordering after header changes * gc-eu-mq OK * Implement preprocessor for #pragma increment_block_number * Transfer usage comment from reencode.sh * Use temporary directory instead of temporary file * Move ColChkMassType back * Player: Document "WaitForPutAway" (#1936) * document put away delay * functions.txt * add a note on delaying indefinitely * format * typo * delay -> wait for put away * revert unintended formatting change * add comment to struct member * format * fix functions.txt * Set up gc-eu and match all code (#1938) * Set up gc-eu and match all code * Format * Mark gc-eu-mq as WIP until it builds OK * Move original/MQ map mark data to separate files * Add #includes to .inc.c files to help out VS Code * Use #if in spec instead of .inc.c files * Delete disassembly data for gc-eu-mq (#1942) * Player Docs: "sUpperBodyIsBusy" (#1944) * document upperbodybusy * change wording for comment and rename upperanimblendweight * format * review * Fix miscategorized scenes (#1946) * Fix miscategorized scenes * Sort includes * Player Docs: Action Interrupt (#1947) * document action interrupt * format * new function comment * format * add a note about items * format * Add gc-eu-mq to CI (#1943) * Add gc-eu-mq to CI * Give up on scripting * Revert quotes changes * Player Docs: Name some high level update calls (#1593) * name some low hanging fruit * revert burn and shock, doing in seperate pr * add some function comments * yaw func * adjust comment * some review * unname UpdateZTarget * Player_DetectRumbleSecrets * fix dive do action name * Player Docs: Control stick buffers (#1945) * name vars and add enum * name some spin attack stuff * fix right and left * forward/backward * format * fix retail bss * sControlStickWorldYaw * Force string.o to be in boot for gcc builds (#1948) In retail builds, memcpy is linked in code, not boot, but GCC likes to call memcpy when copying structs so currently GCC builds immediately crash in __osInitialize_common. * Rename yDistToWater -> depthInWater (#1950) * Rename yDistToWater -> yDistUnderWater * yDistUnderWater -> depthInWater * Check baserom hash before decompression (#1952) * Remove Cygwin support (#1951) * update installation docs * setup fixes * tabs --------- Co-authored-by: cadmic <cadmic24@gmail.com> Co-authored-by: fig02 <fig02srl@gmail.com>
2024-05-10 18:21:07 +02:00
stage('Setup gc-eu-mq') {
steps {
sh 'cp /usr/local/etc/roms/oot-gc-eu-mq.z64 baseroms/gc-eu-mq/baserom.z64'
sh 'make -j setup VERSION=gc-eu-mq'
}
}
stage('Build gc-eu-mq (qemu-irix)') {
when {
branch 'main'
}
steps {
sh 'make -j VERSION=gc-eu-mq ORIG_COMPILER=1'
}
}
stage('Build gc-eu-mq') {
when {
not {
branch 'main'
}
}
steps {
sh 'make -j VERSION=gc-eu-mq RUN_CC_CHECK=0'
}
}
stage('Report Progress') {
when {
branch 'main'
}
steps {
sh 'mkdir reports'
sh 'python3 progress.py csv >> reports/progress-oot-nonmatching.csv'
sh 'python3 progress.py csv -m >> reports/progress-oot-matching.csv'
sh 'python3 progress.py shield-json > reports/progress-oot-shield.json'
stash includes: 'reports/*', name: 'reports'
}
}
stage('Update Progress') {
when {
branch 'main'
}
agent {
2022-10-16 16:45:29 +09:00
label 'zeldaret_website'
}
steps {
unstash 'reports'
sh 'cat reports/progress-oot-nonmatching.csv >> /var/www/zelda64.dev/assets/csv/progress-oot-nonmatching.csv'
2021-12-19 00:31:22 +09:00
sh 'cat reports/progress-oot-matching.csv >> /var/www/zelda64.dev/assets/csv/progress-oot-matching.csv'
sh 'cat reports/progress-oot-shield.json > /var/www/zelda64.dev/assets/csv/progress-oot-shield.json'
}
}
2020-03-17 01:54:42 -04:00
}
post {
always {
echo "Finished, deleting directory."
deleteDir()
}
cleanup {
echo "Clean up in post."
cleanWs(cleanWhenNotBuilt: false,
deleteDirs: true,
disableDeferredWipeout: true,
notFailBuild: true)
2020-03-17 01:54:42 -04:00
}
}
}