name: CI on: push: branches: [develop, master] pull_request: branches: [develop] jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.11" - name: Install dependencies run: | pip install ruff mypy pip install -e ".[dev]" - name: Lint with ruff run: ruff check src/ - name: Type check with mypy run: mypy src/ --ignore-missing-imports test: runs-on: ubuntu-latest needs: lint steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.11" - name: Install Stockfish run: sudo apt-get update && sudo apt-get install -y stockfish - name: Install dependencies run: pip install -e ".[dev]" - name: Run tests run: pytest tests/ -v --tb=short build: runs-on: ubuntu-latest needs: test steps: - uses: actions/checkout@v4 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Build Docker image uses: docker/build-push-action@v5 with: context: . push: false tags: shellmate:${{ github.sha }} cache-from: type=gha cache-to: type=gha,mode=max