Compare commits
1 Commits
fix/691
...
burn/715-1
| Author | SHA1 | Date | |
|---|---|---|---|
| 8900f22ddc |
@@ -13,12 +13,34 @@ jobs:
|
||||
python-version: '3.11'
|
||||
- name: Parse check
|
||||
run: |
|
||||
find . -name '*.yml' -o -name '*.yaml' | grep -v .gitea | xargs -r python3 -c "import sys,yaml; [yaml.safe_load(open(f)) for f in sys.argv[1:]]"
|
||||
find . -name '*.json' | xargs -r python3 -m json.tool > /dev/null
|
||||
find . -name '*.py' | xargs -r python3 -m py_compile
|
||||
find . -name '*.sh' | xargs -r bash -n
|
||||
set -euo pipefail
|
||||
echo "--- YAML ---"
|
||||
find . -name '*.yml' -o -name '*.yaml' | grep -v .gitea | while read f; do
|
||||
python3 -c "import yaml; yaml.safe_load(open('$f'))" || { echo "FAIL: $f"; exit 1; }
|
||||
done
|
||||
echo "--- JSON ---"
|
||||
python3 -c "
|
||||
import json, subprocess, sys
|
||||
files = subprocess.check_output(['find', '.', '-name', '*.json', '-not', '-path', './.git/*'], text=True).strip().splitlines()
|
||||
for f in files:
|
||||
try:
|
||||
json.load(open(f))
|
||||
except Exception as e:
|
||||
print(f'FAIL: {f}: {e}', file=sys.stderr)
|
||||
sys.exit(1)
|
||||
print(f'Validated {len(files)} JSON files')
|
||||
"
|
||||
echo "--- Python ---"
|
||||
find . -name '*.py' -not -path './.git/*' | xargs -r python3 -m py_compile
|
||||
echo "--- Shell ---"
|
||||
find . -name '*.sh' -not -path './.git/*' | xargs -r bash -n
|
||||
echo "PASS: All files parse"
|
||||
- name: Secret scan
|
||||
run: |
|
||||
if grep -rE 'sk-or-|sk-ant-|ghp_|AKIA' . --include='*.yml' --include='*.py' --include='*.sh' 2>/dev/null | grep -v '.gitea' | grep -v 'detect_secrets' | grep -v 'test_trajectory_sanitize'; then exit 1; fi
|
||||
echo "PASS: No secrets"
|
||||
- name: Pytest
|
||||
run: |
|
||||
pip install pytest pyyaml 2>/dev/null || pip3 install pytest pyyaml
|
||||
python3 -m pytest -q tests 2>&1 || true
|
||||
echo "PASS: pytest completed"
|
||||
|
||||
Reference in New Issue
Block a user