Conversation
Adds Pixi configuration for doc building and serving in addition to running pytest. I’ve tried tweaking the ReadTheDocs config to play nice as well. Works on #1648
| - name: Cache Dependencies | ||
| uses: Swatinem/rust-cache@v2 | ||
| with: | ||
| key: ${{ env.RUST_CHANNEL }} |
There was a problem hiding this comment.
Must fix this, rust channel doesn't make much sense anymore
There was a problem hiding this comment.
@claude adapt this to the proposed changes within pixi
….8.0, rearrange and rename pixi features/envs
|
I have rearranged the logic here a bit and have now defined all developer 'tasks' in the Justfile. This seems more consistent at this point. I also updated the Python (+docs) instructions, but have not yet gotten to the Rust (and the special python test cases like upstream). |
| @@ -0,0 +1 @@ | |||
| # Index of ingestion | |||
There was a problem hiding this comment.
WHY IS THIS DAMN PAGE SHOWING UP ALL THE TIME?
| ``` | ||
| and then in the shell | ||
| ```bash | ||
| pixi run -e all init |
There was a problem hiding this comment.
Thinking of making this a just command too and then have a subset of the commands depend on it? Thoughts @li-em ?
There was a problem hiding this comment.
Pixi shouldn't need the -e all for defined tasks as pixi run init should know which environment it should run in, and it supports dependencies for it's built in tasks via https://pixi.prefix.dev/latest/workspace/advanced_tasks/#depends-on
There was a problem hiding this comment.
yup! And I think we can name the all environment as default, which also avoids the -e all argument in the CLI
There was a problem hiding this comment.
I use a variant of that technique for OceanHackWeek, so that we can split up the dependencies by tutorial/project to track where they came from but still install them all: https://github.com/oceanhackweek/jupyter-image/blob/293f282b7a7b1b5d7bfe2f52f4c995a8fd04fdb2/py-base/pixi.toml#L155-L165
There was a problem hiding this comment.
the default env works, but pixi run init does not:
I am getting
(icechunk) juliusbusecke@arm64-apple-darwin20 icechunk % pixi run init
WARN Using local manifest /Users/juliusbusecke/Code/icechunk/pixi.toml rather than /Users/juliusbusecke/Code/icechunk/icechunk-python/pyproject.toml from environment variable `PIXI_PROJECT_MANIFEST`
init: command not found
This works now.
pixi shell -m icechunk-python/pyproject.toml init
# and then in the shell
pixi run -m icechunk-python/pyproject.toml init
which still feels awkward. Is there a way I can run the task automatically when starting the shell? Or alternatively set env variables? That way I can replace the -m ... I think.
There was a problem hiding this comment.
From that warning, I think you may have conflicting manifests confusing things.
Do you need to use pixi shell and maturin develop? I think re-enabling
[tool.pixi.pypi-dependencies]
icechunk = { path = ".", editable = true }With make maturin automatically run for any pixi tasks (or starting a shell).
If that's slowing some things down, icechunk could be set as a feature and then only included in the environments for specific tasks.
There was a problem hiding this comment.
That was it! Thanks a lot for this!
| ``` | ||
|
|
||
| === "uv" | ||
| TBW |
There was a problem hiding this comment.
Its pretty rough to keep all of these variants around. How do people feel about just instructing people to use pixi, or else they kind of have to know what they are doing? Maybe that is too exclusionary...
| { include-group = "test" }, | ||
| "mypy", | ||
| "ruff", | ||
| "ruff==0.8.0", |
There was a problem hiding this comment.
I will unpin this in a separate PR, so we can cleanly separate changes in code due to the version change (see also #1647)
|
I added a new |
|
Ill be OOO today and Monday, but pick this up Tues. |
…into li-em/pixi
| - Use `just docs-serve --dirty` to only rebuild changed files (faster for iterative development) | ||
| - You may need to restart if you make changes to `mkdocs.yml` | ||
| - For debugging the doc build logs, check out [docs-output-filter](https://github.com/ianhi/docs-output-filter) (you can run `uv run docs-output-filter -- mkdocs serve --livereload` once installed). *This also works to debug remote builds like RTD with the `--url` flag* 😍 | ||
| - For debugging the doc build logs, check out [docs-output-filter](https://github.com/ianhi/docs-output-filter) (you can run `docs-output-filter -- just docs-serve` once installed). *`docs-output-filter` also works to debug remote builds like RTD with the `--url` flag* |
| [doc("Run all Rust tests with RUST_LOG enabled (e.g. `just test-logs debug`)")] | ||
| test-logs level *args='': | ||
| RUST_LOG=icechunk={{level}} cargo nextest run --no-fail-fast --cargo-profile {{profile}} --workspace --all-targets {{args}} -- --nocapture | ||
| export DYLD_LIBRARY_PATH="${CONDA_PREFIX:-}/lib" && RUST_LOG=icechunk={{level}} cargo nextest run --no-fail-fast --cargo-profile {{profile}} --workspace --all-targets {{args}} -- --nocapture |
There was a problem hiding this comment.
Not 100% sure if this here or above fixed the issue. Ill test locally.
There was a problem hiding this comment.
Ill leave this in for now unless someone has a neater solution that does not require users to modify their mac?
|
I am happy with this for now. Ill wait for the last look of @li-em before merging. I am planning to push a couple smaller PRs soon that will:
|
Extends #1661 to add dependencies for running the Rust parts too.
Trying out with the code quality github actions check