# Workflow that runs lint on the frontend and python code name: Lint # The jobs in this workflow are required, so they must run at all times # Always run on "main" # Always run on PRs on: push: branches: - main pull_request: # If triggered by a PR, it will be in the same group. However, each commit on main will be in its own unique group concurrency: group: ${{ github.workflow }}-${{ (github.head_ref && github.ref) || github.run_id }} cancel-in-progress: true jobs: # Run lint on the frontend code lint-frontend: name: Lint frontend runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Node.js 20 uses: actions/setup-node@v4 with: node-version: 20 - name: Install dependencies run: | cd frontend npm install --frozen-lockfile - name: Lint run: | cd frontend npm run lint # Run lint on the python code lint-python: name: Lint python runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up python uses: actions/setup-python@v5 with: python-version: 3.12 cache: 'pip' - name: Install pre-commit run: pip install pre-commit==3.7.0 - name: Run pre-commit hooks run: pre-commit run --files openhands/**/* evaluation/**/* tests/**/* --show-diff-on-failure --config ./dev_config/python/.pre-commit-config.yaml