mcli-framework 7.0.2__py3-none-any.whl → 7.0.3__py3-none-any.whl
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.
Potentially problematic release.
This version of mcli-framework might be problematic. Click here for more details.
- mcli/self/self_cmd.py +58 -1
- {mcli_framework-7.0.2.dist-info → mcli_framework-7.0.3.dist-info}/METADATA +1 -1
- {mcli_framework-7.0.2.dist-info → mcli_framework-7.0.3.dist-info}/RECORD +7 -7
- {mcli_framework-7.0.2.dist-info → mcli_framework-7.0.3.dist-info}/WHEEL +0 -0
- {mcli_framework-7.0.2.dist-info → mcli_framework-7.0.3.dist-info}/entry_points.txt +0 -0
- {mcli_framework-7.0.2.dist-info → mcli_framework-7.0.3.dist-info}/licenses/LICENSE +0 -0
- {mcli_framework-7.0.2.dist-info → mcli_framework-7.0.3.dist-info}/top_level.txt +0 -0
mcli/self/self_cmd.py
CHANGED
|
@@ -1129,11 +1129,53 @@ def dashboard(refresh: float, once: bool):
|
|
|
1129
1129
|
console.print(f"[red]Error launching dashboard: {e}[/red]")
|
|
1130
1130
|
|
|
1131
1131
|
|
|
1132
|
+
def check_ci_status(version: str) -> tuple[bool, Optional[str]]:
|
|
1133
|
+
"""
|
|
1134
|
+
Check GitHub Actions CI status for the main branch.
|
|
1135
|
+
Returns (passing, url) tuple.
|
|
1136
|
+
"""
|
|
1137
|
+
try:
|
|
1138
|
+
import requests
|
|
1139
|
+
|
|
1140
|
+
response = requests.get(
|
|
1141
|
+
"https://api.github.com/repos/gwicho38/mcli/actions/runs",
|
|
1142
|
+
params={"per_page": 5},
|
|
1143
|
+
headers={
|
|
1144
|
+
"Accept": "application/vnd.github.v3+json",
|
|
1145
|
+
"User-Agent": "mcli-cli"
|
|
1146
|
+
},
|
|
1147
|
+
timeout=10
|
|
1148
|
+
)
|
|
1149
|
+
|
|
1150
|
+
if response.status_code == 200:
|
|
1151
|
+
data = response.json()
|
|
1152
|
+
runs = data.get("workflow_runs", [])
|
|
1153
|
+
|
|
1154
|
+
# Find the most recent completed run for main branch
|
|
1155
|
+
main_runs = [
|
|
1156
|
+
run for run in runs
|
|
1157
|
+
if run.get("head_branch") == "main" and run.get("status") == "completed"
|
|
1158
|
+
]
|
|
1159
|
+
|
|
1160
|
+
if main_runs:
|
|
1161
|
+
latest_run = main_runs[0]
|
|
1162
|
+
passing = latest_run.get("conclusion") == "success"
|
|
1163
|
+
url = latest_run.get("html_url")
|
|
1164
|
+
return (passing, url)
|
|
1165
|
+
|
|
1166
|
+
# If we can't check CI, don't block the update
|
|
1167
|
+
return (True, None)
|
|
1168
|
+
except Exception:
|
|
1169
|
+
# On error, don't block the update
|
|
1170
|
+
return (True, None)
|
|
1171
|
+
|
|
1172
|
+
|
|
1132
1173
|
@self_app.command()
|
|
1133
1174
|
@click.option("--check", is_flag=True, help="Only check for updates, don't install")
|
|
1134
1175
|
@click.option("--pre", is_flag=True, help="Include pre-release versions")
|
|
1135
1176
|
@click.option("--yes", "-y", is_flag=True, help="Skip confirmation prompt")
|
|
1136
|
-
|
|
1177
|
+
@click.option("--skip-ci-check", is_flag=True, help="Skip CI status check and install anyway")
|
|
1178
|
+
def update(check: bool, pre: bool, yes: bool, skip_ci_check: bool):
|
|
1137
1179
|
"""🔄 Check for and install mcli updates from PyPI"""
|
|
1138
1180
|
import subprocess
|
|
1139
1181
|
import sys
|
|
@@ -1215,6 +1257,21 @@ def update(check: bool, pre: bool, yes: bool):
|
|
|
1215
1257
|
console.print("[yellow]Update cancelled[/yellow]")
|
|
1216
1258
|
return
|
|
1217
1259
|
|
|
1260
|
+
# Check CI status before installing (unless skipped)
|
|
1261
|
+
if not skip_ci_check:
|
|
1262
|
+
console.print("[cyan]🔍 Checking CI status...[/cyan]")
|
|
1263
|
+
ci_passing, ci_url = check_ci_status(latest_version)
|
|
1264
|
+
|
|
1265
|
+
if not ci_passing:
|
|
1266
|
+
console.print("[red]✗ CI build is failing for the latest version[/red]")
|
|
1267
|
+
if ci_url:
|
|
1268
|
+
console.print(f"[yellow] View CI status: {ci_url}[/yellow]")
|
|
1269
|
+
console.print("[yellow]⚠️ Update blocked to prevent installing a broken version[/yellow]")
|
|
1270
|
+
console.print("[dim] Use --skip-ci-check to install anyway (not recommended)[/dim]")
|
|
1271
|
+
return
|
|
1272
|
+
else:
|
|
1273
|
+
console.print("[green]✓ CI build is passing[/green]")
|
|
1274
|
+
|
|
1218
1275
|
# Install update
|
|
1219
1276
|
console.print(f"[cyan]📦 Installing mcli {latest_version}...[/cyan]")
|
|
1220
1277
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcli-framework
|
|
3
|
-
Version: 7.0.
|
|
3
|
+
Version: 7.0.3
|
|
4
4
|
Summary: 🚀 High-performance CLI framework with Rust extensions, AI chat, and stunning visuals
|
|
5
5
|
Author-email: Luis Fernandez de la Vara <luis@lefv.io>
|
|
6
6
|
Maintainer-email: Luis Fernandez de la Vara <luis@lefv.io>
|
|
@@ -159,7 +159,7 @@ mcli/public/public.py,sha256=t9BkO1XV7s3YcoH0bbIpyjZ05UX_vBjaKtKkuDX7wZ0,114
|
|
|
159
159
|
mcli/public/commands/__init__.py,sha256=0WGm1i4t1uifkC_5FmbQ2r03q53yrZ3KnoWOd2M7dEA,103
|
|
160
160
|
mcli/public/oi/oi.py,sha256=SQabQWQ1pE67pWYEHwIDc3R93DARJfB6VHk7qxWx9xo,308
|
|
161
161
|
mcli/self/__init__.py,sha256=7hCrgaRb4oAgAf-kcyzqhJ5LFpW19jwF5bxowR4LwjY,41
|
|
162
|
-
mcli/self/self_cmd.py,sha256=
|
|
162
|
+
mcli/self/self_cmd.py,sha256=FM7LqGi3ZXRZCjFBhxIMRce_--8L7GT2UjH3sgKP3UI,47491
|
|
163
163
|
mcli/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
164
164
|
mcli/workflow/lsh_integration.py,sha256=khwmMPsdYdkmmLxlZi_UqUo2p0Nf-6GF6PPbtOrmoYQ,13290
|
|
165
165
|
mcli/workflow/workflow.py,sha256=t58OVXmU9uQCJnyXuIbMAm8lihSzJ_jI10vXPNpZspk,928
|
|
@@ -236,9 +236,9 @@ mcli/workflow/videos/__init__.py,sha256=aV3DEoO7qdKJY4odWKoQbOKDQq4ludTeCLnZcupO
|
|
|
236
236
|
mcli/workflow/videos/videos.py,sha256=C47ViVv6qqqkSKQz6YXjzhok4UrqFbya8w5k_x7hToM,8360
|
|
237
237
|
mcli/workflow/wakatime/__init__.py,sha256=wKG8cVIHVtMPhNRFGFtX43bRnocHqOMMkFMkmW-M6pU,2626
|
|
238
238
|
mcli/workflow/wakatime/wakatime.py,sha256=sEjsUKa3-XyE8Ni6sAb_D3GAY5jDcA30KknW9YTbLTA,142
|
|
239
|
-
mcli_framework-7.0.
|
|
240
|
-
mcli_framework-7.0.
|
|
241
|
-
mcli_framework-7.0.
|
|
242
|
-
mcli_framework-7.0.
|
|
243
|
-
mcli_framework-7.0.
|
|
244
|
-
mcli_framework-7.0.
|
|
239
|
+
mcli_framework-7.0.3.dist-info/licenses/LICENSE,sha256=sahwAMfrJv2-V66HNPTp7A9UmMjxtyejwTZZoWQvEcI,1075
|
|
240
|
+
mcli_framework-7.0.3.dist-info/METADATA,sha256=T2hlb-nQrSmCvzSNg6QcRYrpEGJYyGjW6LUHvL6JbIs,14307
|
|
241
|
+
mcli_framework-7.0.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
242
|
+
mcli_framework-7.0.3.dist-info/entry_points.txt,sha256=dYrZbDIm-KUPsl1wfv600Kx_8sMy89phMkCihbDRgP8,261
|
|
243
|
+
mcli_framework-7.0.3.dist-info/top_level.txt,sha256=_bnO8J2EUkliWivey_1le0UrnocFKmyVMQjbQ8iVXjc,5
|
|
244
|
+
mcli_framework-7.0.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|