diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index 289eef5..a697764 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -41,12 +41,11 @@ jobs: uv venv source .venv/bin/activate uv sync - - name: Code linting + - name: Ruff linting and formatting check run: | source .venv/bin/activate ruff check src/smolvault tests ruff format --check src/smolvault tests - mypy src/smolvault - name: Test with pytest run: | mkdir ~/.aws && touch ~/.aws/credentials && echo -e "[default]\naws_access_key_id = test\naws_secret_access_key = test" > ~/.aws/credentials diff --git a/.github/workflows/reviewdog.yml b/.github/workflows/reviewdog.yml new file mode 100644 index 0000000..398346a --- /dev/null +++ b/.github/workflows/reviewdog.yml @@ -0,0 +1,47 @@ +name: reviewdog +on: [pull_request] +jobs: + mypy: + name: runner / mypy + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.12"] + env: + # Configure a constant location for the uv cache + UV_CACHE_DIR: /tmp/.uv-cache + FORCE_COLOR: 1 + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Load cached venv + id: cached-uv-dependencies + uses: actions/cache@v4 + with: + path: /tmp/.uv-cache + key: uv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/uv.lock') }} + - name: Install dependencies + run: | + pip install uv==0.4.15 + uv venv + source .venv/bin/activate + uv sync + - uses: tsuyoshicho/action-mypy@v4 + with: + github_token: ${{ secrets.github_token }} + # Change reviewdog reporter if you need [github-pr-check,github-check,github-pr-review]. + reporter: github-pr-review + # Change reporter level if you need. + # GitHub Status Check won't become failure with warning. + level: warning + setup_command: | + source .venv/bin/activate + setup_method: adaptive + # Change the current directory to run mypy command. + # mypy command reads setup.cfg or other settings file in this path. + workdir: . + target: src