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:
		
							
								
								
									
										11
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								README.md
									
									
									
									
									
								
							| @@ -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` | ||||||
|  |  | ||||||
| --- | --- | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										13
									
								
								action.yml
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								action.yml
									
									
									
									
									
								
							| @@ -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 }} | ||||||
|   | |||||||
| @@ -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" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user