add github_access_token option

I'm starting to see rate limit issues with GitHub Actions more
frequently so I propose to make this option more readily available.
This commit is contained in:
zimbatm 2022-12-27 19:51:55 +01:00
parent a590bb1bf6
commit c04fcbc179
No known key found for this signature in database
GPG key ID: 71BAF6D40C1D63D7
3 changed files with 19 additions and 9 deletions

View file

@ -55,8 +55,7 @@ jobs:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v18
with:
extra_nix_config: |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
github_access_token: ${{ secrets.GITHUB_TOKEN }}
- run: nix build
- run: nix flake check
```
@ -65,11 +64,15 @@ To install Nix from any commit, go to [the corresponding installer_test action](
## Inputs (specify using `with:`)
- `extra_nix_config`: append to `/etc/nix/nix.conf`
- `github_access_token`: configure nix to pull from github using the given github token. This helps work around rate limit issues.
- `install_url`: specify URL to install Nix from (useful for testing non-stable releases or pinning Nix for example https://releases.nixos.org/nix/nix-2.3.7/install)
- `nix_path`: set `NIX_PATH` environment variable, for example `nixpkgs=channel:nixos-unstable`
- `install_options`: Additional installer flags passed to the installer script.
- `extra_nix_config`: append to `/etc/nix/nix.conf`
- `nix_path`: set `NIX_PATH` environment variable, for example `nixpkgs=channel:nixos-unstable`
---

View file

@ -2,14 +2,16 @@ name: 'Install Nix'
description: 'Installs Nix on GitHub Actions for the supported platforms: Linux and macOS.'
author: 'Domen Kožar'
inputs:
extra_nix_config:
description: 'Gets appended to `/etc/nix/nix.conf` if passed.'
github_access_token:
description: 'Configure nix to pull from github using the given github token.'
install_url:
description: 'Installation URL that will contain a script to install Nix.'
install_options:
description: 'Additional installer flags passed to the installer script.'
nix_path:
description: 'Set NIX_PATH environment variable.'
extra_nix_config:
description: 'gets appended to `/etc/nix/nix.conf` if passed.'
branding:
color: 'blue'
icon: 'sun'
@ -19,7 +21,8 @@ runs:
- run : ${{ github.action_path }}/install-nix.sh
shell: bash
env:
INPUT_INSTALL_URL: ${{ inputs.install_url }}
INPUT_INSTALL_OPTIONS: ${{ inputs.install_options }}
INPUT_NIX_PATH: ${{ inputs.nix_path }}
INPUT_EXTRA_NIX_CONFIG: ${{ inputs.extra_nix_config }}
INPUT_GITHUB_ACCESS_TOKEN: ${{ inputs.github_access_token }}
INPUT_INSTALL_OPTIONS: ${{ inputs.install_options }}
INPUT_INSTALL_URL: ${{ inputs.install_url }}
INPUT_NIX_PATH: ${{ inputs.nix_path }}

View file

@ -21,6 +21,10 @@ add_config() {
add_config "max-jobs = auto"
# Allow binary caches for user
add_config "trusted-users = root $USER"
# Add github access token
if [[ $INPUT_GITHUB_ACCESS_TOKEN != "" ]]; then
add_config "access-tokens" "github.com=$INPUT_GITHUB_ACCESS_TOKEN"
fi
# Append extra nix configuration if provided
if [[ $INPUT_EXTRA_NIX_CONFIG != "" ]]; then
add_config "$INPUT_EXTRA_NIX_CONFIG"