Repository navigation
release(v0.1.0-rc.3): composite primary keys, DI kwargs auto-wiring, … #28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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!" |