This action downloads the devbox CLI and installs the Nix packages defined in your devbox.json
.
name: Testing with devbox
on: push
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install devbox
uses: jetify-com/[email protected]
- name: Run arbitrary commands
run: devbox run -- echo "done!"
- name: Run a script called test
run: devbox run test
Input argument | description | default |
---|---|---|
project-path | Path to the folder that contains a valid devbox.json |
repo's root directory |
enable-cache | Cache the entire Nix store in github based on your devbox.json |
false |
refresh-cli | Specify whether the CLI should be redownloaded | false |
devbox-version | Specify devbox CLI version you want to pin to. Only supports >0.2.2 | latest |
sha256-checksum | Specify an explicit checksum for the devbox binary | |
disable-nix-access-token | Disable configuration of nix access-tokens with the GitHub token used in the workflow | false |
skip-nix-installation | Skip the installation of nix | false |
extra-nix-config | Gets appended to nix.conf if passed |
Here's an example job with most inputs:
- name: Install devbox
uses: jetify-com/[email protected]
with:
project-path: 'path-to-folder'
enable-cache: 'true'
refresh-cli: 'false'
devbox-version: 0.13.4
disable-nix-access-token: 'false'
sha256-checksum: <checksum>
On a privately hosted GitHub Enterprise Server, the github.token
available in the context is not valid for accessing api.github.com
,
which can lead to failures due to the rate-limit for unauthenticated requests. To work around this, you can provide a personal access token
for api.github.com
in the extra-nix-config
input.
Additionally, it might be necessary to provide a token for your GitHub Enterprise Server, if you are using Nix packages from there.
- name: Install devbox
uses: jetify-com/[email protected]
with:
extra-nix-config: access-tokens = my-github-enterprise-server.example.com=${{ github.token }} github.com=${{ secrets.MY_GITHUB_COM_TOKEN }}