name: CI Pipeline on: push: branches: [main] pull_request: branches: [main] jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.10", 3.11, 3.12, 3.13] steps: - name: Check out code uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install -e .[dev] if [ "${{ matrix.python-version }}" = "3.13" ]; then python -m pip install cffconvert fi - name: Validate CITATION.cff if: ${{ matrix.python-version == '3.13' }} run: cffconvert --validate - name: Lint code with flake8 run: flake8 - name: Type checking with mypy run: mypy - name: Run tests with pytest run: pytest