name: CI on: pull_request: push: branches: [main] jobs: run-x86_64-linux: name: Run x86_64 Linux runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: Install Nix uses: ./ with: logger: pretty log-directives: nix_installer=trace backtrace: full nix-installer-branch: main - name: echo $PATH run: echo $PATH - name: Test `nix` with `$GITHUB_PATH` if: success() || failure() run: | nix run nixpkgs#hello nix profile install nixpkgs#hello hello nix store gc nix run nixpkgs#hello - 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: Install Nix again (noop) uses: ./ with: logger: pretty log-directives: nix_installer=trace backtrace: full nix-installer-branch: main - name: Test `nix` with `$GITHUB_PATH` if: success() || failure() run: | nix run nixpkgs#hello nix profile install nixpkgs#hello hello nix store gc nix run nixpkgs#hello - name: Reinstall Nix uses: ./ with: logger: pretty log-directives: nix_installer=trace backtrace: full reinstall: true extra-conf: | use-sqlite-wal = true nix-installer-branch: main - name: Test `nix` with `$GITHUB_PATH` if: success() || failure() run: | nix run nixpkgs#hello nix profile install nixpkgs#hello hello nix store gc 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 run-steam-deck: name: Run Steam Deck (Mock)) runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: Make the CI look like a steam deck run: | mkdir -p ~/bin echo -e "#! /bin/sh\nexit 0" | sudo tee -a /bin/steamos-readonly sudo chmod +x /bin/steamos-readonly sudo useradd -m deck - name: Install Nix uses: ./ with: logger: pretty log-directives: nix_installer=trace backtrace: full nix-installer-branch: main - name: echo $PATH run: echo $PATH - name: Test `nix` with `$GITHUB_PATH` if: success() || failure() run: | nix run nixpkgs#hello nix profile install nixpkgs#hello hello nix store gc nix run nixpkgs#hello - 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: Install Nix again (noop) uses: ./ with: logger: pretty log-directives: nix_installer=trace backtrace: full nix-installer-branch: main - name: Test `nix` with `$GITHUB_PATH` if: success() || failure() run: | nix run nixpkgs#hello nix profile install nixpkgs#hello hello nix store gc nix run nixpkgs#hello - name: Reinstall Nix uses: ./ with: logger: pretty log-directives: nix_installer=trace backtrace: full reinstall: true extra-conf: | use-sqlite-wal = true nix-installer-branch: main - name: Test `nix` with `$GITHUB_PATH` if: success() || failure() run: | nix run nixpkgs#hello nix profile install nixpkgs#hello hello nix store gc 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 run-x86_64-darwin: name: Run x86_64 Darwin runs-on: macos-12 steps: - uses: actions/checkout@v3 - name: Install Nix uses: ./ with: logger: pretty log-directives: nix_installer=trace backtrace: full nix-installer-branch: main - name: echo $PATH run: echo $PATH - name: Test `nix` with `$GITHUB_PATH` if: success() || failure() run: | nix run nixpkgs#hello nix profile install nixpkgs#hello hello nix store gc nix run nixpkgs#hello - 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} - name: Install Nix again (noop) uses: ./ with: logger: pretty log-directives: nix_installer=trace backtrace: full nix-installer-branch: main - name: Test `nix` with `$GITHUB_PATH` if: success() || failure() run: | nix run nixpkgs#hello nix profile install nixpkgs#hello hello nix store gc nix run nixpkgs#hello - name: Reinstall Nix uses: ./ with: logger: pretty log-directives: nix_installer=trace backtrace: full reinstall: true extra-conf: | use-sqlite-wal = true nix-installer-branch: main - name: Test `nix` with `$GITHUB_PATH` if: success() || failure() run: | nix run nixpkgs#hello nix profile install nixpkgs#hello hello nix store gc 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