tecrax 0.2.0a0__tar.gz → 0.2.2a0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tecrax-0.2.2a0/.github/workflows/ci.yml +63 -0
- {tecrax-0.2.0a0 → tecrax-0.2.2a0}/PKG-INFO +9 -5
- {tecrax-0.2.0a0 → tecrax-0.2.2a0}/PUBLIC_STATUS.md +6 -3
- {tecrax-0.2.0a0 → tecrax-0.2.2a0}/README.md +6 -2
- {tecrax-0.2.0a0 → tecrax-0.2.2a0}/VALIDATION.md +3 -3
- {tecrax-0.2.0a0 → tecrax-0.2.2a0}/pyproject.toml +3 -3
- {tecrax-0.2.0a0 → tecrax-0.2.2a0}/scripts/validate_public_truth.py +14 -4
- {tecrax-0.2.0a0 → tecrax-0.2.2a0}/src/tecrax/__init__.py +1 -1
- {tecrax-0.2.0a0 → tecrax-0.2.2a0}/tests/test_local_fixture.py +3 -3
- {tecrax-0.2.0a0 → tecrax-0.2.2a0}/.gitignore +0 -0
- {tecrax-0.2.0a0 → tecrax-0.2.2a0}/LICENSE +0 -0
- {tecrax-0.2.0a0 → tecrax-0.2.2a0}/src/tecrax/cli.py +0 -0
- {tecrax-0.2.0a0 → tecrax-0.2.2a0}/src/tecrax/local_fixture.py +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
pull_request:
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
concurrency:
|
|
11
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
12
|
+
cancel-in-progress: true
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
test:
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
strategy:
|
|
18
|
+
fail-fast: false
|
|
19
|
+
matrix:
|
|
20
|
+
python-version: ['3.11', '3.12']
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@v6
|
|
23
|
+
- uses: actions/setup-python@v6
|
|
24
|
+
with:
|
|
25
|
+
python-version: ${{ matrix.python-version }}
|
|
26
|
+
- name: Install source dependencies
|
|
27
|
+
run: |
|
|
28
|
+
python -m pip install --upgrade pip
|
|
29
|
+
python -m pip install "sclite-core @ git+https://github.com/rozmiarD/SCLite.git@main"
|
|
30
|
+
python -m pip install "govengine @ git+https://github.com/rozmiarD/GovEngine.git@main"
|
|
31
|
+
python -m pip install -e '.[dev]'
|
|
32
|
+
- name: Validate public truth
|
|
33
|
+
run: python scripts/validate_public_truth.py
|
|
34
|
+
- name: Run tests
|
|
35
|
+
run: python -m pytest -q
|
|
36
|
+
|
|
37
|
+
package-dry-run:
|
|
38
|
+
runs-on: ubuntu-latest
|
|
39
|
+
steps:
|
|
40
|
+
- uses: actions/checkout@v6
|
|
41
|
+
- uses: actions/setup-python@v6
|
|
42
|
+
with:
|
|
43
|
+
python-version: '3.12'
|
|
44
|
+
- name: Install source dependencies and build tooling
|
|
45
|
+
run: |
|
|
46
|
+
python -m pip install --upgrade pip build twine
|
|
47
|
+
python -m pip install "sclite-core @ git+https://github.com/rozmiarD/SCLite.git@main"
|
|
48
|
+
python -m pip install "govengine @ git+https://github.com/rozmiarD/GovEngine.git@main"
|
|
49
|
+
- name: Clean build artifacts
|
|
50
|
+
run: rm -rf dist build *.egg-info
|
|
51
|
+
- name: Build package
|
|
52
|
+
run: python -m build
|
|
53
|
+
- name: Check package metadata
|
|
54
|
+
run: python -m twine check dist/*
|
|
55
|
+
- name: Wheel install smoke
|
|
56
|
+
run: |
|
|
57
|
+
python -m venv /tmp/tecrax-wheel-smoke
|
|
58
|
+
/tmp/tecrax-wheel-smoke/bin/python -m pip install --upgrade pip
|
|
59
|
+
/tmp/tecrax-wheel-smoke/bin/python -m pip install "sclite-core @ git+https://github.com/rozmiarD/SCLite.git@main"
|
|
60
|
+
/tmp/tecrax-wheel-smoke/bin/python -m pip install "govengine @ git+https://github.com/rozmiarD/GovEngine.git@main"
|
|
61
|
+
/tmp/tecrax-wheel-smoke/bin/python -m pip install dist/*.whl
|
|
62
|
+
/tmp/tecrax-wheel-smoke/bin/python -m pip check
|
|
63
|
+
/tmp/tecrax-wheel-smoke/bin/python -c "import importlib.metadata as md, tecrax; assert md.version('tecrax') == tecrax.__version__"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tecrax
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2a0
|
|
4
4
|
Summary: Dry-run local-fixture infrastructure-operations profile over GovEngine and SCLite.
|
|
5
5
|
Project-URL: Homepage, https://github.com/rozmiarD/tecrax
|
|
6
6
|
Project-URL: Repository, https://github.com/rozmiarD/tecrax
|
|
@@ -17,8 +17,8 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
18
|
Classifier: Topic :: System :: Systems Administration
|
|
19
19
|
Requires-Python: >=3.11
|
|
20
|
-
Requires-Dist: govengine<0.
|
|
21
|
-
Requires-Dist: sclite-core<0.
|
|
20
|
+
Requires-Dist: govengine<0.12,>=0.11.0a0
|
|
21
|
+
Requires-Dist: sclite-core<0.9,>=0.8.0a0
|
|
22
22
|
Provides-Extra: dev
|
|
23
23
|
Requires-Dist: pytest<9,>=8; extra == 'dev'
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
@@ -27,8 +27,8 @@ Description-Content-Type: text/markdown
|
|
|
27
27
|
|
|
28
28
|
Tecrax is a governed infrastructure-operations runtime/profile built on GovEngine and SCLite.
|
|
29
29
|
|
|
30
|
-
Current source/package baseline: `tecrax==0.2.
|
|
31
|
-
`govengine>=0.
|
|
30
|
+
Current source/package baseline: `tecrax==0.2.2a0`, depending on
|
|
31
|
+
`govengine>=0.11.0a0,<0.12` and `sclite-core>=0.8.0a0,<0.9`.
|
|
32
32
|
|
|
33
33
|
This repository/package contains a dry-run/local-fixture profile slice. It still
|
|
34
34
|
does not execute infrastructure changes, connect to hosts, manage credentials,
|
|
@@ -56,6 +56,10 @@ profile/planning/supervision/runtime-review contracts and binds its fixture
|
|
|
56
56
|
receipt through an SCLite artifact descriptor. It has no live runner, host
|
|
57
57
|
inventory, credential path, or infrastructure adapter.
|
|
58
58
|
|
|
59
|
+
The `0.2.2-alpha` patch only aligns this fixture consumer with the curated
|
|
60
|
+
SCLite/GovEngine package chain. It does not add an infrastructure runtime or a
|
|
61
|
+
new contract surface.
|
|
62
|
+
|
|
59
63
|
## Validation
|
|
60
64
|
|
|
61
65
|
```bash
|
|
@@ -4,12 +4,15 @@ Tecrax is an **alpha local-fixture infrastructure-operations profile package** o
|
|
|
4
4
|
|
|
5
5
|
## Current Truth
|
|
6
6
|
|
|
7
|
-
- Source version: `0.2.
|
|
8
|
-
- Public release label: `0.2.
|
|
9
|
-
- Dependency chain: `tecrax -> govengine>=0.
|
|
7
|
+
- Source version: `0.2.2a0`.
|
|
8
|
+
- Public release label: `0.2.2-alpha`.
|
|
9
|
+
- Dependency chain: `tecrax -> govengine>=0.11.0a0,<0.12 -> sclite-core>=0.8.0a0,<0.9`.
|
|
10
10
|
- Runtime posture: dry-run/local-fixture only.
|
|
11
11
|
- Public surface: `tecrax fixture-review --service demo-web`.
|
|
12
12
|
|
|
13
|
+
The `0.2.2-alpha` line is dependency/conformance synchronization only; it
|
|
14
|
+
keeps the fixture-only posture unchanged.
|
|
15
|
+
|
|
13
16
|
## Non-Claims
|
|
14
17
|
|
|
15
18
|
- no live infrastructure connection;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Tecrax is a governed infrastructure-operations runtime/profile built on GovEngine and SCLite.
|
|
4
4
|
|
|
5
|
-
Current source/package baseline: `tecrax==0.2.
|
|
6
|
-
`govengine>=0.
|
|
5
|
+
Current source/package baseline: `tecrax==0.2.2a0`, depending on
|
|
6
|
+
`govengine>=0.11.0a0,<0.12` and `sclite-core>=0.8.0a0,<0.9`.
|
|
7
7
|
|
|
8
8
|
This repository/package contains a dry-run/local-fixture profile slice. It still
|
|
9
9
|
does not execute infrastructure changes, connect to hosts, manage credentials,
|
|
@@ -31,6 +31,10 @@ profile/planning/supervision/runtime-review contracts and binds its fixture
|
|
|
31
31
|
receipt through an SCLite artifact descriptor. It has no live runner, host
|
|
32
32
|
inventory, credential path, or infrastructure adapter.
|
|
33
33
|
|
|
34
|
+
The `0.2.2-alpha` patch only aligns this fixture consumer with the curated
|
|
35
|
+
SCLite/GovEngine package chain. It does not add an infrastructure runtime or a
|
|
36
|
+
new contract surface.
|
|
37
|
+
|
|
34
38
|
## Validation
|
|
35
39
|
|
|
36
40
|
```bash
|
|
@@ -9,10 +9,10 @@ python -m pytest -q
|
|
|
9
9
|
tecrax fixture-review --service demo-web
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
Expected result for `0.2.
|
|
12
|
+
Expected result for `0.2.2a0`:
|
|
13
13
|
|
|
14
|
-
- `pyproject.toml`, `tecrax.__version__`, README, public status, and validators agree on `0.2.
|
|
15
|
-
- dependency truth is `govengine>=0.
|
|
14
|
+
- `pyproject.toml`, `tecrax.__version__`, README, public status, and validators agree on `0.2.2a0` / `0.2.2-alpha`;
|
|
15
|
+
- dependency truth is `govengine>=0.11.0a0,<0.12` and `sclite-core>=0.8.0a0,<0.9`;
|
|
16
16
|
- fixture review output validates GovEngine profile, planning, supervision, runtime snapshot, review result, and runtime contract proof objects;
|
|
17
17
|
- SCLite is used only for local artifact descriptors;
|
|
18
18
|
- non-claims remain explicit for live infrastructure, credentials, adapters, scheduler/storage, and production readiness.
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tecrax"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.2a0"
|
|
8
8
|
description = "Dry-run local-fixture infrastructure-operations profile over GovEngine and SCLite."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -22,8 +22,8 @@ classifiers = [
|
|
|
22
22
|
"Topic :: System :: Systems Administration",
|
|
23
23
|
]
|
|
24
24
|
dependencies = [
|
|
25
|
-
"govengine>=0.
|
|
26
|
-
"sclite-core>=0.
|
|
25
|
+
"govengine>=0.11.0a0,<0.12",
|
|
26
|
+
"sclite-core>=0.8.0a0,<0.9",
|
|
27
27
|
]
|
|
28
28
|
|
|
29
29
|
[project.urls]
|
|
@@ -14,10 +14,10 @@ import tecrax # noqa: E402
|
|
|
14
14
|
from tecrax.local_fixture import build_local_fixture_review # noqa: E402
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
EXPECTED_VERSION = '0.2.
|
|
18
|
-
EXPECTED_RELEASE_LABEL = '0.2.
|
|
19
|
-
EXPECTED_GOVENGINE = 'govengine>=0.
|
|
20
|
-
EXPECTED_SCLITE = 'sclite-core>=0.
|
|
17
|
+
EXPECTED_VERSION = '0.2.2a0'
|
|
18
|
+
EXPECTED_RELEASE_LABEL = '0.2.2-alpha'
|
|
19
|
+
EXPECTED_GOVENGINE = 'govengine>=0.11.0a0,<0.12'
|
|
20
|
+
EXPECTED_SCLITE = 'sclite-core>=0.8.0a0,<0.9'
|
|
21
21
|
PUBLIC_DOCS = (
|
|
22
22
|
'README.md',
|
|
23
23
|
'PUBLIC_STATUS.md',
|
|
@@ -84,6 +84,16 @@ def collect_errors() -> list[str]:
|
|
|
84
84
|
_require(errors, 'PUBLIC_STATUS.md', EXPECTED_RELEASE_LABEL)
|
|
85
85
|
_require(errors, 'README.md', 'tecrax fixture-review --service demo-web')
|
|
86
86
|
_require(errors, 'VALIDATION.md', 'python scripts/validate_public_truth.py')
|
|
87
|
+
_require(errors, '.github/workflows/ci.yml', 'actions/checkout@v6')
|
|
88
|
+
_require(errors, '.github/workflows/ci.yml', 'actions/setup-python@v6')
|
|
89
|
+
_require(errors, '.github/workflows/ci.yml', "python-version: ['3.11', '3.12']")
|
|
90
|
+
_require(errors, '.github/workflows/ci.yml', 'python scripts/validate_public_truth.py')
|
|
91
|
+
_require(errors, '.github/workflows/ci.yml', 'package-dry-run:')
|
|
92
|
+
_require(errors, '.github/workflows/ci.yml', 'rm -rf dist build *.egg-info')
|
|
93
|
+
_require(errors, '.github/workflows/ci.yml', 'python -m twine check dist/*')
|
|
94
|
+
_require(errors, '.github/workflows/ci.yml', 'python -m pip check')
|
|
95
|
+
_require(errors, '.github/workflows/ci.yml', 'sclite-core @ git+https://github.com/rozmiarD/SCLite.git@main')
|
|
96
|
+
_require(errors, '.github/workflows/ci.yml', 'govengine @ git+https://github.com/rozmiarD/GovEngine.git@main')
|
|
87
97
|
|
|
88
98
|
review = build_local_fixture_review('truth-fixture')
|
|
89
99
|
if review.get('artifact_type') != 'tecrax_local_fixture_review':
|
|
@@ -34,7 +34,7 @@ def test_cli_status_keeps_local_fixture_posture(capsys) -> None:
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
def test_version_and_public_truth_validator_agree() -> None:
|
|
37
|
-
assert __version__ == '0.2.
|
|
37
|
+
assert __version__ == '0.2.2a0'
|
|
38
38
|
result = subprocess.run(
|
|
39
39
|
[sys.executable, str(ROOT / 'scripts' / 'validate_public_truth.py')],
|
|
40
40
|
cwd=ROOT,
|
|
@@ -43,6 +43,6 @@ def test_version_and_public_truth_validator_agree() -> None:
|
|
|
43
43
|
check=True,
|
|
44
44
|
)
|
|
45
45
|
assert result.stdout.strip() == (
|
|
46
|
-
'public_truth_ok:tecrax==0.2.
|
|
47
|
-
'govengine>=0.
|
|
46
|
+
'public_truth_ok:tecrax==0.2.2a0:'
|
|
47
|
+
'govengine>=0.11.0a0,<0.12:sclite-core>=0.8.0a0,<0.9'
|
|
48
48
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|