Check f1-circuits' service code before a change merges into what the mesh builds (hq ADR 0237)
The repository's layer of the mesh's merge check (mesh/repo-check): every Python file the image ships, parsed; what cannot run is said.
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
# mesh-check-toolchain: go
|
||||
#
|
||||
# f1-circuits' own check (novox/hq ADR 0237): the second layer of a pull request's merge check,
|
||||
# `mesh/repo-check`, run by the build seat in the mesh's Go toolchain, which carries Python for the merge
|
||||
# checks that need it. The gate — the manifest through the controller the mesh runs, every machine
|
||||
# composed with it — is the build seat's first layer (`mesh/merge-gate`), run because the mesh's module
|
||||
# graph builds f1-circuits from this branch.
|
||||
#
|
||||
# What the image ships, compiled before the merge: every Python file the service's image copies, and the
|
||||
# models it imports.
|
||||
#
|
||||
# **Said, never passed silently**: the service's dependencies (service/requirements.txt) are the image's to
|
||||
# install, so the service is not started, and the repository has no tests.
|
||||
set -eu
|
||||
|
||||
# Parsed, not compiled to files: a check leaves the tree as it found it.
|
||||
find cdn-api.py circuits_service.py ergast_service.py posters_service.py models -name '*.py' -print0 |
|
||||
xargs -0 python3 -c 'import ast, sys
|
||||
for f in sys.argv[1:]:
|
||||
ast.parse(open(f, encoding="utf-8").read(), f)
|
||||
print(len(sys.argv) - 1, "Python file(s) parse")'
|
||||
echo "NOT RUN HERE: the service (its dependencies are the image's to install); the repository has no tests"
|
||||
Reference in New Issue
Block a user