Compare commits

..

27 Commits

Author SHA1 Message Date
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
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
5 changed files with 50 additions and 35 deletions

View File

@ -12,7 +12,7 @@ jobs:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.3.5
- uses: actions/checkout@v2.4.0
- run: yarn install --frozen-lockfile
- run: yarn build
- name: Install Nix
@ -31,7 +31,7 @@ jobs:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.3.5
- uses: actions/checkout@v2.4.0
- run: yarn install --frozen-lockfile
- run: yarn build
- name: Install Nix
@ -47,7 +47,7 @@ jobs:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.3.5
- uses: actions/checkout@v2.4.0
- run: yarn install --frozen-lockfile
- run: yarn build
- name: Install Nix
@ -65,7 +65,7 @@ jobs:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.3.5
- uses: actions/checkout@v2.4.0
- run: yarn install --frozen-lockfile
- run: yarn build
- name: Install Nix
@ -83,7 +83,7 @@ jobs:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.3.5
- uses: actions/checkout@v2.4.0
- run: yarn install --frozen-lockfile
- run: yarn build
- name: Install Nix
@ -109,3 +109,17 @@ jobs:
nix_path: nixpkgs=channel:nixos-21.05
install_url: https://releases.nixos.org/nix/nix-2.3.5/install
- run: nix-build test.nix
act-support:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2.4.0
- uses: actions/setup-go@v2.1.4
with:
go-version: '^1.16'
- run: go install github.com/nektos/act@master
- run: docker pull ghcr.io/catthehacker/ubuntu:js-20.04
- run: ~/go/bin/act -P ubuntu-latest=ghcr.io/catthehacker/ubuntu:js-20.04 push -j simple-build

View File

@ -18,7 +18,7 @@ or [pin nixpkgs yourself](https://nix.dev/reference/pinning-nixpkgs.html)
- 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
- Enables `flakes` and `nix-command` experimental features by default (to disable, set ``experimental-features` via `extra_nix_config`)
- Enables `flakes` and `nix-command` experimental features by default (to disable, set ``experimental-features`` via ``extra_nix_config``)
## Usage
@ -33,8 +33,8 @@ jobs:
tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.4
- uses: cachix/install-nix-action@v13
- uses: actions/checkout@v2.4.0
- uses: cachix/install-nix-action@v15
with:
nix_path: nixpkgs=channel:nixos-unstable
- run: nix-build
@ -52,11 +52,9 @@ jobs:
tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.4
- uses: cachix/install-nix-action@v14
- uses: actions/checkout@v2.4.0
- uses: cachix/install-nix-action@v15
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: |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- run: nix build

View File

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

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

@ -6,9 +6,13 @@ if type -p nix &>/dev/null ; then
exit
fi
# Create a temporary workdir
workdir=$(mktemp -d)
trap 'rm -rf "$workdir"' EXIT
# Configure Nix
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
add_config "max-jobs = auto"
@ -26,29 +30,43 @@ fi
installer_options=(
--no-channel-add
--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
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)'`
--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
add_config "build-users-group ="
mkdir -m 0755 /etc/nix
echo "build-users-group =" > /etc/nix/nix.conf
cp $workdir/nix.conf /etc/nix/nix.conf
fi
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[@]}")
fi
echo "installer options: ${installer_options[@]}"
sh <(curl --retry 5 --retry-connrefused -L "${INPUT_INSTALL_URL:-https://nixos.org/nix/install}") "${installer_options[@]}"
echo "installer options: ${installer_options[*]}"
# There is --retry-on-errors, but only newer curl versions support that
curl_retries=5
while ! curl -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
# macOS needs certificates hints