Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu, windows]
pixi-environment: [test-latest]
pixi-environment: [test]
include:
- os: ubuntu
pixi-environment: "test-py311"
Expand Down
4 changes: 3 additions & 1 deletion docs/development/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,8 @@ pixi install

Now you have a development installation of Parcels, as well as a bunch of developer tooling to run tests, check code quality, and build the documentation! Simple as that.

We primarily use the `default` environment when developing locally (you can 'activate' this using `pixi shell`) - but sometimes you might want to enter and run other environments. For example, if you're trying to debug a failure from CI.

### Pixi workflows

**Typical development workflow**
Expand Down Expand Up @@ -134,7 +136,7 @@ Parcels supports testing against different environments (e.g., different Python
The name of the workflow on GitHub contains the command you have to run locally to recreate the workflow - making it super easy to reproduce CI failures locally.

```{tip}
For those familiar with Conda, you are used to activating an environment. With Pixi, you can do the same by doing `pixi shell <env-name>`. For example, `pixi shell test-latest` will drop you into a shell where you can run commands such as `pytest` like normal. You can exit the shell with `exit` or `Ctrl+D`.
For those familiar with Conda, you are used to activating an environment. With Pixi, you can do the same by doing `pixi shell -e <env-name>`. For example, `pixi shell -e test` will drop you into an environment used in CI for testing (where you can run commands such as `pytest` like normal). Doing `pixi shell` will drop you into our default development environment. You can exit the shell with `exit` or `Ctrl+D`.
```

### Changing code
Expand Down
25 changes: 16 additions & 9 deletions pixi.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,6 @@ backend = { name = "pixi-build-python", version = "==0.4.0" }
setuptools = "*"
setuptools_scm = "*"

[environments]
test-latest = { features = ["test"], solve-group = "test" }
test-minimum = { features = ["test", "minimum"], solve-group = "test" }
test-py311 = { features = ["test", "py311"] }
test-py313 = { features = ["test", "py313"] }
test-notebooks = { features = ["test", "notebooks"], solve-group = "test" }
docs = { features = ["docs", "notebooks"], solve-group = "docs" }
typing = { features = ["typing"], solve-group = "typing" }
pre-commit = { features = ["pre-commit"], no-default-feature = true }

[package.run-dependencies] # keep section in sync with pyproject.toml dependencies
python = ">=3.11"
Expand Down Expand Up @@ -110,3 +101,19 @@ types-tqdm = "*"

[feature.typing.tasks]
typing = "mypy src/parcels --install-types"


[environments]
default = { features = [
"test",
"notebooks",
"typing",
"pre-commit",
], solve-group = "main" }
test = { features = ["test"], solve-group = "main" }
test-minimum = { features = ["test", "minimum"] }
test-py311 = { features = ["test", "py311"] }
test-py313 = { features = ["test", "py313"] }
test-notebooks = { features = ["test", "notebooks"], solve-group = "main" }
docs = { features = ["docs", "notebooks"], solve-group = "docs" }
typing = { features = ["typing"], solve-group = "main" }