Phase 6: Gitea-Cross-Builds, Paketprüfung und gesperrten Releasepfad implementieren
Some checks failed
Vierziel-Build und Pflichtabnahme / checks (push) Has been cancelled
Vierziel-Build und Pflichtabnahme / build (ghcr.io/rust-cross/cargo-zigbuild@sha256:82af75c41958c2af2787e8bedd912da7678a9438937e223e9d83d006d747b38b, aarch64-apple-darwin) (push) Has been cancelled
Vierziel-Build und Pflichtabnahme / build (ghcr.io/rust-cross/cargo-zigbuild@sha256:82af75c41958c2af2787e8bedd912da7678a9438937e223e9d83d006d747b38b, aarch64-unknown-linux-gnu) (push) Has been cancelled
Vierziel-Build und Pflichtabnahme / build (ghcr.io/rust-cross/cargo-zigbuild@sha256:82af75c41958c2af2787e8bedd912da7678a9438937e223e9d83d006d747b38b, x86_64-unknown-linux-gnu) (push) Has been cancelled
Vierziel-Build und Pflichtabnahme / build (messense/cargo-xwin@sha256:4696dd4e79edf8569fa99c4b06bd99273e0501c7adc983aa61d57945f795bef0, x86_64-pc-windows-msvc) (push) Has been cancelled
Vierziel-Build und Pflichtabnahme / stage (push) Has been cancelled

This commit is contained in:
2026-09-07 21:50:05 +02:00
parent 796564795a
commit 32d3838002
40 changed files with 3134 additions and 11 deletions

View File

@@ -63,8 +63,15 @@ def main():
library = root / 'library.tbl'
shutil.copyfile(args.library, library)
template = root / ('runtime' + suffix)
shutil.copy2(binaries / ('tbrt' + suffix), template)
run([template_tool, template, target], root, env)
runtime = binaries / ('tbrt' + suffix)
if not runtime.is_file():
runtime = binaries / 'runtimes' / target / ('tbrt' + suffix)
shutil.copy2(runtime, template)
metadata = Path(str(runtime) + '.meta')
if metadata.is_file():
shutil.copyfile(metadata, Path(str(template) + '.meta'))
else:
run([template_tool, template, target], root, env)
source = root / 'consumer.bas'
source.write_text(SOURCE, encoding='utf-8')
linked = root / 'consumer.tbc'

View File

@@ -76,13 +76,19 @@ def main():
suffix = '.exe' if args.target == 'x86_64-pc-windows-msvc' else ''
tbc = binaries / ('tbc' + suffix)
rt = binaries / ('tbrt' + suffix)
if not rt.is_file():
rt = binaries / 'runtimes' / args.target / ('tbrt' + suffix)
prepare = binaries / ('tb-template' + suffix)
env = dict(os.environ, PATH='') # weder Cargo noch tbc/tbrt über PATH auflösbar
with tempfile.TemporaryDirectory(prefix='tb-native-') as work:
root = Path(work)
template = root / ('runtime' + suffix)
shutil.copy2(rt, template)
must(run([prepare, template, args.target], root))
metadata = Path(str(rt) + '.meta')
if metadata.is_file():
shutil.copyfile(metadata, Path(str(template) + '.meta'))
else:
must(run([prepare, template, args.target], root))
empty = run([template], root, env=env)
assert empty.returncode == 1 and b'Nutzlast' in empty.stderr, empty
cases = {