nix-installer-action/.github/workflows/ci.yml

154 lines
4.4 KiB
YAML
Raw Normal View History

2023-01-13 19:07:57 +01:00
name: CI
on:
pull_request:
push:
branches: [main]
workflow_dispatch:
2023-01-13 19:07:57 +01:00
jobs:
2023-10-23 20:50:08 +02:00
check-dist-up-to-date:
name: Check the dist/ folder is up to date
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
2023-10-23 20:57:00 +02:00
- run: npm install --no-save
- run: npm run all
2023-10-23 20:53:07 +02:00
- run: git status --porcelain=v1
2023-10-23 20:50:08 +02:00
- run: test $(git status --porcelain=v1 2>/dev/null | wc -l) -eq 0
2023-01-13 19:07:57 +01:00
run-x86_64-linux:
name: Run x86_64 Linux
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
2023-01-13 19:13:23 +01:00
- name: Install Nix
2023-01-13 19:07:57 +01:00
uses: ./
with:
logger: pretty
log-directives: nix_installer=trace
backtrace: full
- name: echo $PATH
run: echo $PATH
- name: Test `nix` with `$GITHUB_PATH`
if: success() || failure()
run: |
2023-05-25 17:54:25 +02:00
nix run nixpkgs#hello
nix profile install nixpkgs#hello
hello
2023-01-13 19:07:57 +01:00
nix store gc
2023-05-25 17:54:25 +02:00
nix run nixpkgs#hello
2023-01-13 19:07:57 +01:00
- name: Test bash
run: nix-instantiate -E 'builtins.currentTime' --eval
if: success() || failure()
shell: bash --login {0}
- name: Test sh
run: nix-instantiate -E 'builtins.currentTime' --eval
if: success() || failure()
shell: sh -l {0}
2023-01-13 21:09:36 +01:00
- name: Install Nix again (noop)
uses: ./
with:
logger: pretty
log-directives: nix_installer=trace
backtrace: full
2023-01-13 21:18:14 +01:00
- name: Test `nix` with `$GITHUB_PATH`
if: success() || failure()
run: |
2023-05-25 17:54:25 +02:00
nix run nixpkgs#hello
nix profile install nixpkgs#hello
hello
2023-01-13 21:18:14 +01:00
nix store gc
2023-05-25 17:54:25 +02:00
nix run nixpkgs#hello
2023-01-13 21:09:36 +01:00
- name: Reinstall Nix
uses: ./
with:
logger: pretty
log-directives: nix_installer=trace
backtrace: full
reinstall: true
extra-conf: |
use-sqlite-wal = true
2023-01-13 21:18:14 +01:00
- name: Test `nix` with `$GITHUB_PATH`
if: success() || failure()
run: |
2023-05-25 17:54:25 +02:00
nix run nixpkgs#hello
nix profile install nixpkgs#hello
hello
2023-01-13 21:18:14 +01:00
nix store gc
2023-05-25 17:54:25 +02:00
nix run nixpkgs#hello
- name: Verify the generated nix.conf
run: |
cat -n /etc/nix/nix.conf
grep -E "^trusted-users = .*$USER" /etc/nix/nix.conf
grep -E "^use-sqlite-wal = true" /etc/nix/nix.conf
2023-01-13 19:07:57 +01:00
run-x86_64-darwin:
name: Run x86_64 Darwin
runs-on: macos-12
steps:
- uses: actions/checkout@v3
2023-01-13 19:13:23 +01:00
- name: Install Nix
2023-01-13 19:07:57 +01:00
uses: ./
with:
logger: pretty
log-directives: nix_installer=trace
backtrace: full
- name: echo $PATH
run: echo $PATH
- name: Test `nix` with `$GITHUB_PATH`
if: success() || failure()
run: |
2023-05-25 17:54:25 +02:00
nix run nixpkgs#hello
nix profile install nixpkgs#hello
hello
2023-01-13 19:07:57 +01:00
nix store gc
2023-05-25 17:54:25 +02:00
nix run nixpkgs#hello
2023-01-13 19:07:57 +01:00
- name: Test bash
run: nix-instantiate -E 'builtins.currentTime' --eval
if: success() || failure()
shell: bash --login {0}
- name: Test sh
run: nix-instantiate -E 'builtins.currentTime' --eval
if: success() || failure()
shell: sh -l {0}
- name: Test zsh
run: nix-instantiate -E 'builtins.currentTime' --eval
if: success() || failure()
shell: zsh --login --interactive {0}
2023-01-13 21:09:36 +01:00
- name: Install Nix again (noop)
uses: ./
with:
logger: pretty
log-directives: nix_installer=trace
backtrace: full
2023-01-13 21:18:14 +01:00
- name: Test `nix` with `$GITHUB_PATH`
if: success() || failure()
run: |
2023-05-25 17:54:25 +02:00
nix run nixpkgs#hello
nix profile install nixpkgs#hello
hello
2023-01-13 21:18:14 +01:00
nix store gc
2023-05-25 17:54:25 +02:00
nix run nixpkgs#hello
2023-01-13 21:09:36 +01:00
- name: Reinstall Nix
uses: ./
with:
logger: pretty
log-directives: nix_installer=trace
backtrace: full
reinstall: true
extra-conf: |
use-sqlite-wal = true
2023-01-13 21:18:14 +01:00
- name: Test `nix` with `$GITHUB_PATH`
if: success() || failure()
run: |
2023-05-25 17:54:25 +02:00
nix run nixpkgs#hello
nix profile install nixpkgs#hello
hello
2023-01-13 21:18:14 +01:00
nix store gc
2023-05-25 17:54:25 +02:00
nix run nixpkgs#hello
- name: Verify the generated nix.conf
run: |
cat /etc/nix/nix.conf
grep -E "^trusted-users = .*$USER" /etc/nix/nix.conf
grep -E "^use-sqlite-wal = true" /etc/nix/nix.conf