feat: Switch order of pixi info and pixi install (#234)

This commit is contained in:
Pavel Zwerschke
2025-11-03 19:25:42 +09:00
committed by GitHub
parent a976380763
commit 82d477f15f
12 changed files with 35 additions and 35 deletions
+22 -22
View File
@@ -23,9 +23,9 @@ GitHub Action to set up the [pixi](https://github.com/prefix-dev/pixi) package m
## Usage
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
pixi-version: v0.55.0
pixi-version: v0.59.0
cache: true
auth-host: prefix.dev
@@ -35,7 +35,7 @@ GitHub Action to set up the [pixi](https://github.com/prefix-dev/pixi) package m
> [!WARNING]
> Since pixi is not yet stable, the API of this action may change between minor versions.
> Please pin the versions of this action to a specific version (i.e., `prefix-dev/setup-pixi@v0.9.2`) to avoid breaking changes.
> Please pin the versions of this action to a specific version (i.e., `prefix-dev/setup-pixi@v0.9.3`) to avoid breaking changes.
> You can automatically update the version of this action by using [Dependabot](https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot).
>
> Put the following in your `.github/dependabot.yml` file to enable Dependabot for your GitHub Actions:
@@ -77,7 +77,7 @@ In order to not exceed the [10 GB cache size limit](https://docs.github.com/en/a
This can be done by setting the `cache-write` argument.
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
cache: true
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
@@ -122,7 +122,7 @@ test:
environment: [py311, py312]
steps:
- uses: actions/checkout@v4
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
environments: ${{ matrix.environment }}
```
@@ -132,7 +132,7 @@ test:
The following example will install both the `py311` and the `py312` environment on the runner.
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
# separated by spaces
environments: >-
@@ -155,7 +155,7 @@ For instance, the `keyring`, or `gcloud` executables. The following example show
By default, global environments are not cached. You can enable caching by setting the `global-cache` input to `true`.
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
global-environments: |
google-cloud-sdk
@@ -188,7 +188,7 @@ Specify the token using the `auth-token` input argument.
This form of authentication (bearer token in the request headers) is mainly used at [prefix.dev](https://prefix.dev).
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
auth-host: prefix.dev
auth-token: ${{ secrets.PREFIX_DEV_TOKEN }}
@@ -200,7 +200,7 @@ Specify the username and password using the `auth-username` and `auth-password`
This form of authentication (HTTP Basic Auth) is used in some enterprise environments with [artifactory](https://jfrog.com/artifactory) for example.
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
auth-host: custom-artifactory.com
auth-username: ${{ secrets.PIXI_USERNAME }}
@@ -213,7 +213,7 @@ Specify the conda-token using the `auth-conda-token` input argument.
This form of authentication (token is encoded in URL: `https://my-quetz-instance.com/t/<token>/get/custom-channel`) is used at [anaconda.org](https://anaconda.org) or with [quetz instances](https://github.com/mamba-org/quetz).
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
auth-host: anaconda.org # or my-quetz-instance.com
auth-conda-token: ${{ secrets.CONDA_TOKEN }}
@@ -225,7 +225,7 @@ Specify the S3 key pair using the `auth-access-key-id` and `auth-secret-access-k
You can also specify the session token using the `auth-session-token` input argument.
```yaml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
auth-host: s3://my-s3-bucket
auth-s3-access-key-id: ${{ secrets.ACCESS_KEY_ID }}
@@ -241,7 +241,7 @@ See the [pixi documentation](https://pixi.sh/latest/advanced/s3) for more inform
You can specify whether to use keyring to look up credentials for PyPI.
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
pypi-keyring-provider: subprocess # one of 'subprocess', 'disabled'
```
@@ -309,7 +309,7 @@ To this end, `setup-pixi` adds all environment variables set when executing `pix
As a result, all installed binaries can be accessed without having to call `pixi run`.
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
activate-environment: true
```
@@ -317,7 +317,7 @@ As a result, all installed binaries can be accessed without having to call `pixi
If you are installing multiple environments, you will need to specify the name of the environment that you want to be activated.
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
environments: >-
py311
@@ -334,7 +334,7 @@ You can specify whether `setup-pixi` should run `pixi install --frozen` or `pixi
See the [official documentation](https://pixi.sh/latest/reference/cli/pixi/install/#update-options) for more information about the `--frozen` and `--locked` flags.
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
locked: true
# or
@@ -353,7 +353,7 @@ The first one is the debug logging of the action itself.
This can be enabled by running the action with the `RUNNER_DEBUG` environment variable set to `true`.
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
env:
RUNNER_DEBUG: true
```
@@ -371,7 +371,7 @@ The second type is the debug logging of the pixi executable.
This can be specified by setting the `log-level` input.
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
# one of `q`, `default`, `v`, `vv`, or `vvv`.
log-level: vvv
@@ -397,7 +397,7 @@ If nothing is specified, `post-cleanup` will default to `true`.
On self-hosted runners, you also might want to alter the default pixi install location to a temporary location. You can use `pixi-bin-path: ${{ runner.temp }}/bin/pixi` to do this.
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
post-cleanup: true
# ${{ runner.temp }}\Scripts\pixi.exe on Windows
@@ -413,7 +413,7 @@ You can also use a preinstalled local version of pixi on the runner by not setti
This can be overwritten by setting the `manifest-path` input argument.
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
manifest-path: pyproject.toml
```
@@ -423,7 +423,7 @@ This can be overwritten by setting the `manifest-path` input argument.
If you only want to install pixi and not install the current project, you can use the `run-install` option.
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
run-install: false
```
@@ -434,7 +434,7 @@ You can also download pixi from a custom URL by setting the `pixi-url` input arg
Optionally, you can combine this with the `pixi-url-headers` input argument to supply additional headers for the download request, such as a bearer token.
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
pixi-url: https://pixi-mirror.example.com/releases/download/v0.48.0/pixi-x86_64-unknown-linux-musl
pixi-url-headers: '{"Authorization": "Bearer ${{ secrets.PIXI_MIRROR_BEARER_TOKEN }}"}'
@@ -450,7 +450,7 @@ It will be rendered with the following variables:
By default, `pixi-url` is equivalent to the following template:
```yml
- uses: prefix-dev/setup-pixi@v0.9.2
- uses: prefix-dev/setup-pixi@v0.9.3
with:
pixi-url: |
{{#if latest~}}
Generated Vendored
+1 -1
View File
@@ -80801,8 +80801,8 @@ var run = async () => {
addPixiToPath();
await pixiLogin();
await pixiGlobalInstall();
await pixiInstall();
await generateInfo();
await pixiInstall();
await generateList();
if (options.activatedEnvironment) {
await activateEnv(options.activatedEnvironment);
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "setup-pixi",
"version": "0.9.2",
"version": "0.9.3",
"private": true,
"description": "Action to set up the pixi package manager.",
"scripts": {
+1 -1
View File
@@ -157,8 +157,8 @@ const run = async () => {
addPixiToPath()
await pixiLogin()
await pixiGlobalInstall()
await pixiInstall()
await generateInfo()
await pixiInstall()
await generateList()
if (options.activatedEnvironment) {
await activateEnv(options.activatedEnvironment)
+2 -2
View File
@@ -1,9 +1,9 @@
[project]
[workspace]
name = "test-auth-s3"
channels = ["s3://rattler-s3-testing/channel", "conda-forge"]
platforms = ["osx-arm64", "osx-64", "linux-64", "linux-aarch64", "win-64"]
[project.s3-options.rattler-s3-testing]
[workspace.s3-options.rattler-s3-testing]
endpoint-url = "https://e1a7cde76f1780ec06bac859036dbaf7.eu.r2.cloudflarestorage.com"
force-path-style = true
region = "auto"
+1 -1
View File
@@ -1,4 +1,4 @@
[project]
[workspace]
name = "test-auth"
channels = ["conda-forge", "https://repo.prefix.dev/setup-pixi-test"]
platforms = ["osx-arm64", "osx-64", "linux-64", "linux-aarch64", "win-64"]
+1 -1
View File
@@ -1,4 +1,4 @@
[project]
[workspace]
name = "test-win-arm64"
channels = ["conda-forge"]
platforms = [
+1 -1
View File
@@ -1,4 +1,4 @@
[project]
[workspace]
name = "test-default"
channels = ["conda-forge"]
platforms = ["linux-64", "linux-aarch64", "osx-64", "osx-arm64", "win-64"]
+1 -1
View File
@@ -1,4 +1,4 @@
[project]
[workspace]
name = "test-default"
version = "0.1.0"
description = "Add a short description here"
+1 -1
View File
@@ -1,4 +1,4 @@
[project]
[workspace]
name = "test-package"
channels = ["conda-forge"]
platforms = ["linux-64", "osx-arm64", "osx-64", "win-64"]
+1 -1
View File
@@ -1,4 +1,4 @@
[project]
[workspace]
name = "test-no-lockfile"
channels = ["conda-forge"]
platforms = ["linux-64", "linux-aarch64", "osx-64", "osx-arm64", "win-64"]
+2 -2
View File
@@ -19,7 +19,7 @@ lint = ["ruff>=0.1.14"]
[tool.ruff]
target-version = "py310"
line-length = 100
exclude = [ ".pixi", "__pycache__" ]
exclude = [".pixi", "__pycache__"]
# the TOML parser should also support comments in lists
lint.select = [
# flake8-bugbear
@@ -34,7 +34,7 @@ lint.select = [
"F",
]
[tool.pixi.project]
[tool.pixi.workspace]
name = "pyproject-manifest"
channels = ["conda-forge"]
platforms = ["linux-64", "osx-arm64", "osx-64", "win-64"]