Skip to content

Feat: adds minimal GitHub actions#14

Merged
MatthewMallory merged 4 commits into
mainfrom
feat-github-actions
Jun 4, 2026
Merged

Feat: adds minimal GitHub actions#14
MatthewMallory merged 4 commits into
mainfrom
feat-github-actions

Conversation

@carshadi

@carshadi carshadi commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

Replaces the stale CircleCI setup with GitHub Actions workflows for CI and release versioning. CI now uses uv with a committed uv.lock for deterministic dependency resolution, and merged PRs to main trigger the shared AllenNeuralDynamics uv release workflow to bump, commit, and tag versions.

Changes

  • Added .github/workflows/ci.yml.
  • Added Python test matrix for 3.9, 3.10, 3.11, 3.12, and 3.13.
  • Runs tests with:
    uv run --frozen --extra test python -m pytest
  • Adds a build job that runs:
    uv build
  • Adds a wheel-content check to ensure the top-level tests/ package is not included in the built wheel.
  • Added .github/workflows/release.yml.
  • Release workflow runs when a PR is merged into main.
  • Release workflow delegates version bumping/tagging to:
    AllenNeuralDynamics/.github/.github/workflows/release-bump-version-uv.yml@main
  • The shared release workflow updates pyproject.toml and uv.lock, commits the version bump, and pushes a v<version> tag.
  • Added README release-maintenance notes documenting the shared release workflow behavior.
  • Commits uv.lock so CI installs are reproducible.
  • Updates .gitignore so GitHub workflow files can be tracked and .pytest_cache/ is ignored.
  • Removes .circleci/config.yml.

Why CircleCI Was Removed

The existing CircleCI workflow was stale and no longer matched the project setup. It attempted to install dependencies from requirements.txt, but this repo now uses pyproject.toml and uv, and there is no requirements.txt present.

Removing CircleCI makes GitHub Actions the single CI source of truth and aligns the workflows with the current package metadata and lockfile-based dependency management.

Validation

Local checks run:

uv run --frozen --extra test python -m pytest
uv build
uv version --bump patch --dry-run --output-format json
git diff --check

Result:

29 passed, 1 warning
uv build passed
dry-run patch bump reported 0.1.1
git diff --check passed

The warning is from the existing pandas delim_whitespace usage and is not introduced by this PR.

@carshadi carshadi marked this pull request as ready for review June 4, 2026 20:40
@carshadi carshadi requested a review from MatthewMallory June 4, 2026 20:40
@MatthewMallory MatthewMallory merged commit fd11cae into main Jun 4, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants