Skip to content

ci: add native Windows smoke workflow - #36154

Draft
BassMantis99 wants to merge 1 commit into
NousResearch:mainfrom
BassMantis99:windows/ci-smoke
Draft

ci: add native Windows smoke workflow#36154
BassMantis99 wants to merge 1 commit into
NousResearch:mainfrom
BassMantis99:windows/ci-smoke

Conversation

@BassMantis99

Copy link
Copy Markdown

Summary

  • Adds a low-risk windows-smoke GitHub Actions workflow on windows-latest.
  • Installs Hermes in editable dev mode.
  • Runs CLI/help smoke checks and a small targeted Windows-safe pytest subset.

Why

This is the first non-invasive Windows compatibility patch from the separate lab repo. It lives on the fork branch BassMantis99:windows/ci-smoke, so it can be rebased onto upstream updates without touching any installed Hermes checkout.

Lab tracking: BassMantis99/hermes-agent-windows-compat#20 and #24.

Test plan

  • Expected to run as GitHub Actions on PR.
  • No secrets required.
  • Focuses on smoke coverage first; broader Windows tests can be added after the baseline is stable.

@daimon-nous daimon-nous Bot added type/test Test coverage or test infrastructure P3 Low — cosmetic, nice to have labels Jun 1, 2026

@mxnstrexgl mxnstrexgl left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM — automated review passed. No security, quality, or test coverage issues detected.

@teknium1 teknium1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding native Windows validation; current main only has the static Windows-footgun check (.github/workflows/lint.yml:142-160), so the coverage gap is real.

Problems

  • .github/workflows/windows-smoke.yml:4 bypasses the current CI orchestration model. .github/workflows/ci.yml:3-11 requires reusable workflow_call lanes, and the aggregate gate at :137-167 would not include this standalone workflow.
  • .github/workflows/windows-smoke.yml:32 and :35 use mutable Action tags, contrary to the SHA-pinning rule in AGENTS.md:565-570.
  • .github/workflows/windows-smoke.yml:51 uses an unlocked pip install -e .[dev]; current CI uses uv sync --locked --python 3.11 --extra all --extra dev (.github/workflows/tests.yml:83-90).

Suggested changes

  • Make this a reusable Windows workflow invoked and aggregated by ci.yml.
  • Pin Actions by full SHA and use the locked uv environment.
  • Gate it through the central Python classifier rather than the narrower standalone path list.

Automated hermes-sweeper review.

name: Windows smoke

on:
pull_request:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please make this a reusable workflow_call lane and invoke it from .github/workflows/ci.yml. Current CI explicitly centralizes pull-request/push triggers and only aggregates its declared lanes; this standalone workflow would neither join all-checks-pass nor run after a push to main.


steps:
- name: Checkout
uses: actions/checkout@v4

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Repository policy requires Actions to be pinned by full commit SHA with a version comment (AGENTS.md:565-570). Please pin this action and actions/setup-python below, matching the existing workflow convention.

shell: pwsh
run: |
python -m pip install --upgrade pip
python -m pip install -e .[dev]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use the locked CI install path (uv sync --locked --python 3.11 --extra all --extra dev) rather than an unlocked pip install -e .[dev]. Current test CI uses that environment at .github/workflows/tests.yml:83-90; it is the supported dependency set this Windows smoke job should validate.

@teknium1 teknium1 added sweeper:risk-automation Sweeper risk: may affect CI, automerge, label sync, or maintainer automation sweeper:risk-platform-windows Sweeper risk: may break or behave differently on native Windows sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform labels Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low — cosmetic, nice to have sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform sweeper:risk-automation Sweeper risk: may affect CI, automerge, label sync, or maintainer automation sweeper:risk-platform-windows Sweeper risk: may break or behave differently on native Windows type/test Test coverage or test infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants