Skip to content

release(v0.1.0-rc.2): framework stabilization, soft-delete, and lookup #21

release(v0.1.0-rc.2): framework stabilization, soft-delete, and lookup

release(v0.1.0-rc.2): framework stabilization, soft-delete, and lookup #21

Workflow file for this run

name: Test Suite (CI)
on:
pull_request:
branches: [master, develop]
push:
branches: [master, develop]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
quality-check:
name: Code Quality & Type Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"
- name: Install Dependencies & Tools
run: |
python -m pip install --upgrade pip
pip install ruff mypy
pip install -e ".[all]"
- name: Ruff Linter
run: ruff check src/zcore
- name: Ruff Formatter Check
run: ruff format --check src/zcore
- name: Mypy Strict Type Analysis
run: mypy src/zcore
matrix-tests:
name: test (${{ matrix.os }} / py${{ matrix.python-version }})
needs: quality-check
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Upgrade pip & install hatch
run: |
python -m pip install --upgrade pip
pip install hatch
- name: Run 515+ Tests via Hatch
run: hatch test
smoke-install-test:
name: smoke test (${{ matrix.os }})
needs: matrix-tests
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install Hatch & Build Wheel
run: |
pip install hatch
hatch build
- name: Install Generated Wheel & Test CLI
shell: bash
run: |
pip install dist/*.whl
zc --version
python -c "import zcore; print('ZCore successfully imported from:', zcore.__file__)"
all-checks-passed:
name: all-checks-passed
needs: [quality-check, matrix-tests, smoke-install-test]
runs-on: ubuntu-latest
if: always()
steps:
- name: Verify all dependencies succeeded
run: |
if [ "${{ needs.quality-check.result }}" != "success" ] || \
[ "${{ needs.matrix-tests.result }}" != "success" ] || \
[ "${{ needs.smoke-install-test.result }}" != "success" ]; then
echo "One or more checks failed!"
exit 1
fi
echo "All 13 checks passed with 100% success!"