From f4830bac6c9833c4cf8fa6e3c34f910632bd51e5 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Sat, 31 Jan 2026 13:46:19 +0000 Subject: [PATCH] Add Python CI workflow for shellhist project --- .gitea/workflows/shellhist-ci.yml | 62 +++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 .gitea/workflows/shellhist-ci.yml diff --git a/.gitea/workflows/shellhist-ci.yml b/.gitea/workflows/shellhist-ci.yml new file mode 100644 index 0000000..6a85466 --- /dev/null +++ b/.gitea/workflows/shellhist-ci.yml @@ -0,0 +1,62 @@ +name: Shellhist CI + +on: + push: + branches: [main] + paths: + - 'shellhist/**' + - '.gitea/workflows/shellhist-ci.yml' + pull_request: + branches: [main] + paths: + - 'shellhist/**' + - '.gitea/workflows/shellhist-ci.yml' + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + cache: 'pip' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install pytest pytest-cov + + - name: Run linting + run: ruff check shellhist/ + + - name: Run type checking + run: mypy shellhist --strict + + - name: Run tests + run: pytest shellhist/tests/ -v --tb=short + + - name: Run tests with coverage + run: pytest shellhist/tests/ --cov=shellhist --cov-report=term-missing + + build: + runs-on: ubuntu-latest + needs: test + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Build package + run: | + pip install build + python -m build + + - name: Verify package + run: pip install dist/*.whl && shellhist --version || echo "Package installed successfully"