name: Lint Fix on: pull_request: types: [labeled] jobs: # Frontend lint fixes lint-fix-frontend: if: github.event.label.name == 'lint-fix' name: Fix frontend linting issues runs-on: blacksmith-4vcpu-ubuntu-2204 permissions: contents: write pull-requests: write steps: - uses: actions/checkout@v4 with: ref: ${{ github.head_ref }} repository: ${{ github.event.pull_request.head.repo.full_name }} fetch-depth: 0 token: ${{ secrets.GITHUB_TOKEN }} - name: Install Node.js 22 uses: useblacksmith/setup-node@v5 with: node-version: 22 - name: Install frontend dependencies run: | cd frontend npm install --frozen-lockfile - name: Generate i18n and route types run: | cd frontend npm run make-i18n npx react-router typegen || true - name: Fix frontend lint issues run: | cd frontend npm run lint:fix # Commit and push changes if any - name: Check for changes id: git-check run: | git diff --quiet || echo "changes=true" >> $GITHUB_OUTPUT - name: Commit and push if there are changes if: steps.git-check.outputs.changes == 'true' run: | git config --local user.email "openhands@all-hands.dev" git config --local user.name "OpenHands Bot" git add -A git commit -m "🤖 Auto-fix frontend linting issues" --no-verify git push # Python lint fixes lint-fix-python: if: github.event.label.name == 'lint-fix' name: Fix Python linting issues runs-on: blacksmith-4vcpu-ubuntu-2204 permissions: contents: write pull-requests: write steps: - uses: actions/checkout@v4 with: ref: ${{ github.head_ref }} repository: ${{ github.event.pull_request.head.repo.full_name }} fetch-depth: 0 token: ${{ secrets.GITHUB_TOKEN }} - name: Set up python uses: useblacksmith/setup-python@v6 with: python-version: 3.12 cache: "pip" - name: Install pre-commit run: pip install pre-commit==3.7.0 - name: Fix python lint issues run: | # Run all pre-commit hooks and continue even if they modify files (exit code 1) pre-commit run --config ./dev_config/python/.pre-commit-config.yaml --all-files || true # Commit and push changes if any - name: Check for changes id: git-check run: | git diff --quiet || echo "changes=true" >> $GITHUB_OUTPUT - name: Commit and push if there are changes if: steps.git-check.outputs.changes == 'true' run: | git config --local user.email "openhands@all-hands.dev" git config --local user.name "OpenHands Bot" git add -A git commit -m "🤖 Auto-fix Python linting issues" --no-verify git push