Compare commits
	
		
			1 Commits
		
	
	
		
			self-hoste
			...
			check-spac
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 73ea859441 | 
							
								
								
									
										13
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,13 +0,0 @@ | ||||
| version: 2 | ||||
| updates: | ||||
|  | ||||
| - package-ecosystem: github-actions | ||||
|   directory: "/" | ||||
|   schedule: | ||||
|     interval: daily | ||||
|     time: '00:00' | ||||
|     timezone: UTC | ||||
|   open-pull-requests-limit: 10 | ||||
|   commit-message: | ||||
|       prefix: "chore" | ||||
|       include: "scope" | ||||
							
								
								
									
										94
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										94
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							| @@ -2,95 +2,9 @@ name: "install-nix-action test" | ||||
| on: | ||||
|   pull_request: | ||||
|   push: | ||||
|     branches: | ||||
|       - master | ||||
|  | ||||
| jobs: | ||||
|   simple-build: | ||||
|     strategy: | ||||
|       matrix: | ||||
|         os: [ubuntu-latest, macos-latest] | ||||
|     runs-on: ${{ matrix.os }} | ||||
|   tests: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|     - uses: actions/checkout@v2.3.4 | ||||
|     - run: yarn install --frozen-lockfile | ||||
|     - run: yarn build | ||||
|     - name: Install Nix | ||||
|       uses: ./ | ||||
|       with: | ||||
|         nix_path: nixpkgs=channel:nixos-20.03 | ||||
|     - run: nix-env -iA cachix -f https://cachix.org/api/v1/install | ||||
|     - run: cat /etc/nix/nix.conf | ||||
|     # cachix should be available and be able to configure a cache | ||||
|     - run: cachix use cachix | ||||
|     - run: nix-build test.nix | ||||
|  | ||||
|   custom-nix-path: | ||||
|     strategy: | ||||
|       matrix: | ||||
|         os: [ubuntu-latest, macos-latest] | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     steps: | ||||
|     - uses: actions/checkout@v2.3.4 | ||||
|     - run: yarn install --frozen-lockfile | ||||
|     - run: yarn build | ||||
|     - name: Install Nix | ||||
|       uses: ./ | ||||
|       with: | ||||
|         nix_path: nixpkgs=channel:nixos-20.03 | ||||
|     - run: test $NIX_PATH == "nixpkgs=channel:nixos-20.03" | ||||
|     - run: nix-build test.nix | ||||
|  | ||||
|   extra-nix-config: | ||||
|     strategy: | ||||
|       matrix: | ||||
|         os: [ubuntu-latest, macos-latest] | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     steps: | ||||
|     - uses: actions/checkout@v2.3.4 | ||||
|     - run: yarn install --frozen-lockfile | ||||
|     - run: yarn build | ||||
|     - name: Install Nix | ||||
|       uses: ./ | ||||
|       with:  | ||||
|         nix_path: nixpkgs=channel:nixos-20.03 | ||||
|         extra_nix_config: | | ||||
|           sandbox = relaxed | ||||
|     - run: cat /etc/nix/nix.conf | ||||
|     - run: nix-build test.nix --arg noChroot true | ||||
|  | ||||
|   flakes: | ||||
|     strategy: | ||||
|       matrix: | ||||
|         os: [ubuntu-latest, macos-latest] | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     steps: | ||||
|     - uses: actions/checkout@v2.3.4 | ||||
|     - run: yarn install --frozen-lockfile | ||||
|     - run: yarn build | ||||
|     - name: Install Nix | ||||
|       uses: ./ | ||||
|       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: | | ||||
|           experimental-features = nix-command flakes | ||||
|           access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | ||||
|     - run: nix flake show github:NixOS/nixpkgs | ||||
|  | ||||
|   installer-options: | ||||
|     strategy: | ||||
|       matrix: | ||||
|         os: [ubuntu-latest, macos-latest] | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     steps: | ||||
|     - uses: actions/checkout@v2 | ||||
|     - run: yarn install --frozen-lockfile | ||||
|     - run: yarn build | ||||
|     - name: Install Nix | ||||
|       uses: ./ | ||||
|       with:  | ||||
|         nix_path: nixpkgs=channel:nixos-21.05 | ||||
|         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' | ||||
|     - run: nix-build test.nix | ||||
|       - run: sudo du -sh /var/* | ||||
|       - run: sudo du -sh /usr/* | ||||
|   | ||||
							
								
								
									
										109
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										109
									
								
								README.md
									
									
									
									
									
								
							| @@ -4,21 +4,6 @@ | ||||
|  | ||||
| Installs [Nix](https://nixos.org/nix/) on GitHub Actions for the supported platforms: Linux and macOS. | ||||
|  | ||||
| By default it has no nixpkgs configured, you have to set `nix_path` | ||||
| by [picking a channel](https://status.nixos.org/) | ||||
| or [pin nixpkgs yourself](https://nix.dev/reference/pinning-nixpkgs.html)  | ||||
| (see also [pinning tutorial](https://nix.dev/tutorials/towards-reproducibility-pinning-nixpkgs.html)). | ||||
|  | ||||
| # Features | ||||
|  | ||||
| - Quick installation (~4s on Linux, ~20s on macOS) | ||||
| - 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 | ||||
| - Allows specifying Nix installation URL via `install_url` | ||||
| - Allows specifying extra Nix configration options via `extra_nix_config` | ||||
| - 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 | ||||
|  | ||||
| ## Usage | ||||
|  | ||||
| Create `.github/workflows/test.yml` in your repo with the following contents: | ||||
| @@ -32,102 +17,20 @@ jobs: | ||||
|   tests: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|     - uses: actions/checkout@v2.3.4 | ||||
|     - uses: cachix/install-nix-action@v13 | ||||
|       with: | ||||
|         nix_path: nixpkgs=channel:nixos-unstable | ||||
|     - uses: actions/checkout@v2 | ||||
|     - uses: cachix/install-nix-action@v7 | ||||
|     - run: nix-build | ||||
| ``` | ||||
|  | ||||
|  | ||||
| ## Usage with Flakes | ||||
| See [action.yml](action.yml) for all options. | ||||
|  | ||||
| ```yaml | ||||
| name: "Test" | ||||
| on: | ||||
|   pull_request: | ||||
|   push: | ||||
| jobs: | ||||
|   tests: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|     - uses: actions/checkout@v2.3.4 | ||||
|     - uses: cachix/install-nix-action@v14 | ||||
|       with: | ||||
|         install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install | ||||
|         install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve' | ||||
|         extra_nix_config: | | ||||
|           experimental-features = nix-command flakes | ||||
|           access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | ||||
|     - run: nix build | ||||
|     - run: nix flake check | ||||
| ``` | ||||
|  | ||||
| To install Nix from any commit, go to [the corresponding installer_test action](https://github.com/NixOS/nix/runs/2219534360) and click on "Run cachix/install-nix-action@XX" step and expand the first line. | ||||
|  | ||||
| ## Inputs (specify using `with:`) | ||||
|  | ||||
| - `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` | ||||
|  | ||||
| - `extra_nix_config`: append to `/etc/nix/nix.conf` | ||||
| See also [cachix-action](https://github.com/cachix/cachix-action) for | ||||
| simple binary cache setup to speed up your builds and share binaries | ||||
| with developers. | ||||
|  | ||||
| --- | ||||
|  | ||||
| ## FAQ | ||||
|  | ||||
| ### How do I print nixpkgs version I have configured? | ||||
|  | ||||
|  | ||||
| ```yaml | ||||
| - name: Print nixpkgs version | ||||
|   run: nix-instantiate --eval -E '(import <nixpkgs> {}).lib.version' | ||||
| ``` | ||||
|  | ||||
| ### How can I run NixOS tests? | ||||
|  | ||||
| With the following inputs: | ||||
|  | ||||
| ```yaml | ||||
| - uses: cachix/install-nix-action@vXX | ||||
|   with: | ||||
|     extra_nix_config: "system-features = nixos-test benchmark big-parallel kvm" | ||||
| ``` | ||||
|  | ||||
| [Note that there's no hardware acceleration on GitHub Actions.](https://github.com/actions/virtual-environments/issues/183#issuecomment-610723516). | ||||
|  | ||||
| ### How can I install packages via nix-env from the specified `nix_path`? | ||||
|  | ||||
| ``` | ||||
| nix-env -i mypackage -f '<nixpkgs>' | ||||
| ``` | ||||
|  | ||||
| ### How do I add a binary cache? | ||||
|  | ||||
| If the binary cache you want to add is hosted on [Cachix](https://cachix.org/) and you are | ||||
| using [cachix-action](https://github.com/cachix/cachix-action), you | ||||
| should use their `extraPullNames` input like this: | ||||
|  | ||||
| ```yaml | ||||
| - uses: cachix/cachix-action@vXX | ||||
|    with: | ||||
|      name: mycache | ||||
|      authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' | ||||
|      extraPullNames: nix-community | ||||
| ``` | ||||
|  | ||||
| Otherwise, you can add any binary cache to nix.conf using | ||||
| install-nix-action's own `extra_nix_config` input: | ||||
|  | ||||
| ```yaml | ||||
| - uses: cachix/install-nix-action@vXX | ||||
|   with: | ||||
|     extra_nix_config: | | ||||
|       trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= | ||||
|       substituters = https://hydra.iohk.io https://cache.nixos.org/ | ||||
| ``` | ||||
|  | ||||
| ## Hacking | ||||
|  | ||||
| Install the dependencies | ||||
|   | ||||
| @@ -1,15 +1,6 @@ | ||||
| name: 'Install Nix' | ||||
| description: 'Installs Nix on GitHub Actions for the supported platforms: Linux and macOS.' | ||||
| author: 'Domen Kožar' | ||||
| inputs: | ||||
|   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' | ||||
|   | ||||
							
								
								
									
										102
									
								
								lib/create-darwin-volume.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										102
									
								
								lib/create-darwin-volume.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,102 @@ | ||||
| #!/usr/bin/env bash | ||||
| set -e | ||||
|  | ||||
| root_disks() { | ||||
|     diskutil list -plist / | ||||
| } | ||||
|  | ||||
| apfs_volumes_for() { | ||||
|     disk=$1 | ||||
|     diskutil apfs list -plist "$disk" | ||||
| } | ||||
|  | ||||
| disk_identifier() { | ||||
|     xpath "/plist/dict/key[text()='WholeDisks']/following-sibling::array[1]/string/text()" 2>/dev/null | ||||
| } | ||||
|  | ||||
| volume_get() { | ||||
|     key=$1 i=$2 | ||||
|     xpath "/plist/dict/array/dict/key[text()='Volumes']/following-sibling::array/dict[$i]/key[text()='$key']/following-sibling::string[1]/text()" 2> /dev/null | ||||
| } | ||||
|  | ||||
| find_nix_volume() { | ||||
|     disk=$1 | ||||
|     i=1 | ||||
|     volumes=$(apfs_volumes_for "$disk") | ||||
|     while true; do | ||||
|         name=$(echo "$volumes" | volume_get "Name" "$i") | ||||
|         if [ -z "$name" ]; then | ||||
|             break | ||||
|         fi | ||||
|         case "$name" in | ||||
|             [Nn]ix*) | ||||
|                 echo "$name" | ||||
|                 break | ||||
|                 ;; | ||||
|         esac | ||||
|         i=$((i+1)) | ||||
|     done | ||||
| } | ||||
|  | ||||
| test_fstab() { | ||||
|     grep -q "/nix" /etc/fstab 2>/dev/null | ||||
| } | ||||
|  | ||||
| test_synthetic_conf() { | ||||
|     grep -q "^nix" /etc/synthetic.conf 2>/dev/null | ||||
| } | ||||
|  | ||||
| test_nix() { | ||||
|     test -d "/nix" | ||||
| } | ||||
|  | ||||
| main() { | ||||
|     ( | ||||
|         echo "" | ||||
|         echo "     ------------------------------------------------------------------ " | ||||
|         echo "    | This installer will create a volume for the nix store and        |" | ||||
|         echo "    | configure it to mount at /nix.  Follow these steps to uninstall. |" | ||||
|         echo "     ------------------------------------------------------------------ " | ||||
|         echo "" | ||||
|         echo "  1. Remove the entry from fstab using 'sudo vifs'" | ||||
|         echo "  2. Destroy the data volume using 'diskutil apfs deleteVolume'" | ||||
|         echo "  3. Delete /etc/synthetic.conf" | ||||
|         echo "" | ||||
|     ) >&2 | ||||
|  | ||||
|     if [ -L "/nix" ]; then | ||||
|         echo "error: /nix is a symlink, please remove it or edit synthetic.conf (requires reboot)" >&2 | ||||
|         echo "  /nix -> $(readlink "/nix")" >&2 | ||||
|         exit 2 | ||||
|     fi | ||||
|  | ||||
|     if ! test_synthetic_conf; then | ||||
|         echo "Configuring /etc/synthetic.conf..." >&2 | ||||
|         echo nix | sudo tee /etc/synthetic.conf | ||||
|         /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs.util -B | ||||
|     fi | ||||
|  | ||||
|     if ! test_nix; then | ||||
|         echo "Creating mountpoint for /nix..." >&2 | ||||
|         sudo mkdir /nix | ||||
|     fi | ||||
|  | ||||
|     disk=$(root_disks | disk_identifier) | ||||
|     volume=$(find_nix_volume "$disk") | ||||
|     if [ -z "$volume" ]; then | ||||
|         echo "Creating a Nix Store volume..." >&2 | ||||
|         sudo diskutil apfs addVolume "$disk" APFS 'Nix Store' -mountpoint /nix | ||||
|         volume="Nix Store" | ||||
|     else | ||||
|         echo "Using existing '$volume' volume" >&2 | ||||
|     fi | ||||
|  | ||||
|     if ! test_fstab; then | ||||
|         echo "Configuring /etc/fstab..." >&2 | ||||
|         label=$(echo "$volume" | sed 's/ /\\040/g') | ||||
|         printf "\$a\nLABEL=%s /nix apfs rw\n.\nwq\n" "$label" | EDITOR=ed sudo vifs | ||||
|         sudo defaults write /Library/Preferences/SystemConfiguration/autodiskmount AutomountDisksWithoutUserLogin -bool true | ||||
|     fi | ||||
| } | ||||
|  | ||||
| main "$@" | ||||
| @@ -1,68 +1,48 @@ | ||||
| #!/usr/bin/env bash | ||||
| set -euo pipefail | ||||
|  | ||||
| # Set paths early (ephemeral self-hosted runners might reuse a runner) | ||||
| PATH="/nix/var/nix/profiles/per-user/$USER/profile/bin":"/nix/var/nix/profiles/default/bin":$PATH | ||||
| export here=$(dirname "${BASH_SOURCE[0]}") | ||||
|  | ||||
| if type -p nix &>/dev/null ; then | ||||
|   echo "Aborting: Nix is already installed at $(type -p nix)" | ||||
|   exit | ||||
| fi | ||||
|  | ||||
| # Configure Nix | ||||
| add_config() { | ||||
|   echo "$1" | tee -a /tmp/nix.conf >/dev/null | ||||
| nixConf() { | ||||
|   sudo mkdir -p /etc/nix | ||||
|   # Workaround a segfault: https://github.com/NixOS/nix/issues/2733 | ||||
|   sudo sh -c 'echo http2 = false >> /etc/nix/nix.conf' | ||||
|   # Set jobs to number of cores | ||||
|   sudo sh -c 'echo max-jobs = auto >> /etc/nix/nix.conf' | ||||
|   # Allow binary caches for runner user | ||||
|   sudo sh -c 'echo trusted-users = root runner >> /etc/nix/nix.conf' | ||||
| } | ||||
| # Set jobs to number of cores | ||||
| add_config "max-jobs = auto" | ||||
| # Allow binary caches for user | ||||
| add_config "trusted-users = root $USER" | ||||
| # Append extra nix configuration if provided | ||||
| if [[ $INPUT_EXTRA_NIX_CONFIG != "" ]]; then | ||||
|   add_config "$INPUT_EXTRA_NIX_CONFIG" | ||||
| fi | ||||
|  | ||||
| # Nix installer flags | ||||
| installer_options=( | ||||
|   --no-channel-add | ||||
|   --darwin-use-unencrypted-nix-store-volume | ||||
|   --nix-extra-conf-file /tmp/nix.conf | ||||
| ) | ||||
|  | ||||
| # only use the nix-daemon settings if on darwin (which get ignored) or systemd is supported | ||||
| if [[ $OSTYPE =~ darwin || -e /run/systemd/system ]]; then | ||||
|   installer_options+=( | ||||
|     --daemon | ||||
|     --daemon-user-count `python -c 'import multiprocessing as mp; print(mp.cpu_count() * 2)'` | ||||
|   ) | ||||
| else | ||||
|   # "fix" the following error when running nix* | ||||
|   # error: the group 'nixbld' specified in 'build-users-group' does not exist | ||||
|   mkdir -m 0755 /etc/nix | ||||
|   echo "build-users-group =" > /etc/nix/nix.conf | ||||
| fi | ||||
|  | ||||
| if [[ $INPUT_INSTALL_OPTIONS != "" ]]; then | ||||
|   IFS=' ' read -r -a extra_installer_options <<< $INPUT_INSTALL_OPTIONS | ||||
|   installer_options=("${extra_installer_options[@]}" "${installer_options[@]}") | ||||
| fi | ||||
|  | ||||
| echo "installer options: ${installer_options[@]}" | ||||
| sh <(curl --retry 5 --retry-connrefused -L "${INPUT_INSTALL_URL:-https://nixos.org/nix/install}") "${installer_options[@]}" | ||||
|  | ||||
| if [[ $OSTYPE =~ darwin ]]; then | ||||
|   # macOS needs certificates hints | ||||
|   # Catalina workaround https://github.com/NixOS/nix/issues/2925 | ||||
|   $here/create-darwin-volume.sh | ||||
|  | ||||
|   # Disable spotlight indexing of /nix to speed up performance | ||||
|   sudo mdutil -i off /nix | ||||
| fi | ||||
|  | ||||
| nixConf | ||||
|  | ||||
| # Needed due to multi-user being too defensive | ||||
| export ALLOW_PREEXISTING_INSTALLATION=1 | ||||
|  | ||||
| sh <(curl -L https://nixos.org/nix/install) --daemon | ||||
|  | ||||
| # write nix.conf again as installation overwrites it | ||||
| nixConf | ||||
|  | ||||
| # macOS needs certificates hints | ||||
| if [[ $OSTYPE =~ darwin ]]; then | ||||
|   cert_file=/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt | ||||
|   echo "NIX_SSL_CERT_FILE=$cert_file" >> "$GITHUB_ENV" | ||||
|   echo "::set-env name=NIX_SSL_CERT_FILE::$cert_file" | ||||
|   export NIX_SSL_CERT_FILE=$cert_file | ||||
|   sudo launchctl setenv NIX_SSL_CERT_FILE "$cert_file" | ||||
| fi | ||||
|  | ||||
| # Reload the daemon to pick up changes | ||||
| sudo pkill -HUP nix-daemon | ||||
|  | ||||
| # Set paths | ||||
| echo "/nix/var/nix/profiles/per-user/$USER/profile/bin" >> "$GITHUB_PATH" | ||||
| echo "/nix/var/nix/profiles/default/bin" >> "$GITHUB_PATH" | ||||
|  | ||||
|  | ||||
| if [[ $INPUT_NIX_PATH != "" ]]; then | ||||
|   echo "NIX_PATH=${INPUT_NIX_PATH}" >> "$GITHUB_ENV" | ||||
| fi | ||||
| echo "::add-path::/nix/var/nix/profiles/per-user/runner/profile/bin" | ||||
| echo "::add-path::/nix/var/nix/profiles/default/bin" | ||||
| echo "::set-env name=NIX_PATH::/nix/var/nix/profiles/per-user/root/channels" | ||||
							
								
								
									
										26
									
								
								lib/main.js
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								lib/main.js
									
									
									
									
									
								
							| @@ -1,4 +1,30 @@ | ||||
| "use strict"; | ||||
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||||
|     function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||||
|     return new (P || (P = Promise))(function (resolve, reject) { | ||||
|         function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||||
|         function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||||
|         function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||||
|         step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||||
|     }); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| const child_process_1 = require("child_process"); | ||||
| const process_1 = require("process"); | ||||
| const net_1 = require("net"); | ||||
| function awaitSocket() { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         const daemonSocket = net_1.createConnection({ path: '/nix/var/nix/daemon-socket/socket' }); | ||||
|         daemonSocket.on('error', () => __awaiter(this, void 0, void 0, function* () { | ||||
|             console.log('Waiting for daemon socket to be available, reconnecting...'); | ||||
|             yield new Promise(resolve => setTimeout(resolve, 500)); | ||||
|             yield awaitSocket(); | ||||
|         })); | ||||
|         daemonSocket.on('connect', () => { | ||||
|             process_1.exit(0); | ||||
|         }); | ||||
|     }); | ||||
| } | ||||
| child_process_1.execFileSync(`${__dirname}/install-nix.sh`, { stdio: 'inherit' }); | ||||
| // nc doesn't work correctly on macOS :( | ||||
| awaitSocket(); | ||||
|   | ||||
| @@ -20,7 +20,7 @@ | ||||
|   "author": "Domen Kožar", | ||||
|   "license": "ASL2", | ||||
|   "dependencies": { | ||||
|     "@actions/core": "^1.2.6", | ||||
|     "@actions/core": "^1.1.0", | ||||
|     "@actions/exec": "^1.0.1", | ||||
|     "@actions/tool-cache": "^1.1.2" | ||||
|   }, | ||||
|   | ||||
							
								
								
									
										17
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								src/main.ts
									
									
									
									
									
								
							| @@ -1,3 +1,20 @@ | ||||
| import { execFileSync } from 'child_process'; | ||||
| import { exit } from 'process'; | ||||
| import { createConnection } from 'net'; | ||||
|  | ||||
| async function awaitSocket() { | ||||
|   const daemonSocket = createConnection({ path: '/nix/var/nix/daemon-socket/socket' }); | ||||
|   daemonSocket.on('error', async () => { | ||||
|     console.log('Waiting for daemon socket to be available, reconnecting...'); | ||||
|     await new Promise(resolve => setTimeout(resolve, 500)); | ||||
|     await awaitSocket(); | ||||
|   }); | ||||
|   daemonSocket.on('connect', () => { | ||||
|     exit(0); | ||||
|   }); | ||||
| } | ||||
|  | ||||
| execFileSync(`${__dirname}/install-nix.sh`, { stdio: 'inherit' }); | ||||
|  | ||||
| // nc doesn't work correctly on macOS :( | ||||
| awaitSocket(); | ||||
							
								
								
									
										5
									
								
								test.nix
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								test.nix
									
									
									
									
									
								
							| @@ -2,15 +2,12 @@ | ||||
| { size ? 1 # MB | ||||
| , num ? 10 # count  | ||||
| , currentTime ? builtins.currentTime | ||||
| , noChroot ? false | ||||
| }: | ||||
|  | ||||
| with import <nixpkgs> {}; | ||||
|  | ||||
| let | ||||
|   drv = i: runCommand "${toString currentTime}-${toString i}" { | ||||
|     __noChroot = noChroot; | ||||
|   } '' | ||||
|   drv = i: runCommand "${toString currentTime}-${toString i}" {} '' | ||||
|     dd if=/dev/zero of=$out bs=${toString size}MB count=1 | ||||
|   ''; | ||||
| in writeText "empty-${toString num}-${toString size}MB" '' | ||||
|   | ||||
							
								
								
									
										192
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										192
									
								
								yarn.lock
									
									
									
									
									
								
							| @@ -2,10 +2,10 @@ | ||||
| # yarn lockfile v1 | ||||
|  | ||||
|  | ||||
| "@actions/core@^1.1.0", "@actions/core@^1.2.6": | ||||
|   version "1.2.6" | ||||
|   resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.2.6.tgz#a78d49f41a4def18e88ce47c2cac615d5694bf09" | ||||
|   integrity sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA== | ||||
| "@actions/core@^1.1.0": | ||||
|   version "1.1.1" | ||||
|   resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.1.1.tgz#e08f3dbfe04721bb3d040f8fca2d6d7e1817b2e1" | ||||
|   integrity sha512-O5G6EmlzTVsng7VSpNtszIoQq6kOgMGNTFB/hmwKNNA4V71JyxImCIrL27vVHCt2Cb3ImkaCr6o27C2MV9Ylwg== | ||||
|  | ||||
| "@actions/exec@^1.0.1": | ||||
|   version "1.0.1" | ||||
| @@ -424,9 +424,9 @@ acorn-walk@^6.0.1: | ||||
|   integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== | ||||
|  | ||||
| acorn@^5.5.3: | ||||
|   version "5.7.4" | ||||
|   resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" | ||||
|   integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== | ||||
|   version "5.7.3" | ||||
|   resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" | ||||
|   integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== | ||||
|  | ||||
| acorn@^6.0.1: | ||||
|   version "6.3.0" | ||||
| @@ -737,10 +737,10 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2: | ||||
|     escape-string-regexp "^1.0.5" | ||||
|     supports-color "^5.3.0" | ||||
|  | ||||
| chownr@^1.1.4: | ||||
|   version "1.1.4" | ||||
|   resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" | ||||
|   integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== | ||||
| chownr@^1.1.1: | ||||
|   version "1.1.3" | ||||
|   resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" | ||||
|   integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== | ||||
|  | ||||
| ci-info@^2.0.0: | ||||
|   version "2.0.0" | ||||
| @@ -803,6 +803,11 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: | ||||
|   dependencies: | ||||
|     delayed-stream "~1.0.0" | ||||
|  | ||||
| commander@~2.20.0: | ||||
|   version "2.20.1" | ||||
|   resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.1.tgz#3863ce3ca92d0831dcf2a102f5fb4b5926afd0f9" | ||||
|   integrity sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg== | ||||
|  | ||||
| component-emitter@^1.2.1: | ||||
|   version "1.3.0" | ||||
|   resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" | ||||
| @@ -1222,7 +1227,7 @@ fragment-cache@^0.2.1: | ||||
|   dependencies: | ||||
|     map-cache "^0.2.2" | ||||
|  | ||||
| fs-minipass@^1.2.7: | ||||
| fs-minipass@^1.2.5: | ||||
|   version "1.2.7" | ||||
|   resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" | ||||
|   integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== | ||||
| @@ -1313,14 +1318,13 @@ growly@^1.3.0: | ||||
|   integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= | ||||
|  | ||||
| handlebars@^4.1.2: | ||||
|   version "4.7.7" | ||||
|   resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" | ||||
|   integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== | ||||
|   version "4.4.0" | ||||
|   resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.4.0.tgz#22e1a897c5d83023d39801f35f6b65cf97ed8b25" | ||||
|   integrity sha512-xkRtOt3/3DzTKMOt3xahj2M/EqNhY988T+imYSlMgs5fVhLN2fmKVVj0LtEGmb+3UUYV5Qmm1052Mm3dIQxOvw== | ||||
|   dependencies: | ||||
|     minimist "^1.2.5" | ||||
|     neo-async "^2.6.0" | ||||
|     optimist "^0.6.1" | ||||
|     source-map "^0.6.1" | ||||
|     wordwrap "^1.0.0" | ||||
|   optionalDependencies: | ||||
|     uglify-js "^3.1.4" | ||||
|  | ||||
| @@ -1391,9 +1395,9 @@ has@^1.0.1, has@^1.0.3: | ||||
|     function-bind "^1.1.1" | ||||
|  | ||||
| hosted-git-info@^2.1.4: | ||||
|   version "2.8.9" | ||||
|   resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" | ||||
|   integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== | ||||
|   version "2.8.4" | ||||
|   resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" | ||||
|   integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== | ||||
|  | ||||
| html-encoding-sniffer@^1.0.2: | ||||
|   version "1.0.2" | ||||
| @@ -1452,9 +1456,9 @@ inherits@2, inherits@~2.0.3: | ||||
|   integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== | ||||
|  | ||||
| ini@~1.3.0: | ||||
|   version "1.3.8" | ||||
|   resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" | ||||
|   integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== | ||||
|   version "1.3.5" | ||||
|   resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" | ||||
|   integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== | ||||
|  | ||||
| invariant@^2.2.4: | ||||
|   version "2.2.4" | ||||
| @@ -2221,9 +2225,9 @@ lodash.sortby@^4.7.0: | ||||
|   integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= | ||||
|  | ||||
| lodash@^4.17.11, lodash@^4.17.13: | ||||
|   version "4.17.21" | ||||
|   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" | ||||
|   integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== | ||||
|   version "4.17.15" | ||||
|   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" | ||||
|   integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== | ||||
|  | ||||
| loose-envify@^1.0.0: | ||||
|   version "1.4.0" | ||||
| @@ -2307,12 +2311,30 @@ minimatch@^3.0.4: | ||||
|   dependencies: | ||||
|     brace-expansion "^1.1.7" | ||||
|  | ||||
| minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: | ||||
|   version "1.2.5" | ||||
|   resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" | ||||
|   integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== | ||||
| minimist@0.0.8: | ||||
|   version "0.0.8" | ||||
|   resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" | ||||
|   integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= | ||||
|  | ||||
| minipass@^2.6.0, minipass@^2.9.0: | ||||
| minimist@^1.1.1, minimist@^1.2.0: | ||||
|   version "1.2.0" | ||||
|   resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" | ||||
|   integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= | ||||
|  | ||||
| minimist@~0.0.1: | ||||
|   version "0.0.10" | ||||
|   resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" | ||||
|   integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= | ||||
|  | ||||
| minipass@^2.6.0, minipass@^2.8.6: | ||||
|   version "2.8.6" | ||||
|   resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.8.6.tgz#620d889ace26356391d010ecb9458749df9b6db5" | ||||
|   integrity sha512-lFG7d6g3+/UaFDCOtqPiKAC9zngWWsQZl1g5q6gaONqrjq61SX2xFqXMleQiFVyDpYwa018E9hmlAFY22PCb+A== | ||||
|   dependencies: | ||||
|     safe-buffer "^5.1.2" | ||||
|     yallist "^3.0.0" | ||||
|  | ||||
| minipass@^2.9.0: | ||||
|   version "2.9.0" | ||||
|   resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" | ||||
|   integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== | ||||
| @@ -2320,10 +2342,10 @@ minipass@^2.6.0, minipass@^2.9.0: | ||||
|     safe-buffer "^5.1.2" | ||||
|     yallist "^3.0.0" | ||||
|  | ||||
| minizlib@^1.3.3: | ||||
|   version "1.3.3" | ||||
|   resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" | ||||
|   integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== | ||||
| minizlib@^1.2.1: | ||||
|   version "1.3.2" | ||||
|   resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.2.tgz#5d24764998f98112586f7e566bd4c0999769dad4" | ||||
|   integrity sha512-lsNFqSHdJ21EwKzCp12HHJGxSMtHkCW1EMA9cceG3MkMNARjuWotZnMe3NKNshAvFXpm4loZqmYsCmRwhS2JMw== | ||||
|   dependencies: | ||||
|     minipass "^2.9.0" | ||||
|  | ||||
| @@ -2335,12 +2357,12 @@ mixin-deep@^1.2.0: | ||||
|     for-in "^1.0.2" | ||||
|     is-extendable "^1.0.1" | ||||
|  | ||||
| mkdirp@0.x, mkdirp@^0.5.1, mkdirp@^0.5.5: | ||||
|   version "0.5.5" | ||||
|   resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" | ||||
|   integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== | ||||
| mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1: | ||||
|   version "0.5.1" | ||||
|   resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" | ||||
|   integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= | ||||
|   dependencies: | ||||
|     minimist "^1.2.5" | ||||
|     minimist "0.0.8" | ||||
|  | ||||
| ms@2.0.0: | ||||
|   version "2.0.0" | ||||
| @@ -2389,9 +2411,9 @@ needle@^2.2.1: | ||||
|     sax "^1.2.4" | ||||
|  | ||||
| neo-async@^2.6.0: | ||||
|   version "2.6.2" | ||||
|   resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" | ||||
|   integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== | ||||
|   version "2.6.1" | ||||
|   resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" | ||||
|   integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== | ||||
|  | ||||
| nice-try@^1.0.4: | ||||
|   version "1.0.5" | ||||
| @@ -2558,6 +2580,14 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: | ||||
|   dependencies: | ||||
|     wrappy "1" | ||||
|  | ||||
| optimist@^0.6.1: | ||||
|   version "0.6.1" | ||||
|   resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" | ||||
|   integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= | ||||
|   dependencies: | ||||
|     minimist "~0.0.1" | ||||
|     wordwrap "~0.0.2" | ||||
|  | ||||
| optionator@^0.8.1: | ||||
|   version "0.8.2" | ||||
|   resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" | ||||
| @@ -2658,9 +2688,9 @@ path-key@^2.0.0, path-key@^2.0.1: | ||||
|   integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= | ||||
|  | ||||
| path-parse@^1.0.6: | ||||
|   version "1.0.7" | ||||
|   resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" | ||||
|   integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== | ||||
|   version "1.0.6" | ||||
|   resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" | ||||
|   integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== | ||||
|  | ||||
| path-type@^3.0.0: | ||||
|   version "3.0.0" | ||||
| @@ -2937,10 +2967,10 @@ rsvp@^4.8.4: | ||||
|   resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" | ||||
|   integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== | ||||
|  | ||||
| safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@^5.2.1: | ||||
|   version "5.2.1" | ||||
|   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" | ||||
|   integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== | ||||
| safe-buffer@^5.0.1, safe-buffer@^5.1.2: | ||||
|   version "5.2.0" | ||||
|   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" | ||||
|   integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== | ||||
|  | ||||
| safe-buffer@~5.1.0, safe-buffer@~5.1.1: | ||||
|   version "5.1.2" | ||||
| @@ -3279,17 +3309,17 @@ symbol-tree@^3.2.2: | ||||
|   integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== | ||||
|  | ||||
| tar@^4: | ||||
|   version "4.4.19" | ||||
|   resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" | ||||
|   integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== | ||||
|   version "4.4.13" | ||||
|   resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" | ||||
|   integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== | ||||
|   dependencies: | ||||
|     chownr "^1.1.4" | ||||
|     fs-minipass "^1.2.7" | ||||
|     minipass "^2.9.0" | ||||
|     minizlib "^1.3.3" | ||||
|     mkdirp "^0.5.5" | ||||
|     safe-buffer "^5.2.1" | ||||
|     yallist "^3.1.1" | ||||
|     chownr "^1.1.1" | ||||
|     fs-minipass "^1.2.5" | ||||
|     minipass "^2.8.6" | ||||
|     minizlib "^1.2.1" | ||||
|     mkdirp "^0.5.0" | ||||
|     safe-buffer "^5.1.2" | ||||
|     yallist "^3.0.3" | ||||
|  | ||||
| test-exclude@^5.2.3: | ||||
|   version "5.2.3" | ||||
| @@ -3307,9 +3337,9 @@ throat@^4.0.0: | ||||
|   integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= | ||||
|  | ||||
| tmpl@1.0.x: | ||||
|   version "1.0.5" | ||||
|   resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" | ||||
|   integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== | ||||
|   version "1.0.4" | ||||
|   resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" | ||||
|   integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= | ||||
|  | ||||
| to-fast-properties@^2.0.0: | ||||
|   version "2.0.0" | ||||
| @@ -3429,9 +3459,12 @@ typescript@^3.5.1: | ||||
|   integrity sha512-N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw== | ||||
|  | ||||
| uglify-js@^3.1.4: | ||||
|   version "3.13.5" | ||||
|   resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.5.tgz#5d71d6dbba64cf441f32929b1efce7365bb4f113" | ||||
|   integrity sha512-xtB8yEqIkn7zmOyS2zUNBsYCBRhDkvlNxMMY2smuJ/qA8NCHeQvKCF3i9Z4k8FJH4+PJvZRtMrPynfZ75+CSZw== | ||||
|   version "3.6.0" | ||||
|   resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" | ||||
|   integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== | ||||
|   dependencies: | ||||
|     commander "~2.20.0" | ||||
|     source-map "~0.6.1" | ||||
|  | ||||
| underscore@1.8.3: | ||||
|   version "1.8.3" | ||||
| @@ -3576,7 +3609,12 @@ wide-align@^1.1.0: | ||||
|   dependencies: | ||||
|     string-width "^1.0.2 || 2" | ||||
|  | ||||
| wordwrap@^1.0.0, wordwrap@~1.0.0: | ||||
| wordwrap@~0.0.2: | ||||
|   version "0.0.3" | ||||
|   resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" | ||||
|   integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= | ||||
|  | ||||
| wordwrap@~1.0.0: | ||||
|   version "1.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" | ||||
|   integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= | ||||
| @@ -3605,9 +3643,9 @@ write-file-atomic@2.4.1: | ||||
|     signal-exit "^3.0.2" | ||||
|  | ||||
| ws@^5.2.0: | ||||
|   version "5.2.3" | ||||
|   resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" | ||||
|   integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== | ||||
|   version "5.2.2" | ||||
|   resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" | ||||
|   integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== | ||||
|   dependencies: | ||||
|     async-limiter "~1.0.0" | ||||
|  | ||||
| @@ -3617,14 +3655,14 @@ xml-name-validator@^3.0.0: | ||||
|   integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== | ||||
|  | ||||
| y18n@^4.0.0: | ||||
|   version "4.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" | ||||
|   integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== | ||||
|   version "4.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" | ||||
|   integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== | ||||
|  | ||||
| yallist@^3.0.0, yallist@^3.1.1: | ||||
|   version "3.1.1" | ||||
|   resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" | ||||
|   integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== | ||||
| yallist@^3.0.0, yallist@^3.0.3: | ||||
|   version "3.1.0" | ||||
|   resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.0.tgz#906cc2100972dc2625ae78f566a2577230a1d6f7" | ||||
|   integrity sha512-6gpP93MR+VOOehKbCPchro3wFZNSNmek8A2kbkOAZLIZAYx1KP/zAqwO0sOHi3xJEb+UBz8NaYt/17UNit1Q9w== | ||||
|  | ||||
| yargs-parser@10.x: | ||||
|   version "10.1.0" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user