9aa4764301
Lint shellcheck (arm64 pilot) / shellcheck-arm64 (pilot) (pull_request) Waiting to run
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 4s
CI / Detect changes (pull_request) Successful in 6s
CI / Python Lint & Test (pull_request) Successful in 9s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 17s
E2E API Smoke Test / detect-changes (pull_request) Successful in 17s
E2E Chat / detect-changes (pull_request) Successful in 13s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (pull_request) Has been skipped
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 14s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 6s
Harness Replays / detect-changes (pull_request) Successful in 5s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 8s
Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (pull_request) Successful in 5s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (local) (pull_request) Failing after 1m43s
Lint no tenant GITEA or GITHUB token write / Scan for repo-host token write into tenant workspace surface (pull_request) Successful in 5s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 1m36s
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Successful in 1m29s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 1m10s
lint-required-workflows-docker-host-pinned / Lint docker-host pin on docker-touching workflows (pull_request) Successful in 3s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 1m23s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 4s
CI / Platform (Go) (pull_request) Successful in 5m13s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m12s
gate-check-v3 / gate-check (pull_request) Successful in 9s
security-review / approved (pull_request) Failing after 5s
qa-review / approved (pull_request) Failing after 7s
sop-checklist / na-declarations (pull_request) N/A: (none)
sop-checklist / all-items-acked (pull_request) Successful in 4s
sop-checklist / review-refire (pull_request) Has been skipped
sop-tier-check / tier-check (pull_request) Successful in 5s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 1m34s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 1m15s
CI / Canvas (Next.js) (pull_request) Successful in 6m19s
CI / all-required (pull_request) Successful in 5m46s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 2s
Harness Replays / Harness Replays (pull_request) Successful in 15s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Failing after 2m1s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 2m11s
E2E Chat / E2E Chat (pull_request) Failing after 6m36s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
80 lines
3.0 KiB
YAML
80 lines
3.0 KiB
YAML
name: Ops Scripts Tests
|
|
|
|
# Ported from .github/workflows/test-ops-scripts.yml on 2026-05-11 per
|
|
# RFC internal#219 §1 sweep.
|
|
#
|
|
# Differences from the GitHub version:
|
|
# - Dropped `merge_group:` trigger (no Gitea merge queue).
|
|
# - on.paths references .gitea/workflows/test-ops-scripts.yml (this
|
|
# file) instead of the .github/ one.
|
|
# - Workflow-level env.GITHUB_SERVER_URL set.
|
|
# - `continue-on-error: true` on the job (RFC §1 contract).
|
|
#
|
|
# Runs the unittest suite for scripts/ on every PR + push that touches
|
|
# anything under scripts/ or .gitea/scripts/. Kept separate from the main CI
|
|
# so a script-only change doesn't trigger the heavier Go/Canvas/Python
|
|
# pipelines.
|
|
#
|
|
# Discovery layout: tests sit alongside the code they test (see
|
|
# scripts/ops/test_sweep_cf_decide.py for the pattern; scripts/
|
|
# test_build_runtime_package.py for the rewriter coverage). The job
|
|
# below runs `unittest discover` TWICE — once from `scripts/`, once
|
|
# from `scripts/ops/` — because neither dir has an `__init__.py`, so
|
|
# a single discover from `scripts/` doesn't recurse into the ops
|
|
# subdir. Two passes is simpler than retrofitting namespace packages.
|
|
|
|
on:
|
|
push:
|
|
branches: [main, staging]
|
|
paths:
|
|
- 'scripts/**'
|
|
- '.gitea/scripts/**'
|
|
- '.gitea/workflows/test-ops-scripts.yml'
|
|
pull_request:
|
|
branches: [main, staging]
|
|
paths:
|
|
- 'scripts/**'
|
|
- '.gitea/scripts/**'
|
|
- '.gitea/workflows/test-ops-scripts.yml'
|
|
|
|
env:
|
|
GITHUB_SERVER_URL: https://git.moleculesai.app
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
test:
|
|
name: Ops scripts (unittest)
|
|
runs-on: ubuntu-latest
|
|
# Phase 3 (RFC #219 §1): surface broken workflows without blocking.
|
|
# mc#774: pre-existing continue-on-error mask; root-fix and remove, do not renew silently.
|
|
continue-on-error: true
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
with:
|
|
python-version: '3.11'
|
|
- name: Install .gitea script test dependencies
|
|
run: python -m pip install --quiet 'pytest==9.0.2' 'PyYAML==6.0.2'
|
|
- name: Run scripts/ unittests, if any
|
|
# Top-level scripts/ tests live alongside their target file. The
|
|
# runtime packaging tests moved to molecule-ai-workspace-runtime, so
|
|
# this pass may legitimately find no tests.
|
|
working-directory: scripts
|
|
run: |
|
|
set +e
|
|
python -m unittest discover -t . -p 'test_*.py' -v
|
|
rc=$?
|
|
if [ "$rc" -eq 5 ]; then
|
|
echo "No top-level scripts/ unittest files found; skipping."
|
|
exit 0
|
|
fi
|
|
exit "$rc"
|
|
- name: Run scripts/ops/ unittests (sweep_cf_decide, ...)
|
|
working-directory: scripts/ops
|
|
run: python -m unittest discover -p 'test_*.py' -v
|
|
- name: Run .gitea/scripts pytest suite
|
|
run: python -m pytest .gitea/scripts/tests -q
|