Compare commits

..

68 Commits
v14 ... fix-ci

Author SHA1 Message Date
8500bf7aa6 try to fix act test 2022-10-12 14:12:49 +01:00
e17a164a72 fix #140: python -> python3 2022-08-05 10:35:03 +02:00
92d36226ca Merge pull request #139 from sigprof/collapse-log-output
install-nix.sh: Collapse log messages
2022-07-13 15:20:48 -05:00
6c5ba55bfd install-nix.sh: Collapse log messages
The Nix installer produces a significant number of log messages, but
usually those messages are not really interesting.  Group those messages
under a header, so that GitHub will keep them collapsed by default.

(Usually log messages are collapsed under the step title anyway, but if
this action is uses inside another composite action, there is no
separate step title, therefore the whole Nix installer output is
immediately visible when the log section for the outer composite action
is expanded.  Adding the group header fixes this problem.)
2022-06-27 00:23:14 +03:00
451e611838 Merge pull request #134 from lovesegfault/composite-action
refactor: replace with a simpler composite action
2022-04-10 09:00:31 +01:00
112054fda7 refactor: replace with a simpler composite action 2022-04-08 13:53:49 -07:00
24e801e9d3 Merge pull request #123 from cachix/dependabot/github_actions/actions/setup-go-3
chore(deps): bump actions/setup-go from 2.2.0 to 3
2022-04-07 10:49:09 +01:00
d64e055310 Merge pull request #133 from Artturin/nixciupdate
workflows/test.yml use macos-latest again and use nix release with
2022-04-07 10:42:42 +01:00
0d8fd4ba32 workflows/test.yml use macos-latest again and use nix release with
needed commit
2022-03-30 18:26:15 +03:00
d8ecd385ef workflows/test.yml: remove trailing whitespaces 2022-03-30 18:17:54 +03:00
4e13e47759 chore(deps): bump actions/setup-go from 2.2.0 to 3
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.2.0 to 3.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2.2.0...v3)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-30 09:09:18 +00:00
8e09c9a051 Merge pull request #129 from cachix/dependabot/npm_and_yarn/minimist-1.2.6
chore(deps): bump minimist from 1.2.5 to 1.2.6
2022-03-30 10:08:48 +01:00
9cc5350a25 Merge pull request #124 from cachix/dependabot/github_actions/actions/checkout-3
chore(deps): bump actions/checkout from 2.4.0 to 3
2022-03-30 10:08:38 +01:00
9d24e62654 Merge pull request #130 from ncfavier/user-profile
install-nix.sh: ensure user profile comes before default profile in PATH
2022-03-30 10:08:23 +01:00
1f78d3968e Merge pull request #132 from lovesegfault/fix-nix-conf-copy
fix: use sudo to place /etc/nix/nix.conf
2022-03-30 09:41:33 +01:00
0c1cffea0a chore(deps): bump actions/checkout from 2.4.0 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.4.0...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-30 08:41:13 +00:00
106f85df37 Merge pull request #131 from lovesegfault/curl-quiet
refactor(lib/install-nix): quiet down curl spam
2022-03-30 09:40:45 +01:00
83e7d631c6 Merge pull request #128 from cachix/fix-ci
fix ci
2022-03-30 09:40:06 +01:00
d59a4dfc97 fix: use sudo to place /etc/nix/nix.conf 2022-03-29 14:00:26 -07:00
1544c90451 refactor(lib/install-nix): quiet down curl spam 2022-03-25 15:35:01 -07:00
3acf7e1fab install-nix.sh: ensure user profile comes before default profile in PATH 2022-03-25 10:25:18 +01:00
49ea480319 chore(deps): bump minimist from 1.2.5 to 1.2.6
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-24 18:37:47 +00:00
7b098d68ff fix ci 2022-03-23 09:19:05 +00:00
c5300121f7 Merge pull request #125 from lovesegfault/master
fix(lib/install-nix): use elevated privileges to create /etc/nix
2022-03-23 08:58:00 +01:00
8ae0a9f653 fix(lib/install-nix): use elevated privileges to create /etc/nix 2022-03-10 14:28:37 -08:00
b2b9fc6cf9 Merge pull request #121 from cachix/dependabot/npm_and_yarn/ajv-6.12.6
chore(deps): bump ajv from 6.10.2 to 6.12.6
2022-02-20 03:57:21 +01:00
c7a4d5e94c Merge pull request #120 from cachix/dependabot/github_actions/actions/setup-go-2.2.0
chore(deps): bump actions/setup-go from 2.1.5 to 2.2.0
2022-02-20 03:57:08 +01:00
bc85249ca4 chore(deps): bump ajv from 6.10.2 to 6.12.6
Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.10.2 to 6.12.6.
- [Release notes](https://github.com/ajv-validator/ajv/releases)
- [Commits](https://github.com/ajv-validator/ajv/compare/v6.10.2...v6.12.6)

---
updated-dependencies:
- dependency-name: ajv
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-12 14:57:34 +00:00
48eb04aeca chore(deps): bump actions/setup-go from 2.1.5 to 2.2.0
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.1.5 to 2.2.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2.1.5...v2.2.0)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-10 00:06:05 +00:00
1199b02395 Merge pull request #118 from cachix/dependabot/github_actions/actions/setup-go-2.1.5
chore(deps): bump actions/setup-go from 2.1.4 to 2.1.5
2022-01-15 12:13:04 +01:00
809d0b6b80 chore(deps): bump actions/setup-go from 2.1.4 to 2.1.5
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.1.4 to 2.1.5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2.1.4...v2.1.5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-22 00:01:46 +00:00
ea25556f17 Merge pull request #116 from catthehacker/patch-1
ci: switch act to use latest instead of master
2021-11-30 13:17:45 +01:00
dc2fdcf14d ci: switch act to use latest instead of master
v0.2.25 was released that includes required fix
https://github.com/nektos/act/releases/tag/v0.2.25
2021-11-24 17:11:57 +01:00
d56f3ce9be README: fix syntax 2021-11-20 14:30:48 -06:00
3db69e0239 Merge pull request #111 from cachix/act
Test for act
2021-11-20 02:58:55 +03:00
76f9967600 try fixing act 2021-11-19 04:31:14 -06:00
7a6ac48c9d Update .github/workflows/test.yml
Co-authored-by: Ryan <me@hackerc.at>
2021-11-17 20:29:05 -06:00
31bbb1e1e8 Update .github/workflows/test.yml
Co-authored-by: Ryan <me@hackerc.at>
2021-11-17 20:29:05 -06:00
9489b6bd0b Update .github/workflows/test.yml
Co-authored-by: Ryan <me@hackerc.at>
2021-11-17 20:29:05 -06:00
ac899278cf Update .github/workflows/test.yml
Co-authored-by: Ryan <me@hackerc.at>
2021-11-17 20:29:05 -06:00
c5e83e525e Update .github/workflows/test.yml
Co-authored-by: Ryan <me@hackerc.at>
2021-11-17 20:29:05 -06:00
5315c85e43 Test for act 2021-11-17 20:29:05 -06:00
d045d9f5d8 Merge pull request #115 from zimbatm/bash-cleanup
Bash cleanup
2021-11-17 20:21:23 -06:00
46187b354d README: flakes don't need the special installer anymore
Fix #114
2021-11-17 20:15:44 -06:00
802bde54e0 install-nix.sh: retry curl 5 times
If fetching the install script fails, don't keep the CI running forever.
2021-11-17 23:11:40 +01:00
21a5164e12 install-nix.sh: fix shellcheck issues 2021-11-17 23:09:47 +01:00
732b0240d2 install-nix.sh: remove unnecessary chmod
The script is invoked with sh and therefor doesn't need and executable
script.
2021-11-17 23:09:47 +01:00
06a240d7b6 install-nix.sh: use a temporary workdir
Don't leave temporary files around
2021-11-17 23:09:47 +01:00
1b5d414ec3 Merge pull request #112 from DavHau/patch-1
fix actions/checkout version in readme.md
2021-11-17 00:39:36 -06:00
b72fecc86e fix actions/checkout version in readme.md
version 2.5.0 doesn't seem to exist
2021-11-17 12:39:48 +07:00
ef6c38c42b bump actions 2021-11-12 08:48:37 -06:00
5f45af07a1 cleanup 2021-11-12 08:41:39 -06:00
489b4a2f78 Merge pull request #105 from cachix/resilient-install
Resilient installation
2021-11-11 16:25:04 -06:00
b93cdea694 Merge pull request #109 from cachix/fix-97
fix #97: install nix config correctly for single-user- mode
2021-11-11 16:19:39 -06:00
783053eda6 Resilient installation 2021-11-11 16:19:02 -06:00
c664ef3126 fix #97: install nix config correctly for single-user- mode 2021-11-08 10:36:25 -06:00
74ef8ad2cf Merge pull request #108 from cachix/enable-experimental-features-by-default
enable flakes & nix-command features by default
2021-11-05 15:47:08 -06:00
53fb0300a7 enable flakes & nix-command features by default 2021-11-05 15:32:10 -06:00
e776d8288c Merge pull request #107 from cachix/dependabot/github_actions/actions/checkout-2.4.0
chore(deps): bump actions/checkout from 2.3.5 to 2.4.0
2021-11-05 15:29:06 -06:00
98f3210e45 v14.1 2021-11-03 06:03:26 -06:00
8026a8b63f chore(deps): bump actions/checkout from 2.3.5 to 2.4.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.5 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.5...v2.4.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-03 00:02:18 +00:00
825ca3e533 Merge pull request #101 from cachix/dependabot/github_actions/actions/checkout-2.3.5
chore(deps): bump actions/checkout from 2.3.4 to 2.3.5
2021-10-18 17:15:46 -05:00
fe464fe88d chore(deps): bump actions/checkout from 2.3.4 to 2.3.5
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.3.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.4...v2.3.5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-18 00:04:56 +00:00
896dc80fef fix #99: specify oldest supported Nix version 2021-10-15 17:22:21 -05:00
3e0e991ad2 github actions disable Spotlight by default now
https://github.com/actions/virtual-environments/pull/1683
2021-10-07 16:34:05 -05:00
d04e8d60ba Merge pull request #95 from cachix/dependabot/npm_and_yarn/tmpl-1.0.5
Bump tmpl from 1.0.4 to 1.0.5
2021-09-24 18:45:24 +02:00
791347c66b v14 and updated Nix to fix macOS 11 2021-09-24 15:48:55 +02:00
3e073d0e89 Bump tmpl from 1.0.4 to 1.0.5
Bumps [tmpl](https://github.com/daaku/nodejs-tmpl) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/daaku/nodejs-tmpl/releases)
- [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5)

---
updated-dependencies:
- dependency-name: tmpl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-21 13:34:04 +00:00
13 changed files with 84 additions and 3838 deletions

View File

@ -12,9 +12,7 @@ jobs:
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v2.3.4 - uses: actions/checkout@v3
- run: yarn install --frozen-lockfile
- run: yarn build
- name: Install Nix - name: Install Nix
uses: ./ uses: ./
with: with:
@ -24,16 +22,13 @@ jobs:
# cachix should be available and be able to configure a cache # cachix should be available and be able to configure a cache
- run: cachix use cachix - run: cachix use cachix
- run: nix-build test.nix - run: nix-build test.nix
custom-nix-path: custom-nix-path:
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v2.3.4 - uses: actions/checkout@v3
- run: yarn install --frozen-lockfile
- run: yarn build
- name: Install Nix - name: Install Nix
uses: ./ uses: ./
with: with:
@ -47,12 +42,10 @@ jobs:
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v2.3.4 - uses: actions/checkout@v3
- run: yarn install --frozen-lockfile
- run: yarn build
- name: Install Nix - name: Install Nix
uses: ./ uses: ./
with: with:
nix_path: nixpkgs=channel:nixos-20.03 nix_path: nixpkgs=channel:nixos-20.03
extra_nix_config: | extra_nix_config: |
sandbox = relaxed sandbox = relaxed
@ -65,16 +58,13 @@ jobs:
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v2.3.4 - uses: actions/checkout@v3
- run: yarn install --frozen-lockfile
- run: yarn build
- name: Install Nix - name: Install Nix
uses: ./ uses: ./
with: with:
install_url: https://nixos-nix-install-tests.cachix.org/serve/i6laym9jw3wg9mw6ncyrk6gjx4l34vvx/install install_url: https://nixos-nix-install-tests.cachix.org/serve/i6laym9jw3wg9mw6ncyrk6gjx4l34vvx/install
install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve'
extra_nix_config: | extra_nix_config: |
experimental-features = nix-command flakes
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- run: nix flake show github:NixOS/nixpkgs - run: nix flake show github:NixOS/nixpkgs
@ -84,13 +74,36 @@ jobs:
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- run: yarn install --frozen-lockfile
- run: yarn build
- name: Install Nix - name: Install Nix
uses: ./ uses: ./
with: with:
nix_path: nixpkgs=channel:nixos-21.05 nix_path: nixpkgs=channel:nixos-21.05
install_url: https://nixos-nix-install-tests.cachix.org/serve/i6laym9jw3wg9mw6ncyrk6gjx4l34vvx/install install_url: https://nixos-nix-install-tests.cachix.org/serve/i6laym9jw3wg9mw6ncyrk6gjx4l34vvx/install
install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve'
- run: nix-build test.nix - run: nix-build test.nix
oldest-supported-installer:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Install Nix
uses: ./
with:
nix_path: nixpkgs=channel:nixos-21.05
install_url: https://releases.nixos.org/nix/nix-2.3.8/install
- run: nix-build test.nix
act-support:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- run: curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
- run: docker pull ghcr.io/catthehacker/ubuntu:js-20.04
- run: ./bin/act -P ubuntu-latest=ghcr.io/catthehacker/ubuntu:js-20.04 push -j simple-build

View File

@ -14,10 +14,11 @@ or [pin nixpkgs yourself](https://nix.dev/reference/pinning-nixpkgs.html)
- Quick installation (~4s on Linux, ~20s on macOS) - Quick installation (~4s on Linux, ~20s on macOS)
- Multi-User installation (with sandboxing enabled only on Linux) - Multi-User installation (with sandboxing enabled only on Linux)
- [Self-hosted github runner](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners) support - [Self-hosted github runner](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners) support
- Allows specifying Nix installation URL via `install_url` - Allows specifying Nix installation URL via `install_url` (the oldest supported Nix version is 2.3.5)
- Allows specifying extra Nix configration options via `extra_nix_config` - Allows specifying extra Nix configration options via `extra_nix_config`
- Allows specifying `$NIX_PATH` and channels via `nix_path` - Allows specifying `$NIX_PATH` and channels via `nix_path`
- Share `/nix/store` between builds using [cachix-action](https://github.com/cachix/cachix-action) for simple binary cache setup to speed up your builds and share binaries with your team - Share `/nix/store` between builds using [cachix-action](https://github.com/cachix/cachix-action) for simple binary cache setup to speed up your builds and share binaries with your team
- Enables `flakes` and `nix-command` experimental features by default (to disable, set ``experimental-features`` via ``extra_nix_config``)
## Usage ## Usage
@ -32,8 +33,8 @@ jobs:
tests: tests:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2.3.4 - uses: actions/checkout@v2.4.0
- uses: cachix/install-nix-action@v13 - uses: cachix/install-nix-action@v15
with: with:
nix_path: nixpkgs=channel:nixos-unstable nix_path: nixpkgs=channel:nixos-unstable
- run: nix-build - run: nix-build
@ -51,13 +52,10 @@ jobs:
tests: tests:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2.3.4 - uses: actions/checkout@v2.4.0
- uses: cachix/install-nix-action@v13 - uses: cachix/install-nix-action@v15
with: with:
install_url: https://nixos-nix-install-tests.cachix.org/serve/i6laym9jw3wg9mw6ncyrk6gjx4l34vvx/install
install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve'
extra_nix_config: | extra_nix_config: |
experimental-features = nix-command flakes
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- run: nix build - run: nix build
- run: nix flake check - run: nix flake check

View File

@ -1,4 +0,0 @@
test('nothing', async() => {
});
// TODO: hopefully github actions will support integration tests

View File

@ -14,5 +14,12 @@ branding:
color: 'blue' color: 'blue'
icon: 'sun' icon: 'sun'
runs: runs:
using: 'node12' using: 'composite'
main: 'lib/main.js' steps:
- 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 }}

View File

@ -6,9 +6,16 @@ if type -p nix &>/dev/null ; then
exit exit
fi fi
# GitHub command to put the following log messages into a group which is collapsed by default
echo "::group::Installing Nix"
# Create a temporary workdir
workdir=$(mktemp -d)
trap 'rm -rf "$workdir"' EXIT
# Configure Nix # Configure Nix
add_config() { add_config() {
echo "$1" | tee -a /tmp/nix.conf >/dev/null echo "$1" | tee -a "$workdir/nix.conf" >/dev/null
} }
# Set jobs to number of cores # Set jobs to number of cores
add_config "max-jobs = auto" add_config "max-jobs = auto"
@ -18,39 +25,54 @@ add_config "trusted-users = root $USER"
if [[ $INPUT_EXTRA_NIX_CONFIG != "" ]]; then if [[ $INPUT_EXTRA_NIX_CONFIG != "" ]]; then
add_config "$INPUT_EXTRA_NIX_CONFIG" add_config "$INPUT_EXTRA_NIX_CONFIG"
fi fi
if [[ ! $INPUT_EXTRA_NIX_CONFIG =~ "experimental-features" ]]; then
add_config "experimental-features = nix-command flakes"
fi
# Nix installer flags # Nix installer flags
installer_options=( installer_options=(
--no-channel-add --no-channel-add
--darwin-use-unencrypted-nix-store-volume --darwin-use-unencrypted-nix-store-volume
--nix-extra-conf-file /tmp/nix.conf --nix-extra-conf-file "$workdir/nix.conf"
) )
# only use the nix-daemon settings if on darwin (which get ignored) or systemd is supported # only use the nix-daemon settings if on darwin (which get ignored) or systemd is supported
if [[ $OSTYPE =~ darwin || -e /run/systemd/system ]]; then if [[ $OSTYPE =~ darwin || -e /run/systemd/system ]]; then
installer_options+=( installer_options+=(
--daemon --daemon
--daemon-user-count `python -c 'import multiprocessing as mp; print(mp.cpu_count() * 2)'` --daemon-user-count "$(python3 -c 'import multiprocessing as mp; print(mp.cpu_count() * 2)')"
) )
else else
# "fix" the following error when running nix* # "fix" the following error when running nix*
# error: the group 'nixbld' specified in 'build-users-group' does not exist # error: the group 'nixbld' specified in 'build-users-group' does not exist
mkdir -m 0755 /etc/nix add_config "build-users-group ="
echo "build-users-group =" > /etc/nix/nix.conf sudo mkdir -p /etc/nix
sudo chmod 0755 /etc/nix
sudo cp $workdir/nix.conf /etc/nix/nix.conf
fi fi
if [[ $INPUT_INSTALL_OPTIONS != "" ]]; then if [[ $INPUT_INSTALL_OPTIONS != "" ]]; then
IFS=' ' read -r -a extra_installer_options <<< $INPUT_INSTALL_OPTIONS IFS=' ' read -r -a extra_installer_options <<< "$INPUT_INSTALL_OPTIONS"
installer_options=("${extra_installer_options[@]}" "${installer_options[@]}") installer_options=("${extra_installer_options[@]}" "${installer_options[@]}")
fi fi
echo "installer options: ${installer_options[@]}" echo "installer options: ${installer_options[*]}"
sh <(curl --retry 5 --retry-connrefused -L "${INPUT_INSTALL_URL:-https://nixos.org/nix/install}") "${installer_options[@]}"
# There is --retry-on-errors, but only newer curl versions support that
curl_retries=5
while ! curl -sS -o "$workdir/install" -v --fail -L "${INPUT_INSTALL_URL:-https://nixos.org/nix/install}"
do
sleep 1
((curl_retries--))
if [[ $curl_retries -le 0 ]]; then
echo "curl retries failed" >&2
exit 1
fi
done
sh "$workdir/install" "${installer_options[@]}"
if [[ $OSTYPE =~ darwin ]]; then if [[ $OSTYPE =~ darwin ]]; then
# Disable spotlight indexing of /nix to speed up performance
sudo mdutil -i off /nix
# macOS needs certificates hints # macOS needs certificates hints
cert_file=/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt cert_file=/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt
echo "NIX_SSL_CERT_FILE=$cert_file" >> "$GITHUB_ENV" echo "NIX_SSL_CERT_FILE=$cert_file" >> "$GITHUB_ENV"
@ -59,9 +81,12 @@ if [[ $OSTYPE =~ darwin ]]; then
fi fi
# Set paths # Set paths
echo "/nix/var/nix/profiles/per-user/$USER/profile/bin" >> "$GITHUB_PATH"
echo "/nix/var/nix/profiles/default/bin" >> "$GITHUB_PATH" echo "/nix/var/nix/profiles/default/bin" >> "$GITHUB_PATH"
echo "/nix/var/nix/profiles/per-user/$USER/profile/bin" >> "$GITHUB_PATH"
if [[ $INPUT_NIX_PATH != "" ]]; then if [[ $INPUT_NIX_PATH != "" ]]; then
echo "NIX_PATH=${INPUT_NIX_PATH}" >> "$GITHUB_ENV" echo "NIX_PATH=${INPUT_NIX_PATH}" >> "$GITHUB_ENV"
fi fi
# Close the log message group which was opened above
echo "::endgroup::"

View File

@ -1,11 +0,0 @@
module.exports = {
clearMocks: true,
moduleFileExtensions: ['js', 'ts'],
testEnvironment: 'node',
testMatch: ['**/*.test.ts'],
testRunner: 'jest-circus/runner',
transform: {
'^.+\\.ts$': 'ts-jest'
},
verbose: true
}

View File

@ -1,5 +0,0 @@
# Generated Code
The files in this directory are generated.
See [src](../src)

View File

@ -1,4 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const child_process_1 = require("child_process");
child_process_1.execFileSync(`${__dirname}/install-nix.sh`, { stdio: 'inherit' });

View File

@ -1,36 +0,0 @@
{
"name": "install-nix-action",
"version": "1.0.0",
"private": true,
"description": "Installs Nix on GitHub Actions for the supported platforms: Linux and macOS.",
"main": "lib/main.js",
"scripts": {
"build": "tsc",
"test": "jest"
},
"repository": {
"type": "git",
"url": "git+https://github.com/cachix/install-nix-action.git"
},
"keywords": [
"actions",
"node",
"setup"
],
"author": "Domen Kožar",
"license": "ASL2",
"dependencies": {
"@actions/core": "^1.2.6",
"@actions/exec": "^1.0.1",
"@actions/tool-cache": "^1.1.2"
},
"devDependencies": {
"ts-node": "^8.4.1",
"@types/jest": "^24.0.13",
"@types/node": "^12.0.4",
"jest": "^24.8.0",
"jest-circus": "^24.7.1",
"ts-jest": "^24.0.2",
"typescript": "^3.5.1"
}
}

View File

@ -1,8 +0,0 @@
{ pkgs ? import <nixpkgs> {}
}:
pkgs.mkShell {
name = "install-nix-action-shell";
buildInputs = [ pkgs.yarn ];
}

View File

@ -1,3 +0,0 @@
import { execFileSync } from 'child_process';
execFileSync(`${__dirname}/install-nix.sh`, { stdio: 'inherit' });

View File

@ -1,63 +0,0 @@
{
"compilerOptions": {
/* Basic Options */
// "incremental": true, /* Enable incremental compilation */
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
// "allowJs": true, /* Allow javascript files to be compiled. */
// "checkJs": true, /* Report errors in .js files. */
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
// "declaration": true, /* Generates corresponding '.d.ts' file. */
// "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
// "sourceMap": true, /* Generates corresponding '.map' file. */
// "outFile": "./", /* Concatenate and emit output to single file. */
"outDir": "./lib", /* Redirect output structure to the directory. */
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
// "composite": true, /* Enable project compilation */
// "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */
// "removeComments": true, /* Do not emit comments to output. */
// "noEmit": true, /* Do not emit outputs. */
// "importHelpers": true, /* Import emit helpers from 'tslib'. */
// "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
// "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
/* Strict Type-Checking Options */
"strict": true, /* Enable all strict type-checking options. */
"noImplicitAny": false, /* Raise error on expressions and declarations with an implied 'any' type. */
// "strictNullChecks": true, /* Enable strict null checks. */
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
// "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
// "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
// "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
// "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
/* Additional Checks */
// "noUnusedLocals": true, /* Report errors on unused locals. */
// "noUnusedParameters": true, /* Report errors on unused parameters. */
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
/* Module Resolution Options */
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
// "typeRoots": [], /* List of folders to include type definitions from. */
// "types": [], /* Type declaration files to be included in compilation. */
// "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
/* Source Map Options */
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
/* Experimental Options */
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
},
"exclude": ["node_modules", "**/*.test.ts"]
}

3663
yarn.lock

File diff suppressed because it is too large Load Diff