lix-install-action/.github/workflows/ci.yml

160 lines
4.6 KiB
YAML
Raw Normal View History

2023-01-13 18:07:57 +00:00
name: CI
on:
pull_request:
push:
branches: [main]
workflow_dispatch:
2023-01-13 18:07:57 +00:00
jobs:
2023-10-23 18:50:08 +00: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 18:57:00 +00:00
- run: npm install --no-save
- run: npm run all
2023-10-23 18:53:07 +00:00
- run: git status --porcelain=v1
2023-10-23 18:50:08 +00:00
- run: test $(git status --porcelain=v1 2>/dev/null | wc -l) -eq 0
2023-01-13 18:07:57 +00:00
run-x86_64-linux:
name: Run x86_64 Linux
strategy:
matrix:
runner:
- ubuntu-latest
- nscloud-ubuntu-22.04-amd64-4x16
- namespace-profile-default-arm64
runs-on: ${{ matrix.runner }}
2023-01-13 18:07:57 +00:00
steps:
- uses: actions/checkout@v3
2023-01-13 18:13:23 +00:00
- name: Install Nix
2023-01-13 18:07:57 +00: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 15:54:25 +00:00
nix run nixpkgs#hello
nix profile install nixpkgs#hello
hello
2023-01-13 18:07:57 +00:00
nix store gc
2023-05-25 15:54:25 +00:00
nix run nixpkgs#hello
2023-01-13 18:07:57 +00: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 20:09:36 +00:00
- name: Install Nix again (noop)
uses: ./
with:
logger: pretty
log-directives: nix_installer=trace
backtrace: full
2023-01-13 20:18:14 +00:00
- name: Test `nix` with `$GITHUB_PATH`
if: success() || failure()
run: |
2023-05-25 15:54:25 +00:00
nix run nixpkgs#hello
nix profile install nixpkgs#hello
hello
2023-01-13 20:18:14 +00:00
nix store gc
2023-05-25 15:54:25 +00:00
nix run nixpkgs#hello
2023-01-13 20:09:36 +00: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 20:18:14 +00:00
- name: Test `nix` with `$GITHUB_PATH`
if: success() || failure()
run: |
2023-05-25 15:54:25 +00:00
nix run nixpkgs#hello
nix profile install nixpkgs#hello
hello
2023-01-13 20:18:14 +00:00
nix store gc
2023-05-25 15:54:25 +00: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 18:07:57 +00:00
run-x86_64-darwin:
name: Run x86_64 Darwin
runs-on: macos-12
steps:
- uses: actions/checkout@v3
2023-01-13 18:13:23 +00:00
- name: Install Nix
2023-01-13 18:07:57 +00: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 15:54:25 +00:00
nix run nixpkgs#hello
nix profile install nixpkgs#hello
hello
2023-01-13 18:07:57 +00:00
nix store gc
2023-05-25 15:54:25 +00:00
nix run nixpkgs#hello
2023-01-13 18:07:57 +00: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 20:09:36 +00:00
- name: Install Nix again (noop)
uses: ./
with:
logger: pretty
log-directives: nix_installer=trace
backtrace: full
2023-01-13 20:18:14 +00:00
- name: Test `nix` with `$GITHUB_PATH`
if: success() || failure()
run: |
2023-05-25 15:54:25 +00:00
nix run nixpkgs#hello
nix profile install nixpkgs#hello
hello
2023-01-13 20:18:14 +00:00
nix store gc
2023-05-25 15:54:25 +00:00
nix run nixpkgs#hello
2023-01-13 20:09:36 +00: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 20:18:14 +00:00
- name: Test `nix` with `$GITHUB_PATH`
if: success() || failure()
run: |
2023-05-25 15:54:25 +00:00
nix run nixpkgs#hello
nix profile install nixpkgs#hello
hello
2023-01-13 20:18:14 +00:00
nix store gc
2023-05-25 15:54:25 +00: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