chore: derive __version__ from metadata, bump GHA action versions

- openjarvis.__version__ now comes from importlib.metadata.version("openjarvis")
  instead of a hardcoded string, so it stays in sync with pyproject.toml on every
  release. Tests assert against openjarvis.__version__ rather than a literal.
- Bump actions/checkout@v4 → @v6 and astral-sh/setup-uv@v4 → @v8 across every
  workflow ahead of the 2026-06-02 Node.js 20 deprecation on GitHub Actions runners.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jon Saad-Falcon
2026-04-11 13:19:19 -07:00
co-authored by Claude Opus 4.6
parent 0b516deea1
commit 70cbda8a73
11 changed files with 26 additions and 18 deletions
+5 -5
View File
@@ -14,7 +14,7 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v5
@@ -22,7 +22,7 @@ jobs:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v4
uses: astral-sh/setup-uv@v8
- name: Install dependencies
run: uv sync --extra dev
@@ -33,7 +33,7 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v5
@@ -54,7 +54,7 @@ jobs:
restore-keys: rust-${{ runner.os }}-
- name: Install uv
uses: astral-sh/setup-uv@v4
uses: astral-sh/setup-uv@v8
- name: Install dependencies
run: uv sync --extra dev
@@ -71,7 +71,7 @@ jobs:
run:
working-directory: rust
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
+1 -1
View File
@@ -31,7 +31,7 @@ jobs:
contains(github.event.comment.body, '@claude') &&
github.actor != 'claude[bot]')
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
fetch-depth: 0
+1 -1
View File
@@ -34,7 +34,7 @@ jobs:
contains(github.event.comment.body, '@claude') &&
github.actor != 'claude[bot]')
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Read review instructions
id: review
+2 -2
View File
@@ -29,7 +29,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Install system dependencies
run: |
@@ -113,7 +113,7 @@ jobs:
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Install system dependencies (Linux)
if: matrix.platform == 'ubuntu-22.04'
+2 -2
View File
@@ -28,7 +28,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v5
@@ -36,7 +36,7 @@ jobs:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v4
uses: astral-sh/setup-uv@v8
- name: Install dependencies
run: uv sync --extra docs
+1 -1
View File
@@ -24,7 +24,7 @@ jobs:
run:
working-directory: frontend
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- uses: actions/setup-node@v4
with:
+2 -2
View File
@@ -17,10 +17,10 @@ jobs:
runs-on: ubuntu-latest
environment: pypi
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Install uv
uses: astral-sh/setup-uv@v4
uses: astral-sh/setup-uv@v8
- name: Build package
run: uv build
+1 -1
View File
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
token: ${{ secrets.TRAFFIC_TOKEN }}
+7 -1
View File
@@ -2,8 +2,14 @@
from __future__ import annotations
__version__ = "0.1.0"
from importlib.metadata import PackageNotFoundError
from importlib.metadata import version as _pkg_version
from openjarvis.sdk import Jarvis, JarvisSystem, MemoryHandle, SystemBuilder
try:
__version__ = _pkg_version("openjarvis")
except PackageNotFoundError: # pragma: no cover — uninstalled source tree
__version__ = "0.0.0+unknown"
__all__ = ["Jarvis", "JarvisSystem", "MemoryHandle", "SystemBuilder", "__version__"]
+2 -1
View File
@@ -7,6 +7,7 @@ from unittest import mock
from click.testing import CliRunner
import openjarvis
from openjarvis.cli import cli
@@ -19,7 +20,7 @@ class TestCLI:
def test_version(self) -> None:
result = CliRunner().invoke(cli, ["--version"])
assert result.exit_code == 0
assert "0.1.0" in result.output
assert openjarvis.__version__ in result.output
def test_ask_requires_query(self) -> None:
result = CliRunner().invoke(cli, ["ask"])
+2 -1
View File
@@ -6,6 +6,7 @@ from unittest.mock import MagicMock, patch
import pytest
import openjarvis
from openjarvis.core.config import JarvisConfig
from openjarvis.sdk import Jarvis, MemoryHandle
@@ -38,7 +39,7 @@ class TestJarvisInit:
def test_version_property(self):
j = Jarvis(config=JarvisConfig())
assert j.version == "0.1.0"
assert j.version == openjarvis.__version__
j.close()
def test_engine_key_override(self):