mirror of
https://github.com/agent-substrate/substrate.git
synced 2026-10-02 03:24:42 +08:00
This change wires the `gotestsum` seam into the actual CI and ensures that all tests _run_ and _pass_ using a new "gate" that verifies the JUnit artifacts they produce. Specifically, the new gate works as follows: 1. _registers_ that a test _should_ run and produce an artifact 2. _verifies_ that the artifact was produced and _all_ tests passed (none were skipped). The registration phase happens when a test is run in CI and requires that the test be provided a `E2E_JUNIT_FILE` env variable. Partial work for #1871 - [x] Tests pass ``` Run make build-junittool make build-junittool bin/junittool verify -manifest "${ARTIFACTS}/expected-junit.txt" shell: /usr/bin/bash -e {0} env: E2E_ATENET_DATAPLANE: agentgateway ARTIFACTS: /home/runner/work/substrate/substrate/_artifacts go -C tools/junittool build -o /home/runner/work/substrate/substrate/bin//junittool . FILE TESTS FAILURES ERRORS SKIPPED /home/runner/work/substrate/substrate/_artifacts/e2e-gvisor.xml 84 0 0 4 /home/runner/work/substrate/substrate/_artifacts/e2e-microvm.xml 84 0 0 5 /home/runner/work/substrate/substrate/_artifacts/e2e-mitm.xml 1 0 0 0 /home/runner/work/substrate/substrate/_artifacts/e2e-mitm-microvm.xml 1 0 0 0 /home/runner/work/substrate/substrate/_artifacts/e2e-networking-mitm.xml 11 0 0 1 /home/runner/work/substrate/substrate/_artifacts/e2e-networking-mitm-microvm.xml 11 0 0 1 TOTAL ``` - [x] Appropriate changes to documentation are included in the PR
72 lines
1.2 KiB
Plaintext
72 lines
1.2 KiB
Plaintext
# Binaries
|
|
/ateapi
|
|
/substratectl
|
|
/kubectl-ate
|
|
/atelet
|
|
/bin/
|
|
|
|
# Python
|
|
venv/
|
|
.venv/
|
|
__pycache__/
|
|
*.pyc
|
|
|
|
# Local environment variables
|
|
.ate-dev-env.sh
|
|
|
|
# Generated scratch directory for benchmark automation
|
|
/benchmarking/automation/scratch/
|
|
|
|
# Test artifacts (JUnit XML, gotestsum JSON). CI writes these into the
|
|
# workspace, and hack/verify-all.sh refuses to run against a dirty tree.
|
|
/_artifacts/
|
|
|
|
# Python gRPC clients, generated by benchmarking/locust/codegen/generate.sh
|
|
/benchmarking/locust/common/*_pb2.py
|
|
/benchmarking/locust/common/*_pb2_grpc.py
|
|
|
|
# Developers can store local stuff in dirs named __something
|
|
__*
|
|
|
|
# OS artifacts
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# Editors and IDEs
|
|
.idea/
|
|
.vscode/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# AI IDEs and CLIs
|
|
.aider*
|
|
.claude/
|
|
.cline/
|
|
.codex/
|
|
.continue/
|
|
.copilot/
|
|
.cursor/
|
|
.gemini/
|
|
.goose/
|
|
.kiro/
|
|
.opencode/
|
|
.qwen/
|
|
.roo/
|
|
.trae/
|
|
.windsurf/
|
|
|
|
# Local worktrees
|
|
/.worktrees/
|
|
|
|
# Stray outputs from `go build` without -o. Root-module tools land at the repo
|
|
# root; tools with their own go.mod land beside their source. Use
|
|
# `make build-<tool>`, which writes to /bin/ above.
|
|
/validate-image-cache
|
|
/setup-gcp
|
|
/tools/apitool/apitool
|
|
/tools/junittool/junittool
|
|
|
|
# Substrate agent workspace scratchpads
|
|
.agents/scratch/
|