-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
More documentation for hosted platform integration #1356
Comments
Regarding the point on containers - we do have Regarding documenting all this - yes! That would be great. |
Cool, definitely belongs in docs as a starting point... for a dev machine. But in a production image, with full auditing, one wouldn't want even the 45mb of As to the rest: of the above, I can probably make moves on the RTD stuff, but would probably want some guidance on what the maintainers/community see that looking like in the docs tree to be useful. |
Hey @bollwyvl, thanks for the issue! What do you mean with the read-the-docs section as opposed to the documentation we have now? |
I'm talking about the use case of:
The upstream documentation describes how to use an |
I also stumbled upon the readthedocs issue when trying to convert to pixi for some project that uses readthedocs. |
Re GitHub actions
I specifically implemented it in a way that the logs are very slim and easy to read in setup-pixi. You can enable debug logging to see what's going on under the hood and get more logs from setup-pixi. |
#1408 starts the RTD part and groups "not on my computer" stuff under Advanced // Third-Party Integrations |
Re docker: I'm writing a blog post explaining how to use pixi projects dockerized since it fits a bit better there than in the original documentation. Should be ready next Tuesday or Wednesday |
For readthedocs: i would guess it's easiest to just use their official ubuntu image and add pixi via Depends on asdf-vm/asdf-plugins#1013 Then have something like version: 2
build:
os: ubuntu-22.04
commands:
- asdf plugin add pixi
- asdf install pixi latest
- asdf global pixi latest
- pixi run build-docs
- mkdir -p $READTHEDOCS_OUTPUT/html/
- cp -r docs/_build/html/** $READTHEDOCS_OUTPUT/html/ |
Note that I opened readthedocs/readthedocs.org#11548 to see if pixi support could be added to RTD itself. |
Problem description
Looking past "works on my machine," there are a host (ha!) of other places open source developers (at least the ones I hang out with) often look for their free compute and hosting, and answering each of these would help projects make the call to adopt
pixi
.Perhaps these could be broken out into a section, similar to IDE integration.
github actions
Great! I see (and have pleasantly used)
setup-pixi
for GitHub Actions. I don't know what magic sauces is in there, but shucks it's fast with a warm cache. Being able to add a little more log output about what it's doing would be nice for debugging things, but otherwise, extremely pleased.gitlab
Is also a thing. While I presently don't make use of their cloud offering, I do interact with some hosted instances. They offer n approaches (templates, components, containers, etc.) to reusable CI. Not sure if this is worth the effort, but would probably be appreciated by some.
readthedocs
My next personal stop on the journey will be ReadTheDocs, of which I see no particular reference, or convenient place to put in
docs/
.While the
curl|bash
approach is... fine, it may make sense to rest atop their existingpython: mambaforge
baseline.There's probably a way to get the build customization to set up the right
pixi
env(s), such that an existingmkdocs
orsphinx
build works as expected with all the magic RTD sauce (elasticsearch, version pickers, etc), but initially something as small as this could be enough to get people going:where
[feature.rtd.tasks-rtd].cmd
could be:cmd = "sphinx-build -W --color -b html docs $READTHEDOCS_OUTPUT/html"
binder
I see Binder is mentioned in the JupyterLab section of IDE Integration... given the current resource (read: free compute) exhaustion, this is maybe not a great advertising mechanism.
At any rate, eventually I'd like to be able to efficiently use
pixi
in MyBinder, but... see above. However, getting support forpixi.toml
/pixi.lock
into repo2docker is likely something that would benefit organizations that self-host, but would take some coordination.From a repo2docker convention perspective...
I could imagine a text-based convention such as:
pixi.lock
does not existpixi.toml
exists and containstasks.binder
andenvironment.binder
pyproject.toml
exists and contains the stringtool.pixi
andtasks.binder
andenvironment.binder
COPY
thepixi.toml
(orpyproject.toml
) andpixi.lock
into the containerpixi
version required (see old pixi cannot parse parse project manifests from new version #1346)$schema
attribute which can contain the version... and give you free DX...micromamba
on the container to install it instead ofcurl|bash
RUN pixi install --environment=binder
RUN pixi run --environment=binder binder
container
This is kind of a superset of the binder case: getting to a really tight production build of a
pixi
-built application is pretty clutch for folk that deploy that way.Some ideas...
pixi run constructor
route (a la Addpixi list --explict
#1216), and deploying that directly with a multi-FROM
description.pixi/envs/{env name}
as the seed for an containerFROM pixi
) because you can't make everyone happy all the timeThanks again for
pixi
!The text was updated successfully, but these errors were encountered: