diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 6ac38d2..1906533 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -2,22 +2,69 @@ name: CI on: push: - branches: [main] + branches: [main, master] pull_request: - branches: [main] + branches: [main, master] jobs: test: runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.10", "3.11", "3.12"] + steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: ${{ matrix.python-version }} + cache: 'pip' + - name: Install dependencies run: | + python -m pip install --upgrade pip pip install -e ".[dev]" + - name: Run tests run: pytest tests/ -v - - name: Run linting - run: ruff check src/gdiffer tests/ + + lint: + 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: pip install ruff + + - name: Run ruff linter + run: ruff check src/gdiffer/ tests/ + + build: + runs-on: ubuntu-latest + needs: [test, lint] + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + cache: 'pip' + + - name: Install build dependencies + run: pip install build + + - name: Build package + run: python -m build + + - name: Verify package + run: pip install dist/*.whl --force-reinstall && gdiffer --version