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
+39-13Lines changed: 39 additions & 13 deletions
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.6.0
26
+
- uses: prefix-dev/setup-pixi@v0.7.0
27
27
with:
28
28
pixi-version: v0.21.1
29
29
cache: true
@@ -34,7 +34,7 @@ GitHub Action to set up the [pixi](https://github.com/prefix-dev/pixi) package m
34
34
35
35
> [!WARNING]
36
36
> Since pixi is not yet stable, the API of this action may change between minor versions.
37
-
> Please pin the versions of this action to a specific version (i.e., `prefix-dev/setup-pixi@v0.6.0`) to avoid breaking changes.
37
+
> Please pin the versions of this action to a specific version (i.e., `prefix-dev/setup-pixi@v0.7.0`) to avoid breaking changes.
38
38
> 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).
39
39
>
40
40
> Put the following in your `.github/dependabot.yml` file to enable Dependabot for your GitHub Actions:
@@ -73,7 +73,7 @@ In order to not exceed the [10 GB cache size limit](https://docs.github.com/en/a
73
73
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.
129
129
130
130
```yml
131
-
- uses: prefix-dev/setup-pixi@v0.6.0
131
+
- uses: prefix-dev/setup-pixi@v0.7.0
132
132
with:
133
133
# separated by spaces
134
134
environments: >-
@@ -163,7 +163,7 @@ Specify the token using the `auth-token` input argument.
163
163
This form of authentication (bearer token in the request headers) is mainly used at [prefix.dev](https://prefix.dev).
164
164
165
165
```yml
166
-
- uses: prefix-dev/setup-pixi@v0.6.0
166
+
- uses: prefix-dev/setup-pixi@v0.7.0
167
167
with:
168
168
auth-host: prefix.dev
169
169
auth-token: ${{ secrets.PREFIX_DEV_TOKEN }}
@@ -175,7 +175,7 @@ Specify the username and password using the `auth-username` and `auth-password`
175
175
This form of authentication (HTTP Basic Auth) is used in some enterprise environments with [artifactory](https://jfrog.com/artifactory) for example.
176
176
177
177
```yml
178
-
- uses: prefix-dev/setup-pixi@v0.6.0
178
+
- uses: prefix-dev/setup-pixi@v0.7.0
179
179
with:
180
180
auth-host: custom-artifactory.com
181
181
auth-username: ${{ secrets.PIXI_USERNAME }}
@@ -188,7 +188,7 @@ Specify the conda-token using the `conda-token` input argument.
188
188
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).
189
189
190
190
```yml
191
-
- uses: prefix-dev/setup-pixi@v0.6.0
191
+
- uses: prefix-dev/setup-pixi@v0.7.0
192
192
with:
193
193
auth-host: anaconda.org # or my-quetz-instance.com
194
194
conda-token: ${{ secrets.CONDA_TOKEN }}
@@ -228,13 +228,39 @@ If you want to use PowerShell, you need to specify `-Command` as well.
228
228
> There are some custom shells provided by GitHub that have slightly different behavior, see [`jobs.<job_id>.steps[*].shell`](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell) in the documentation.
229
229
> See the [official documentation](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#custom-shell) and [ADR 0277](https://github.com/actions/runner/blob/main/docs/adrs/0277-run-action-shell-options.md) for more information about how the `shell:` input works in GitHub Actions.
230
230
231
+
### Environment activation
232
+
233
+
Instead of using a custom shell wrapper, you can also make all pixi-installed binaries available to subsequent steps by "activating" the installed environment in the currently running job.
234
+
To this end, `setup-pixi` adds all environment variables set when executing `pixi run` to `$GITHUB_ENV` and, similarly, adds all path modifications to `$GITHUB_PATH`.
235
+
As a result, all installed binaries can be accessed without having to call `pixi run`.
236
+
237
+
```yml
238
+
- uses: prefix-dev/setup-pixi@v0.7.0
239
+
with:
240
+
activate-environment: true
241
+
```
242
+
243
+
If you are installing multiple environments, you will need to specify the name of the environment that you want to be activated.
244
+
245
+
```yml
246
+
- uses: prefix-dev/setup-pixi@v0.7.0
247
+
with:
248
+
environments: >-
249
+
py311
250
+
py312
251
+
activate-environment: py311
252
+
```
253
+
254
+
Activating an environment may be more useful than using a custom shell wrapper as it allows non-shell based steps to access binaries on the path.
255
+
However, be aware that this option augments the environment of your job.
256
+
231
257
### `--frozen` and `--locked`
232
258
233
259
You can specify whether `setup-pixi` should run `pixi install --frozen` or `pixi install --locked` depending on the `frozen` or the `locked` input argument.
234
260
See the [official documentation](https://prefix.dev/docs/pixi/cli#install) for more information about the `--frozen` and `--locked` flags.
235
261
236
262
```yml
237
-
- uses: prefix-dev/setup-pixi@v0.6.0
263
+
- uses: prefix-dev/setup-pixi@v0.7.0
238
264
with:
239
265
locked: true
240
266
# or
@@ -253,7 +279,7 @@ The first one is the debug logging of the action itself.
253
279
This can be enabled by running the action with the `RUNNER_DEBUG` environment variable set to `true`.
254
280
255
281
```yml
256
-
- uses: prefix-dev/setup-pixi@v0.6.0
282
+
- uses: prefix-dev/setup-pixi@v0.7.0
257
283
env:
258
284
RUNNER_DEBUG: true
259
285
```
@@ -271,7 +297,7 @@ The second type is the debug logging of the pixi executable.
271
297
This can be specified by setting the `log-level` input.
272
298
273
299
```yml
274
-
- uses: prefix-dev/setup-pixi@v0.6.0
300
+
- uses: prefix-dev/setup-pixi@v0.7.0
275
301
with:
276
302
# one of `q`, `default`, `v`, `vv`, or `vvv`.
277
303
log-level: vvv
@@ -297,7 +323,7 @@ If nothing is specified, `post-cleanup` will default to `true`.
297
323
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.
298
324
299
325
```yml
300
-
- uses: prefix-dev/setup-pixi@v0.6.0
326
+
- uses: prefix-dev/setup-pixi@v0.7.0
301
327
with:
302
328
post-cleanup: true
303
329
# ${{ runner.temp }}\Scripts\pixi.exe on Windows
@@ -313,7 +339,7 @@ You can also use a preinstalled local version of pixi on the runner by not setti
313
339
This can be overwritten by setting the `manifest-path` input argument.
0 commit comments