# Copyright (c) Meta Platforms, Inc. and affiliates. # All rights reserved. # # This source code is licensed under the BSD-style license found in the # LICENSE file in the root directory of this source tree. name: Lint and Test on: # Trigger the workflow on push to master or any pull request push: pull_request: branches: - main jobs: lock_file: name: Lock File runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 1 - uses: ./.github/actions/setup - run: uv lock -P seamless_interaction lint_and_test: name: Linting & Testing runs-on: ubuntu-latest permissions: contents: read needs: [lock_file] steps: - uses: actions/checkout@v4 with: fetch-depth: 1 - uses: ./.github/actions/setup - name: Linting run: uvx ruff check . - name: Isort run: uvx ruff check --select I . --diff - name: Formatting run: uvx ruff format --check . --diff - name: Type Consistency run: uvx --with=types-PyYAML mypy src/seamless_interaction - name: Unit Test run: uv run pytest -rP --verbose tests/