63 lines
1.4 KiB
Bash
Executable File
63 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# SPDX-FileCopyrightText: 2025 Alexander Kalinovsky <a@k8y.ru>
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# Local CI script to run all checks and a packaging/CLI smoke test
|
|
set -e
|
|
|
|
echo "🚀 Running local CI checks and smoke tests..."
|
|
|
|
echo "📦 Installing dependencies..."
|
|
uv sync --all-extras --dev
|
|
|
|
echo "🔍 Running Ruff linting..."
|
|
uv run ruff check
|
|
|
|
echo "🎨 Checking code formatting..."
|
|
uv run ruff format --check
|
|
|
|
echo "📝 Running MyPy type checking..."
|
|
uv run mypy .
|
|
|
|
echo "🔍 Running Reuse linting..."
|
|
uv run reuse lint
|
|
|
|
echo "🧪 Running tests..."
|
|
uv run pytest
|
|
|
|
echo "🧪 Testing CI workflow steps locally (package build and CLI)..."
|
|
|
|
echo "📦 Building package..."
|
|
uv build
|
|
|
|
echo "🔧 Testing package installation..."
|
|
uv pip install dist/*.whl
|
|
|
|
echo "❓ Testing help command..."
|
|
uv run quickbot --help
|
|
|
|
echo "🚀 Testing CLI functionality..."
|
|
mkdir -p test_cli_output
|
|
uv run quickbot init \
|
|
--output test_cli_output \
|
|
--project-name "Local Test" \
|
|
--description "Local Test Description" \
|
|
--author "Local Test" \
|
|
--license-name MIT \
|
|
--no-include-alembic \
|
|
--no-include-i18n \
|
|
--no-interactive
|
|
|
|
echo "📁 Checking generated files..."
|
|
ls -la test_cli_output/
|
|
echo "📄 Generated pyproject.toml:"
|
|
cat test_cli_output/pyproject.toml
|
|
|
|
echo "🧹 Cleaning up..."
|
|
rm -rf test_cli_output
|
|
rm -rf dist/*
|
|
|
|
echo "✅ All checks and smoke tests passed!"
|