Extend profiles from 280 to 312 bytes with legacy compatibility. Keep tower relics run-local and share the profile bankroll.
30 lines
1.4 KiB
Python
30 lines
1.4 KiB
Python
"""Build full native action suite without changing production source or executables."""
|
|
from pathlib import Path
|
|
import subprocess
|
|
import sys
|
|
from check_artifacts import toolchain
|
|
|
|
ROOT = Path(__file__).resolve().parents[2]
|
|
|
|
|
|
def main():
|
|
(ROOT/'build/actions').mkdir(parents=True, exist_ok=True)
|
|
for fixture in ('prepare_arrival_fixtures.py', 'prepare_clover_fixtures.py',
|
|
'prepare_poker_fixtures.py'):
|
|
subprocess.run([sys.executable, '-B', str(ROOT/'tools/tests'/fixture)], check=True, cwd=ROOT)
|
|
ml, link = toolchain()
|
|
sdk = Path('C:/Program Files (x86)/Windows Kits/10/Lib')
|
|
libraries = next(p/'um/x86' for p in sorted(sdk.iterdir(), reverse=True)
|
|
if (p/'um/x86/kernel32.lib').exists())
|
|
subprocess.run([str(ml), '/c', '/coff', '/Cp', '/nologo', '/I.', '/DCASINO_ACTION_TEST=1',
|
|
'/Fobuild/actions/actions-test.obj', 'poker.asm'], cwd=ROOT, check=True)
|
|
subprocess.run([str(link), '/nologo', '/SUBSYSTEM:CONSOLE', '/LIBPATH:'+str(libraries),
|
|
'/OUT:build/actions/actions-test.exe', 'build/actions/actions-test.obj',
|
|
'kernel32.lib', 'winmm.lib', 'user32.lib', 'gdi32.lib', 'opengl32.lib'],
|
|
cwd=ROOT, check=True)
|
|
subprocess.run([str(ROOT/'build/actions/actions-test.exe')], cwd=ROOT, check=True, timeout=600)
|
|
print((ROOT/'build/actions/test-report.txt').read_text(encoding='ascii'))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|