Skip to content

Commit a2c26cf

Browse files
authored
Nebius cxcli 763 (#97)
* new changes * Prepare release nebius-cxcli-v0.1.7 * new changes * new changes * Prepare release nebius-cxcli-v0.1.8
1 parent 9566049 commit a2c26cf

31 files changed

+1399
-486
lines changed

.github/workflows/nebius-cxcli-ci.yml

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,23 +36,13 @@ jobs:
3636
- uses: actions/setup-python@v6
3737
with:
3838
python-version: "3.12"
39-
- name: Install dependencies
40-
run: |
41-
set -euo pipefail
42-
python -m pip install --upgrade pip
43-
pip install -e ".[dev]"
44-
- name: Lint
45-
run: python -m ruff check src tests
46-
- name: Test
47-
run: python -m pytest -q
48-
- name: Build wheel
39+
- name: Verify service with local make contract
4940
env:
5041
RELEASE_REF: ${{ github.sha }}
5142
NEBIUS_CXCLI_BUILD_COMPONENT_SOURCES_FILE: component_sources.release.yaml
5243
run: |
5344
set -euo pipefail
54-
rm -rf build dist
55-
python -m build --wheel
45+
make all
5646
5747
- name: Verify bundled component sources in wheel
5848
env:
@@ -64,7 +54,7 @@ jobs:
6454
echo "::error::No wheel found in dist/"
6555
exit 1
6656
fi
67-
python -m nebius_cxcli.release_catalog verify-wheel \
57+
.venv/bin/python -m nebius_cxcli.release_catalog verify-wheel \
6858
--wheel "${wheel}" \
6959
--release-ref "${RELEASE_REF}"
7060
echo "Verified bundled portable component_sources.yaml in ${wheel}"

.github/workflows/nebius-cxcli-release.yml

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -78,31 +78,16 @@ jobs:
7878
with:
7979
python-version: "3.12"
8080

81-
- name: Install dependencies
82-
if: steps.state.outputs.release_exists == 'false'
83-
run: |
84-
set -euo pipefail
85-
python -m pip install --upgrade pip
86-
pip install -e ".[dev]"
87-
88-
- name: Lint
89-
if: steps.state.outputs.release_exists == 'false'
90-
run: python -m ruff check src tests
91-
92-
- name: Test
93-
if: steps.state.outputs.release_exists == 'false'
94-
run: python -m pytest -q
95-
96-
- name: Build artifact
81+
- name: Verify service with local make contract
9782
if: steps.state.outputs.release_exists == 'false'
9883
env:
9984
RELEASE_REF: ${{ steps.version.outputs.tag }}
10085
RELEASE_VERSION: ${{ steps.version.outputs.version }}
10186
NEBIUS_CXCLI_BUILD_COMPONENT_SOURCES_FILE: component_sources.release.yaml
87+
SETUPTOOLS_SCM_PRETEND_VERSION: ${{ steps.version.outputs.version }}
10288
run: |
10389
set -euo pipefail
104-
rm -rf build dist
105-
SETUPTOOLS_SCM_PRETEND_VERSION="${RELEASE_VERSION}" python -m build --wheel
90+
make all
10691
10792
- name: Resolve and verify release assets
10893
if: steps.state.outputs.release_exists == 'false'
@@ -140,20 +125,20 @@ jobs:
140125
exit 1
141126
fi
142127
143-
python -m nebius_cxcli.release_catalog verify-wheel \
128+
.venv/bin/python -m nebius_cxcli.release_catalog verify-wheel \
144129
--wheel "${asset}" \
145130
--release-ref "${RELEASE_REF}"
146131
147132
release_dir="release-assets"
148133
catalog_asset="${release_dir}/component_sources.yaml"
149134
rm -rf "${release_dir}"
150135
mkdir -p "${release_dir}"
151-
python -m nebius_cxcli.release_catalog render \
136+
.venv/bin/python -m nebius_cxcli.release_catalog render \
152137
--input component_sources.release.yaml \
153138
--output "${catalog_asset}" \
154139
--release-ref "${RELEASE_REF}"
155140
156-
python -m nebius_cxcli.release_catalog verify-catalog \
141+
.venv/bin/python -m nebius_cxcli.release_catalog verify-catalog \
157142
--catalog "${catalog_asset}" \
158143
--release-ref "${RELEASE_REF}"
159144

services/nebius-cxcli/CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,24 @@ All notable changes to this project are tracked here. This changelog follows
66

77
## [Unreleased]
88

9+
## [nebius-cxcli-v0.1.8] - 2026-03-23
10+
11+
- Fixed the `nebius-cxcli` CI and release workflows to run `nebius_cxcli.release_catalog` checks with the repo `.venv/bin/python` created by `make all`, avoiding bare-runner Python import failures under GitHub Actions.
12+
- Hardened `tests/test_setup_build.py` against ambient GitHub Actions build env leakage so setup/build source-selection and release-ref rewrite tests stay deterministic in CI.
13+
14+
## [nebius-cxcli-v0.1.7] - 2026-03-23
15+
16+
- Removed the standalone `nebius` CLI dependency from MK8s kubeconfig handoff and token retrieval; `deploy`, `flux apply`, `flux bootstrap`, and generated customer workflows now use Nebius SDK-backed exec kubeconfig entries through `nebius-cxcli` itself.
17+
- Generated customer workflows no longer install the standalone `nebius` CLI before Flux bootstrap.
18+
- Aligned the main `nebius-cxcli` CI and release workflows to run the same local `make all` verification contract before wheel verification and release publication.
19+
- Aligned CLI help/doc wording for auth profile/config flags and MK8s handoff behavior with the SDK-based contract.
20+
- Tightened `bootstrap-ci` help/docs so the command and flag contract explicitly matches runtime behavior: target `config.yaml` must already be inside the customer git repo, `--github-repo` is only an auth-bootstrap override, and `--github-token-env` only affects GitHub bootstrap/secrets sync.
21+
- Clarified in help/docs that `--cli-ref` selects the `nebius-cxcli` source ref used by the generated customer workflow, not the branch of the customer target repo; kept the option display aligned with Typer's default `TEXT` metavar.
22+
- Fixed runtime version resolution for source/editable checkouts so `nebius-cxcli` now prefers live `setuptools-scm` git state over a generated `_version.py` cache, and `publish-release.sh --publish` now verifies local runtime version/tag alignment before pushing the release tag.
23+
- Clarified MK8s node-readiness behavior before Flux work: `deploy`, `flux apply`, and `flux bootstrap` now probe first and only announce a wait when nodes are actually not `Ready` yet.
24+
- Kept the local Flux phase under one continuous spinner after MK8s handoff so `deploy`/`flux apply` no longer stop and restart the spinner between cluster reachability, Flux API discovery, manifest apply, and rendered-resource readiness checks.
25+
- Added a non-interactive fallback for those Flux phase updates so GitHub Actions and other non-TTY logs get stable printed phase lines instead of relying on transient spinner frames.
26+
927
## [nebius-cxcli-v0.1.6] - 2026-03-23
1028

1129
- Simplified `bootstrap-ci` so reruns automatically reconcile the CLI-managed customer workflow to the latest generated contract; `--auth-bootstrap` remains enabled by default and workflow-only runs are now the explicit opt-out via `--no-auth-bootstrap`.

0 commit comments

Comments
 (0)