hermes-agent/.github/workflows/tests.yml
claude-ceo-assistant a0fed1fdd3
Some checks failed
Tests / e2e (pull_request) Successful in 1m36s
Nix / nix (ubuntu-latest) (pull_request) Failing after 8m22s
Tests / test (pull_request) Failing after 10m22s
Nix / nix (macos-latest) (pull_request) Has been cancelled
ci(tests): pin setup-uv to a concrete version
Run 4's `Tests / test` and `Tests / e2e` both failed at the
`Install uv` step with:

  No (valid) GitHub token provided. Falling back to anonymous.
  ::error::API rate limit exceeded for 5.78.80.188.

`astral-sh/setup-uv` queries api.github.com to resolve the latest
uv release. Our act_runner's egress IP (5.78.80.188 — the shared
operator host) hits the anonymous GitHub API rate limit quickly,
and we don't have a github.com PAT injected as GITHUB_TOKEN
post-suspension.

Per setup-uv's docs, requesting a concrete version like "0.11.11"
skips the version-resolution API call and downloads the binary
from a deterministic URL. No GitHub credentials needed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 18:20:43 -07:00

93 lines
2.5 KiB
YAML

name: Tests
on:
push:
branches: [main]
paths-ignore:
- '**/*.md'
- 'docs/**'
pull_request:
branches: [main]
paths-ignore:
- '**/*.md'
- 'docs/**'
permissions:
contents: read
# Cancel in-progress runs for the same PR/branch
concurrency:
group: tests-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout code
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Install system dependencies
run: sudo apt-get update && sudo apt-get install -y ripgrep
- name: Install uv
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
with:
# Pin a concrete version so the action skips the api.github.com
# release-resolution call. The shared act_runner egress IP is
# rate-limited on anonymous GitHub API after the org suspension.
version: "0.11.11"
- name: Set up Python 3.11
run: uv python install 3.11
- name: Install dependencies
run: |
uv venv .venv --python 3.11
source .venv/bin/activate
uv pip install -e ".[all,dev]"
- name: Run tests
run: |
source .venv/bin/activate
python -m pytest tests/ -q --ignore=tests/integration --ignore=tests/e2e --tb=short -n auto
env:
# Ensure tests don't accidentally call real APIs
OPENROUTER_API_KEY: ""
OPENAI_API_KEY: ""
NOUS_API_KEY: ""
e2e:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout code
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Install uv
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5
with:
# Pin a concrete version so the action skips the api.github.com
# release-resolution call. The shared act_runner egress IP is
# rate-limited on anonymous GitHub API after the org suspension.
version: "0.11.11"
- name: Set up Python 3.11
run: uv python install 3.11
- name: Install dependencies
run: |
uv venv .venv --python 3.11
source .venv/bin/activate
uv pip install -e ".[all,dev]"
- name: Run e2e tests
run: |
source .venv/bin/activate
python -m pytest tests/e2e/ -v --tb=short
env:
OPENROUTER_API_KEY: ""
OPENAI_API_KEY: ""
NOUS_API_KEY: ""