Merge pull request #152 from zimbatm/github-access-token

add github_access_token option
This commit is contained in:
Domen Kožar 2022-12-30 13:05:17 +00:00 committed by GitHub
commit b15708fdde
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 9 deletions

View file

@ -55,8 +55,7 @@ jobs:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: cachix/install-nix-action@v18 - uses: cachix/install-nix-action@v18
with: with:
extra_nix_config: | github_access_token: ${{ secrets.GITHUB_TOKEN }}
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- run: nix build - run: nix build
- run: nix flake check - 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:`) ## 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) - `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.' description: 'Installs Nix on GitHub Actions for the supported platforms: Linux and macOS.'
author: 'Domen Kožar' author: 'Domen Kožar'
inputs: 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: install_url:
description: 'Installation URL that will contain a script to install Nix.' description: 'Installation URL that will contain a script to install Nix.'
install_options: install_options:
description: 'Additional installer flags passed to the installer script.' description: 'Additional installer flags passed to the installer script.'
nix_path: nix_path:
description: 'Set NIX_PATH environment variable.' description: 'Set NIX_PATH environment variable.'
extra_nix_config:
description: 'gets appended to `/etc/nix/nix.conf` if passed.'
branding: branding:
color: 'blue' color: 'blue'
icon: 'sun' icon: 'sun'
@ -19,7 +21,8 @@ runs:
- run : ${{ github.action_path }}/install-nix.sh - run : ${{ github.action_path }}/install-nix.sh
shell: bash shell: bash
env: 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_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" add_config "max-jobs = auto"
# Allow binary caches for user # Allow binary caches for user
add_config "trusted-users = root $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 # Append extra nix configuration if provided
if [[ $INPUT_EXTRA_NIX_CONFIG != "" ]]; then if [[ $INPUT_EXTRA_NIX_CONFIG != "" ]]; then
add_config "$INPUT_EXTRA_NIX_CONFIG" add_config "$INPUT_EXTRA_NIX_CONFIG"