You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 7e78d47
Browse filesBrowse the repository at this point in the historyBrowse files
ci(github): check ESLint in the CI and run all tests in the dev container
The code-quality job now runs ESLint as the pre-commit hook does. The dev container moves to Ubuntu 26.04 and installs a JDK 21 and xvfb, so that the tests of the PyCharm plugin and the VS Code extension run in it and in Codespaces; the pre-commit hooks take any Python 3, since the container has no Python 3.10.
Copy file name to clipboardExpand all lines: .github/PULL_REQUEST_TEMPLATE.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@
20
20
-[ ] I have read the [Contribution Guide](../CONTRIBUTING.md) and the [AI and Automated Contribution Policy](../AI_POLICY.md).
21
21
-[ ] The change is focused on a single concern (no unrelated refactors or formatting noise).
22
22
-[ ] Tests for the change have been added or updated, and the tests of every changed part pass locally: `hatch run test:test` for the Python packages (RF matrix against the default Python), `npm test` for the VS Code extension, `./gradlew test` in `intellij-client/` for the PyCharm plugin — *or N/A for documentation-only / non-code changes*. See [Running Tests](../CONTRIBUTING.md#running-tests) for faster iteration options and the full matrix.
23
-
-[ ]`hatch run lint:all` passes (also enforced by the [pre-commit hooks](../CONTRIBUTING.md#pre-commit-hooks) if installed) — *or N/A for documentation-only / non-code changes*.
23
+
-[ ]`hatch run lint:all` passes, and `npm run lint` for changes to the VS Code extension (also enforced by the [pre-commit hooks](../CONTRIBUTING.md#pre-commit-hooks) if installed) — *or N/A for documentation-only / non-code changes*.
24
24
-[ ] Documentation has been updated where relevant (user docs, code comments, README).
25
25
-[ ] Generated files (if any) were regenerated with the documented script, not edited by hand.
26
26
-[ ] Commits follow [Conventional Commits](../CONTRIBUTING.md#commit-messages) and are [cryptographically signed](../CONTRIBUTING.md#signed-commits-required) (`git commit -S`, GPG/SSH).
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -197,7 +197,7 @@ For local development with containers:
197
197
- Clone the repository: `git clone https://github.com/robotcodedev/robotcode.git`.
198
198
- Open the project in VS Code.
199
199
- When prompted, click "Reopen in Container" — or use the Command Palette (`Cmd+Shift+P` / `Ctrl+Shift+P`) and run "Dev Containers: Reopen in Container".
200
-
- The container automatically installs all dependencies (Python, Node.js, etc.).
200
+
- The container automatically installs all dependencies: Python, Node.js and Hatch, a JDK 21 for the PyCharm plugin, and xvfb for the VS Code extension's tests. All three test suites run in it, in Codespaces as well; start the VS Code extension's tests there with `xvfb-run -a npm test`, since the container has no display.
201
201
202
202
**Option 3: Local Development**
203
203
@@ -261,8 +261,8 @@ This installs the `pre-commit`, `commit-msg` and `pre-push` hooks. To run all ho
261
261
1.**Create a branch:**`git checkout -b feature/your-feature-name`
262
262
2.**Make your changes** following the project's coding standards
263
263
3.**Run tests:** the tests of every part you changed, before committing or pushing, and not only the tests you added or changed — `hatch run test:test` for the Python packages (the full test suite against all supported Robot Framework versions with the default Python), `npm test` for the VS Code extension, `./gradlew test` in `intellij-client/` for the PyCharm plugin (see [Running Tests](#running-tests))
264
-
4.**Run linting:**`hatch run lint:all` (or use the VS Code task) — the [pre-commit hooks](#pre-commit-hooks) run style and typing checks automatically if installed
265
-
5.**Fix linting issues:**`hatch run lint:style` for formatting
264
+
4.**Run linting:**`hatch run lint:all` (or use the VS Code task) for the Python code and `npm run lint` for the VS Code extension — the [pre-commit hooks](#pre-commit-hooks) run these checks automatically if installed
265
+
5.**Fix linting issues:**`hatch run lint:fix` for the Python code and `npm run lint-fix` for the VS Code extension; both fix what they can, formatting included
266
266
6.**Commit your changes** with a descriptive commit message
267
267
7.**Push and create a pull request**
268
268
@@ -276,7 +276,7 @@ Before submitting your pull request, make sure that:
276
276
277
277
-[ ] The change is **focused** on a single concern (no unrelated refactors or formatting noise).
278
278
-[ ]**Tests** for the change have been added or updated, and the tests of every changed part pass locally: `hatch run test:test` for the Python packages (RF matrix against the default Python), `npm test` for the VS Code extension, `./gradlew test` in `intellij-client/` for the PyCharm plugin — *not required for documentation-only or other non-code changes; note that in the PR*. See [Running Tests](#running-tests) for faster iteration options and the full matrix.
279
-
-[ ]**Linting** passes: `hatch run lint:all` (also enforced by the [pre-commit hooks](#pre-commit-hooks) if installed) — *not applicable to documentation-only or other non-code changes; there is no Markdown linter*.
279
+
-[ ]**Linting** passes: `hatch run lint:all`, and `npm run lint` for changes to the VS Code extension (also enforced by the [pre-commit hooks](#pre-commit-hooks) if installed) — *not applicable to documentation-only or other non-code changes; there is no Markdown linter*.
280
280
-[ ]**Documentation** has been updated where relevant (user docs, code comments, README).
281
281
-[ ]**Generated files** (if any) were regenerated with the documented script, not edited by hand.
282
282
-[ ]**Commits** follow [Conventional Commits](#commit-messages) and are [cryptographically signed](#signed-commits-required) (`git commit -S`, GPG/SSH).
@@ -311,7 +311,7 @@ This runs the full test suite across all supported Robot Framework versions usin
311
311
`test:test` runs every Robot Framework version with your default Python, also the versions that do not officially support it (see "Supported Python and Robot Framework versions" below). Robot Framework itself may fail in such a combination: for example, Robot Framework 7.2 and older cannot load their XML library on Python 3.15. The CI, which runs only the supported combinations, is authoritative.
312
312
313
313
> [!NOTE]
314
-
> **Documentation-only or other non-code changes** (typo fixes, prose, Markdown docs) need neither the test matrix nor linting: `hatch run lint:all` only checks source code (ruff/mypy for Python, eslint for JS/TS), there is no Markdown linter, and the pre-commit hooks skip automatically when no code files are staged. Run the tests and linting whenever you touch source code, even slightly.
314
+
> **Documentation-only or other non-code changes** (typo fixes, prose, Markdown docs) need neither the test matrix nor linting: `hatch run lint:all`and `npm run lint`only check source code (ruff/mypy for Python, ESLint for JS/TS), there is no Markdown linter, and the pre-commit hooks skip automatically when no code files are staged. Run the tests and linting whenever you touch source code, even slightly.
315
315
316
316
**Fast iteration during development:**
317
317
@@ -367,7 +367,7 @@ cd intellij-client
367
367
The CI workflow `build test and package` (`.github/workflows/build-test-package.yml`) runs for pull requests and pushes to `main`:
368
368
369
369
- on Linux, Windows and macOS: the Python tests with every supported Python and Robot Framework combination, the VS Code extension's tests with the minimum and the newest stable VS Code, and the PyCharm plugin's tests;
370
-
- on Linux: `hatch run lint:style`, `hatch run lint:typing` and the plugin verifier.
370
+
- on Linux: `hatch run lint:style`, `hatch run lint:typing`, `npm run lint` and the plugin verifier.
371
371
372
372
The packages are only built when all tests pass. Since every test suite runs on all three systems, write tests that pass on each of them: create files in a temporary directory, such as pytest's `tmp_path`, instead of fixed paths like `/tmp/...`, and don't depend on path separators, line endings or the form of file URIs.
373
373
@@ -402,7 +402,7 @@ These commands are mainly used by maintainers, but contributors may need some of
402
402
403
403
**Code Quality & Linting:**
404
404
-`hatch run lint:typing` — Type checking with mypy.
405
-
-`hatch run lint:style` — Code style check and formatting.
405
+
-`hatch run lint:style` — Code style and formatting check.
0 commit comments