You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+38-23Lines changed: 38 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ GitHub Action to set up the [pixi](https://github.com/prefix-dev/pixi) package m
23
23
## Usage
24
24
25
25
```yml
26
-
- uses: prefix-dev/setup-pixi@v0.9.5
26
+
- uses: prefix-dev/setup-pixi@v0.9.6
27
27
with:
28
28
pixi-version: v0.66.0
29
29
@@ -35,7 +35,7 @@ GitHub Action to set up the [pixi](https://github.com/prefix-dev/pixi) package m
35
35
36
36
> [!WARNING]
37
37
> Since pixi is not yet stable, the API of this action may change between minor versions.
38
-
> Please pin the versions of this action to a specific version (i.e., `prefix-dev/setup-pixi@v0.9.5`) to avoid breaking changes.
38
+
> Please pin the versions of this action to a specific version (i.e., `prefix-dev/setup-pixi@v0.9.6`) to avoid breaking changes.
39
39
> 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).
40
40
>
41
41
> Put the following in your `.github/dependabot.yml` file to enable Dependabot for your GitHub Actions:
@@ -79,7 +79,7 @@ In order to not exceed the [10 GB cache size limit](https://docs.github.com/en/a
79
79
This can be done by setting the `cache-write` argument.
The following example will install both the `py311` and the `py312` environment on the runner.
135
135
136
136
```yml
137
-
- uses: prefix-dev/setup-pixi@v0.9.5
137
+
- uses: prefix-dev/setup-pixi@v0.9.6
138
138
with:
139
139
# separated by spaces
140
140
environments: >-
@@ -157,7 +157,7 @@ For instance, the `keyring`, or `gcloud` executables. The following example show
157
157
By default, global environments are not cached. You can enable caching by setting the `global-cache` input to `true`.
158
158
159
159
```yml
160
-
- uses: prefix-dev/setup-pixi@v0.9.5
160
+
- uses: prefix-dev/setup-pixi@v0.9.6
161
161
with:
162
162
global-environments: |
163
163
google-cloud-sdk
@@ -190,7 +190,7 @@ Specify the token using the `auth-token` input argument.
190
190
This form of authentication (bearer token in the request headers) is mainly used at [prefix.dev](https://prefix.dev).
191
191
192
192
```yml
193
-
- uses: prefix-dev/setup-pixi@v0.9.5
193
+
- uses: prefix-dev/setup-pixi@v0.9.6
194
194
with:
195
195
auth-host: prefix.dev
196
196
auth-token: ${{ secrets.PREFIX_DEV_TOKEN }}
@@ -202,7 +202,7 @@ Specify the username and password using the `auth-username` and `auth-password`
202
202
This form of authentication (HTTP Basic Auth) is used in some enterprise environments with [artifactory](https://jfrog.com/artifactory) for example.
203
203
204
204
```yml
205
-
- uses: prefix-dev/setup-pixi@v0.9.5
205
+
- uses: prefix-dev/setup-pixi@v0.9.6
206
206
with:
207
207
auth-host: custom-artifactory.com
208
208
auth-username: ${{ secrets.PIXI_USERNAME }}
@@ -215,7 +215,7 @@ Specify the conda-token using the `auth-conda-token` input argument.
215
215
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).
216
216
217
217
```yml
218
-
- uses: prefix-dev/setup-pixi@v0.9.5
218
+
- uses: prefix-dev/setup-pixi@v0.9.6
219
219
with:
220
220
auth-host: anaconda.org # or my-quetz-instance.com
221
221
auth-conda-token: ${{ secrets.CONDA_TOKEN }}
@@ -227,7 +227,7 @@ Specify the S3 key pair using the `auth-access-key-id` and `auth-secret-access-k
227
227
You can also specify the session token using the `auth-session-token` input argument.
@@ -238,12 +238,27 @@ You can also specify the session token using the `auth-session-token` input argu
238
238
239
239
See the [pixi documentation](https://pixi.sh/latest/advanced/s3) for more information about S3 authentication.
240
240
241
+
#### Restricting credentials to the install step
242
+
243
+
If you only want pixi to use the authenticated remote channel during the action's own install step
244
+
(and not in any subsequent step of the workflow), set `persist-credentials: false`. The action will
245
+
then run `pixi auth logout <auth-host>` after `pixi install` has completed but before the action
246
+
returns, so that later steps cannot reach the private channel anymore.
247
+
248
+
```yml
249
+
- uses: prefix-dev/setup-pixi@v0.9.6
250
+
with:
251
+
auth-host: prefix.dev
252
+
auth-token: ${{ secrets.PREFIX_DEV_TOKEN }}
253
+
persist-credentials: false
254
+
```
255
+
241
256
#### PyPI keyring provider
242
257
243
258
You can specify whether to use keyring to look up credentials for PyPI.
244
259
245
260
```yml
246
-
- uses: prefix-dev/setup-pixi@v0.9.5
261
+
- uses: prefix-dev/setup-pixi@v0.9.6
247
262
with:
248
263
pypi-keyring-provider: subprocess # one of 'subprocess', 'disabled'
249
264
```
@@ -311,15 +326,15 @@ To this end, `setup-pixi` adds all environment variables set when executing `pix
311
326
As a result, all installed binaries can be accessed without having to call `pixi run`.
312
327
313
328
```yml
314
-
- uses: prefix-dev/setup-pixi@v0.9.5
329
+
- uses: prefix-dev/setup-pixi@v0.9.6
315
330
with:
316
331
activate-environment: true
317
332
```
318
333
319
334
If you are installing multiple environments, you will need to specify the name of the environment that you want to be activated.
320
335
321
336
```yml
322
-
- uses: prefix-dev/setup-pixi@v0.9.5
337
+
- uses: prefix-dev/setup-pixi@v0.9.6
323
338
with:
324
339
environments: >-
325
340
py311
@@ -336,7 +351,7 @@ You can specify whether `setup-pixi` should run `pixi install --frozen` or `pixi
336
351
See the [official documentation](https://pixi.sh/latest/reference/cli/pixi/install/#update-options) for more information about the `--frozen` and `--locked` flags.
337
352
338
353
```yml
339
-
- uses: prefix-dev/setup-pixi@v0.9.5
354
+
- uses: prefix-dev/setup-pixi@v0.9.6
340
355
with:
341
356
locked: true
342
357
# or
@@ -355,7 +370,7 @@ The first one is the debug logging of the action itself.
355
370
This can be enabled by running the action with the `RUNNER_DEBUG` environment variable set to `true`.
356
371
357
372
```yml
358
-
- uses: prefix-dev/setup-pixi@v0.9.5
373
+
- uses: prefix-dev/setup-pixi@v0.9.6
359
374
env:
360
375
RUNNER_DEBUG: true
361
376
```
@@ -373,7 +388,7 @@ The second type is the debug logging of the pixi executable.
373
388
This can be specified by setting the `log-level` input.
374
389
375
390
```yml
376
-
- uses: prefix-dev/setup-pixi@v0.9.5
391
+
- uses: prefix-dev/setup-pixi@v0.9.6
377
392
with:
378
393
# one of `q`, `default`, `v`, `vv`, or `vvv`.
379
394
log-level: vvv
@@ -399,7 +414,7 @@ If nothing is specified, `post-cleanup` will default to `true`.
399
414
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.
400
415
401
416
```yml
402
-
- uses: prefix-dev/setup-pixi@v0.9.5
417
+
- uses: prefix-dev/setup-pixi@v0.9.6
403
418
with:
404
419
post-cleanup: true
405
420
# ${{ runner.temp }}\Scripts\pixi.exe on Windows
@@ -415,7 +430,7 @@ You can also use a preinstalled local version of pixi on the runner by not setti
415
430
This can be overwritten by setting the `manifest-path` input argument.
416
431
417
432
```yml
418
-
- uses: prefix-dev/setup-pixi@v0.9.5
433
+
- uses: prefix-dev/setup-pixi@v0.9.6
419
434
with:
420
435
manifest-path: pyproject.toml
421
436
```
@@ -425,7 +440,7 @@ This can be overwritten by setting the `manifest-path` input argument.
425
440
If you're working with a monorepo where your pixi project is in a subdirectory, you can use the `working-directory` input to specify where pixi should look for manifest files (`pixi.toml` or `pyproject.toml`).
426
441
427
442
```yml
428
-
- uses: prefix-dev/setup-pixi@v0.9.5
443
+
- uses: prefix-dev/setup-pixi@v0.9.6
429
444
with:
430
445
working-directory: ./packages/my-project
431
446
```
@@ -444,7 +459,7 @@ This will make pixi look for `pixi.toml` or `pyproject.toml` in the `./packages/
444
459
You can combine `working-directory` with `manifest-path` if needed:
445
460
446
461
```yml
447
-
- uses: prefix-dev/setup-pixi@v0.9.5
462
+
- uses: prefix-dev/setup-pixi@v0.9.6
448
463
with:
449
464
working-directory: ./packages/my-project
450
465
manifest-path: custom-pixi.toml
@@ -455,7 +470,7 @@ You can combine `working-directory` with `manifest-path` if needed:
455
470
If you only want to install pixi and not install the current project, you can use the `run-install` option.
456
471
457
472
```yml
458
-
- uses: prefix-dev/setup-pixi@v0.9.5
473
+
- uses: prefix-dev/setup-pixi@v0.9.6
459
474
with:
460
475
run-install: false
461
476
```
@@ -466,7 +481,7 @@ You can also download pixi from a custom URL by setting the `pixi-url` input arg
466
481
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.
0 commit comments