diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cbbfa7cbfe..a44fb840da 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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" diff --git a/docs/development/index.md b/docs/development/index.md index 1183eb7436..56edf70fcd 100644 --- a/docs/development/index.md +++ b/docs/development/index.md @@ -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** @@ -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 `. 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 `. 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 diff --git a/pixi.toml b/pixi.toml index 5933e59058..f8998126a4 100644 --- a/pixi.toml +++ b/pixi.toml @@ -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" @@ -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" }