Harden image ingress: magic bytes, re-encode, limits, metadata stripping, rate control #63
|
|
@ -64,6 +64,6 @@ jobs:
|
|||
npm run check:syntax
|
||||
node --check tests/staging.acceptance.mjs
|
||||
- name: Image runtime pin and re-encode smoke
|
||||
run: python3 -c "import importlib.util,json,pathlib; s=importlib.util.spec_from_file_location('d','scripts/deploy_staging.py'); m=importlib.util.module_from_spec(s); s.loader.exec_module(m); print(json.dumps(m.verify_image_runtime(pathlib.Path('.'))))"
|
||||
run: python3 -c "import importlib.util,json,pathlib,sys; s=importlib.util.spec_from_file_location('d','scripts/deploy_staging.py'); m=importlib.util.module_from_spec(s); sys.modules[s.name]=m; s.loader.exec_module(m); print(json.dumps(m.verify_image_runtime(pathlib.Path('.'))))"
|
||||
- name: Diff hygiene
|
||||
run: npm run check:diff
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ test('Gitea CI gates pull requests and main with the reproducible quality suite'
|
|||
assert.match(workflow, /uses: actions\/setup-python@v5/);
|
||||
assert.match(workflow, /python-version: ['"]3\.11['"]/);
|
||||
assert.match(workflow, /TIMMY_PYTHON=.*sys\.executable/);
|
||||
assert.match(workflow, /sys\.modules\[s\.name\]=m/);
|
||||
assert.match(workflow, /npm test/);
|
||||
assert.match(workflow, /npm run test:ui/);
|
||||
assert.match(workflow, /npm run test:photo/);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user