mirror of
https://github.com/DeterminateSystems/nix-installer-action.git
synced 2024-12-23 05:22:21 +01:00
Support GitHub Enterprise Server in the github-token access token. (#58)
This commit is contained in:
parent
07b8bcba1b
commit
84fe9e450f
5 changed files with 52 additions and 40 deletions
|
@ -11,8 +11,11 @@ The fast, friendly, and reliable GitHub Action to install Nix with Flakes.
|
|||
* ✅ WSL2, x86_64 and aarch64
|
||||
* ✅ Containers
|
||||
* ✅ Valve's SteamOS
|
||||
* ✅ GitHub Enterprise Server
|
||||
* ✅ GitHub Hosted, self-hosted, and long running Actions Runners
|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```yaml
|
||||
|
@ -83,12 +86,13 @@ Differing from the upstream [Nix](https://github.com/NixOS/nix) installer script
|
|||
## Configuration
|
||||
|
||||
| Parameter | Description | Type | Default |
|
||||
| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------- | :--------------------------------------------------- |
|
||||
| :----------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------- | :--------------------------------------------------- |
|
||||
| `backtrace` | The setting for [`RUST_BACKTRACE`][backtrace] | string | |
|
||||
| `extra-args` | Extra arguments to pass to the planner (prefer using structured `with:` arguments unless using a custom [planner]!) | string | |
|
||||
| `extra-conf` | Extra configuration lines for `/etc/nix/nix.conf` (includes `access-tokens` with `secrets.GITHUB_TOKEN` automatically if `github-token` is set) | string | |
|
||||
| `flakehub` | Log in to FlakeHub to pull private flakes using the GitHub Actions [JSON Web Token](https://jwt.io) (JWT), which is bound to the `api.flakehub.com` audience. | Boolean | `false` |
|
||||
| `github-token` | A [GitHub token] for making authenticated requests (which have a higher rate-limit quota than unauthenticated requests) | string | `${{ github.token }}` |
|
||||
| `github-server-url` | The URL for the GitHub server, to use with the `github-token` token. Defaults to the current GitHub server, supporting GitHub Enterprise Server automatically. Only change this value if the provided `github-token` is for a different GitHub server than the current server. | string | `${{ github.server }}` |
|
||||
| `init` | The init system to configure (requires `planner: linux-multi`) | enum (`none` or `systemd`) | |
|
||||
| `kvm` | Automatically configure the GitHub Actions Runner for NixOS test support, if the host supports it. | Boolean | `true` |
|
||||
| `local-root` | A local `nix-installer` binary root. Overrides the `nix-installer-url` setting (a `nix-installer.sh` should exist, binaries should be named `nix-installer-$ARCH`, eg. `nix-installer-x86_64-linux`). | Boolean | `false` |
|
||||
|
|
|
@ -20,6 +20,9 @@ inputs:
|
|||
github-token:
|
||||
description: A GitHub token for making authenticated requests (which have a higher rate-limit quota than unauthenticated requests)
|
||||
default: ${{ github.token }}
|
||||
github-server-url:
|
||||
description: The URL for the GitHub server, to use with the `github-token` token. Defaults to the current GitHub server, supporting GitHub Enterprise Server automatically. Only change this value if the provided `github-token` is for a different GitHub server than the current server.
|
||||
default: ${{ github.server_url }}
|
||||
init:
|
||||
description: "The init system to configure, requires `planner: linux-multi` (allowing the choice between `none` or `systemd`)"
|
||||
required: false
|
||||
|
|
6
dist/index.js
vendored
6
dist/index.js
vendored
|
@ -43,6 +43,7 @@ class NixInstallerAction {
|
|||
this.flakehub = action_input_bool("flakehub");
|
||||
this.kvm = action_input_bool("kvm");
|
||||
this.github_token = action_input_string_or_null("github-token");
|
||||
this.github_server_url = action_input_string_or_null("github-server-url");
|
||||
this.init = action_input_string_or_null("init");
|
||||
this.local_root = action_input_string_or_null("local-root");
|
||||
this.log_directives = action_input_string_or_null("log-directives");
|
||||
|
@ -159,8 +160,9 @@ class NixInstallerAction {
|
|||
}
|
||||
}
|
||||
let extra_conf = "";
|
||||
if (this.github_token !== null) {
|
||||
extra_conf += `access-tokens = github.com=${this.github_token}`;
|
||||
if (this.github_server_url !== null && this.github_token !== null) {
|
||||
const server_url = this.github_server_url.replace("https://", "");
|
||||
extra_conf += `access-tokens = ${server_url}=${this.github_token}`;
|
||||
extra_conf += "\n";
|
||||
}
|
||||
if (this.trust_runner_user !== null) {
|
||||
|
|
2
dist/index.js.map
vendored
2
dist/index.js.map
vendored
File diff suppressed because one or more lines are too long
|
@ -16,6 +16,7 @@ class NixInstallerAction {
|
|||
extra_conf: string[] | null;
|
||||
flakehub: boolean;
|
||||
kvm: boolean;
|
||||
github_server_url: string | null;
|
||||
github_token: string | null;
|
||||
// TODO: linux_init
|
||||
init: string | null;
|
||||
|
@ -56,6 +57,7 @@ class NixInstallerAction {
|
|||
this.flakehub = action_input_bool("flakehub");
|
||||
this.kvm = action_input_bool("kvm");
|
||||
this.github_token = action_input_string_or_null("github-token");
|
||||
this.github_server_url = action_input_string_or_null("github-server-url");
|
||||
this.init = action_input_string_or_null("init");
|
||||
this.local_root = action_input_string_or_null("local-root");
|
||||
this.log_directives = action_input_string_or_null("log-directives");
|
||||
|
@ -210,8 +212,9 @@ class NixInstallerAction {
|
|||
}
|
||||
|
||||
let extra_conf = "";
|
||||
if (this.github_token !== null) {
|
||||
extra_conf += `access-tokens = github.com=${this.github_token}`;
|
||||
if (this.github_server_url !== null && this.github_token !== null) {
|
||||
const server_url = this.github_server_url.replace("https://", "");
|
||||
extra_conf += `access-tokens = ${server_url}=${this.github_token}`;
|
||||
extra_conf += "\n";
|
||||
}
|
||||
if (this.trust_runner_user !== null) {
|
||||
|
|
Loading…
Reference in a new issue