Skip to content

Start Svelte framework implementation (8/8) - WIP #32

Start Svelte framework implementation (8/8) - WIP

Start Svelte framework implementation (8/8) - WIP #32

name: Reproducibility Check
on:
workflow_dispatch:
push:
branches:
- main
- 'fix/*'
jobs:
repro:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install package
run: |
python -m pip install --upgrade pip
python -m pip install -e .
python -m pip install pytest
- name: Run self-host twice
run: |
rm -rf artifacts || true
mkdir -p artifacts/run1 artifacts/run2
python - <<PY
from src.shieldcraft.main import run_self_host
run_self_host('examples/selfhost/bootstrap_spec.json', 'src/shieldcraft/dsl/schema/se_dsl.schema.json')
import shutil, os
shutil.copytree('.selfhost_outputs', 'artifacts/run1/selfhost', dirs_exist_ok=True)
run_self_host('examples/selfhost/bootstrap_spec.json', 'src/shieldcraft/dsl/schema/se_dsl.schema.json')
shutil.copytree('.selfhost_outputs', 'artifacts/run2/selfhost', dirs_exist_ok=True)
PY
- name: Diff outputs
run: |
set -e
diff -r artifacts/run1 artifacts/run2 || (
echo 'Reproducibility check failed: outputs differ' && exit 2
)