Files
TerminalBasic/.gitea/scripts/acceptance.py
Chili Palmer 32d3838002
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
Phase 6: Gitea-Cross-Builds, Paketprüfung und gesperrten Releasepfad implementieren
2026-09-07 21:50:05 +02:00

38 lines
2.0 KiB
Python

#!/usr/bin/env python3
"""Pflichtabnahme mit fixiertem Fremdbestand und zugeordneter Runner-Messung."""
import json
import os
from pathlib import Path
import platform
import subprocess
import sys
import tempfile
import distribution as dist
output = Path('acceptance')
output.mkdir()
revision = subprocess.check_output(['git', 'rev-parse', 'HEAD'], text=True).strip()
report = dict(revision=revision, passed=False, buildhost=platform.platform(),
run_url=os.environ.get('TB_RUN_URL', ''), foreign=False, inventory=False,
workspace=False, benchmarks=False, native_ide=False)
try:
repo = Path(os.environ['TB_VBDOS_REPO'])
with (output / 'acceptance.log').open('wb') as log:
dist.run([sys.executable, dist.ROOT / 'tests/support/release-abnahme.py', '--vbdos-repo', repo],
stdout=log, stderr=subprocess.STDOUT)
with tempfile.TemporaryDirectory(prefix='tb-ci-runtime-') as temporary:
runtime = Path(temporary) / 'runtime'
with (output / 'native-ide.log').open('wb') as log:
dist.run([sys.executable, dist.ROOT / 'tests/support/build-runtime.py',
'--target', dist.HOSTS[(platform.system(), platform.machine())],
'--output', runtime / dist.HOSTS[(platform.system(), platform.machine())]],
stdout=log, stderr=subprocess.STDOUT)
dist.run(['cargo', 'test', '--locked', '-p', 'tb-cli', '--bin', 'tbc',
'ide_acceptance::real_native_ide_exports_and_source_free_cli_library_consumer',
'--', '--exact', '--ignored', '--nocapture'],
env=dict(os.environ, TB_IDE_RUNTIME_DIR=str(runtime)), stdout=log, stderr=subprocess.STDOUT)
report.update(passed=True, native_ide=True, foreign=True, inventory=True, workspace=True, benchmarks=True)
finally:
report['log_sha256'] = dist.digest(output / 'acceptance.log') if (output / 'acceptance.log').exists() else None
(output / 'acceptance.json').write_text(json.dumps(report, indent=2) + '\n')