name: ci on: pull_request: branches: [main] push: branches: [main] jobs: lua-format: name: Lua Formatting runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: JohnnyMorganz/stylua-action@v4 with: token: ${{ secrets.GITHUB_TOKEN }} version: latest args: --check . lua-lint: name: Lua Linting runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Lint with Selene uses: NTBBloodbath/selene-action@v1.0.0 with: token: ${{ secrets.GITHUB_TOKEN }} args: --display-style quiet . lua-typecheck: name: Lua Type Checking runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run Lua LS Type Check uses: mrcjkb/lua-typecheck-action@v0 with: checklevel: Warning directories: lua configpath: .luarc.json python-format: name: Python Formatting runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v4 - name: Install ruff run: uv tool install ruff - name: Check Python formatting with ruff run: ruff format --check scrapers/ tests/scrapers/ python-lint: name: Python Linting runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v4 - name: Install ruff run: uv tool install ruff - name: Lint Python files with ruff run: ruff check scrapers/ tests/scrapers/ python-typecheck: name: Python Type Checking runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v4 - name: Install dependencies with mypy run: uv sync --dev - name: Type check Python files with mypy run: uv run mypy scrapers/ tests/scrapers/ python-test: name: Python Testing runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v4 - name: Install dependencies with pytest run: uv sync --dev - name: Run Python tests run: uv run pytest tests/scrapers/ -v