summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2023-05-22 18:42:29 +0200
committerGitHub <noreply@github.com>2023-05-22 18:42:29 +0200
commit57094eaf5a2e7cce4ea6a7a8ac2820519c1ee25b (patch)
treec6b5734a2872f07f0c733e81085a87f3f2f181cd /.github
parentdfbdabbb3e797334172094d4f6c0ffca8c791281 (diff)
parentebdd18cdc169f680a1385c0d26dfe92dc5062ade (diff)
Merge pull request #641 from lockejan/update-ci
Update ci and introduce matrix builds against stable and unstable
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/build.yml4
-rw-r--r--.github/workflows/debug.yml4
-rw-r--r--.github/workflows/test.yml214
-rw-r--r--.github/workflows/update-manual.yml4
4 files changed, 192 insertions, 34 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index f9b8f2a..ed66317 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -12,7 +12,7 @@ jobs:
build:
runs-on: macos-12
steps:
- - uses: actions/checkout@v2
- - uses: cachix/install-nix-action@v17
+ - uses: actions/checkout@v3
+ - uses: cachix/install-nix-action@v20
- run: |
nix build ${{ github.event.client_payload.args }} -vL
diff --git a/.github/workflows/debug.yml b/.github/workflows/debug.yml
index 6c4311e..3abe115 100644
--- a/.github/workflows/debug.yml
+++ b/.github/workflows/debug.yml
@@ -12,8 +12,8 @@ jobs:
debug:
runs-on: macos-12
steps:
- - uses: actions/checkout@v2
- - uses: cachix/install-nix-action@v17
+ - uses: actions/checkout@v3
+ - uses: cachix/install-nix-action@v20
- run: |
nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs
nix-channel --update
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 21976df..172e35c 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -2,33 +2,68 @@ name: "Test"
on:
pull_request:
push:
+
+env:
+ CURRENT_STABLE_CHANNEL: nixpkgs-22.11-darwin
+
jobs:
- tests:
+ test-stable:
runs-on: macos-12
timeout-minutes: 30
steps:
- - uses: actions/checkout@v2
- - uses: cachix/install-nix-action@v17
- - run: nix-build ./release.nix -I nixpkgs=channel:nixpkgs-22.05-darwin -I darwin=. -A tests
- - run: nix-build ./release.nix -I nixpkgs=channel:nixpkgs-22.05-darwin -I darwin=. -A manpages
- - run: nix-build ./release.nix -I nixpkgs=channel:nixpkgs-22.05-darwin -I darwin=. -A examples.simple
- install:
+ - uses: actions/checkout@v3
+ - name: Install nix corresponding to latest stable channel
+ uses: cachix/install-nix-action@v20
+ with:
+ install_url: https://github.com/nix-community/nix-unstable-installer/releases/download/nix-2.10.0pre20220822_7c3ab57/install
+ extra_nix_config: |
+ access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
+ - run: nix-build ./release.nix -I nixpkgs=channel:${{ env.CURRENT_STABLE_CHANNEL }} -I darwin=. -A tests
+ - run: nix-build ./release.nix -I nixpkgs=channel:${{ env.CURRENT_STABLE_CHANNEL }} -I darwin=. -A manpages
+ - run: nix-build ./release.nix -I nixpkgs=channel:${{ env.CURRENT_STABLE_CHANNEL }} -I darwin=. -A examples.simple
+
+ test-unstable:
runs-on: macos-12
timeout-minutes: 30
steps:
- - uses: actions/checkout@v2
- - uses: cachix/install-nix-action@v17
- - run: |
- nix-channel --add https://nixos.org/channels/nixpkgs-22.05-darwin nixpkgs
+ - uses: actions/checkout@v3
+ - name: Install nix from current unstable channel
+ uses: cachix/install-nix-action@v20
+ with:
+ nix_path: nixpkgs=channel:${{ env.CURRENT_STABLE_CHANNEL }}
+ extra_nix_config: |
+ access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
+ - run: nix-build ./release.nix -I nixpkgs=channel:nixpkgs-unstable -I darwin=. -A tests
+ - run: nix-build ./release.nix -I nixpkgs=channel:nixpkgs-unstable -I darwin=. -A manpages
+ - run: nix-build ./release.nix -I nixpkgs=channel:nixpkgs-unstable -I darwin=. -A examples.simple
+
+ install-against-stable:
+ runs-on: macos-12
+ timeout-minutes: 30
+ steps:
+ - uses: actions/checkout@v3
+ - name: Install nix corresponding to latest stable channel
+ uses: cachix/install-nix-action@v20
+ with:
+ install_url: https://github.com/nix-community/nix-unstable-installer/releases/download/nix-2.10.0pre20220822_7c3ab57/install
+ nix_path: nixpkgs=channel:${{ env.CURRENT_STABLE_CHANNEL }}
+ extra_nix_config: |
+ access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
+ - name: Install ${{ env.CURRENT_STABLE_CHANNEL }} channel
+ run: |
+ nix-channel --add https://nixos.org/channels/${{ env.CURRENT_STABLE_CHANNEL }} nixpkgs
nix-channel --update
- - run: |
+ - name: Install nix-darwin and test
+ run: |
export NIX_PATH=$HOME/.nix-defexpr/channels
nix-shell -A installer
nix-shell -A installer.check
- - run: |
+ - name: Build and activate default derivation
+ run: |
. /etc/static/bashrc
darwin-rebuild switch -I darwin=.
- - run: |
+ - name: Test uninstallation of nix-darwin
+ run: |
export NIX_PATH=$HOME/.nix-defexpr/channels
nix-shell -A uninstaller
nix-shell -A uninstaller.check
@@ -38,30 +73,153 @@ jobs:
timeout-minutes: 15
with:
limit-access-to-actor: true
- install-flake:
+
+ install-against-unstable:
runs-on: macos-12
- timeout-minutes: 60
+ timeout-minutes: 30
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
+ - name: Install nix from current unstable channel
+ uses: cachix/install-nix-action@v20
with:
- fetch-depth: 0
- - uses: cachix/install-nix-action@v17
+ nix_path: nixpkgs=channel:nixpkgs-unstable
+ extra_nix_config: |
+ access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
+ - name: Install nixpkgs-unstable channel
+ run: |
+ nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs
+ nix-channel --update
+ - name: Install nix-darwin and test
+ run: |
+ export NIX_PATH=$HOME/.nix-defexpr/channels
+ nix-shell -A installer
+ nix-shell -A installer.check
+ - name: Build and activate default derivation
+ run: |
+ . /etc/static/bashrc
+ darwin-rebuild switch -I darwin=.
+ - name: Test uninstallation of nix-darwin
+ run: |
+ export NIX_PATH=$HOME/.nix-defexpr/channels
+ nix-shell -A uninstaller
+ nix-shell -A uninstaller.check
+ - name: Debugging tmate session
+ if: ${{ failure() }}
+ uses: mxschmitt/action-tmate@v3
+ timeout-minutes: 15
+ with:
+ limit-access-to-actor: true
+
+ install-flake-against-stable:
+ runs-on: macos-12
+ timeout-minutes: 30
+ steps:
+ - uses: actions/checkout@v3
+ - name: Install nix version corresponding to latest stable channel
+ uses: cachix/install-nix-action@v20
+ with:
+ install_url: https://github.com/nix-community/nix-unstable-installer/releases/download/nix-2.10.0pre20220822_7c3ab57/install
+ nix_path: nixpkgs=channel:${{ env.CURRENT_STABLE_CHANNEL }}
+ extra_nix_config: |
+ access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
+ - name: Install ${{ env.CURRENT_STABLE_CHANNEL }} channel
+ run: |
+ nix-channel --add https://nixos.org/channels/${{ env.CURRENT_STABLE_CHANNEL }} nixpkgs
+ nix-channel --update
+ - name: Install nix-darwin and test result
+ run: |
+ export NIX_PATH=$HOME/.nix-defexpr/channels
+ nix-shell -A installer
+ nix-shell -A installer.check
+ - name: Build simple flake configuration
+ run: |
+ nix build ./modules/examples#darwinConfigurations.simple.system --override-input darwin .
+ - name: Activate derivation of simple flake build
+ run: |
+ ./result/sw/bin/darwin-rebuild switch --flake ./modules/examples#simple --override-input darwin .
+ - name: Rebuild and activate simple flake, but this time using nix-darwins flake interface
+ run: |
+ . /etc/static/bashrc
+ darwin-rebuild build --flake ./modules/examples#simple --override-input darwin .
+ - name: Test git submodules
+ run: |
+ . /etc/static/bashrc
+
+ mkdir -p /tmp/{test-nix-darwin-submodules,example-submodule}
+
+ pushd /tmp/example-submodule
+ echo '"hello"' > hello.nix
+ git init
+ git add .
+ git commit -m "add a submodule we will import"
+ popd
+
+ cp -a ./modules/examples/. /tmp/test-nix-darwin-submodules
+
+ pushd /tmp/test-nix-darwin-submodules
+ /usr/bin/sed -i.bak \
+ '\#modules = \[#s#darwin.darwinModules.simple#./simple.nix#' \
+ ./flake.nix
+ /usr/bin/sed -i.bak \
+ 's#pkgs.vim#pkgs."${import ./submodule-test/hello.nix}"#' \
+ ./simple.nix
+ git init
+ git add flake.nix simple.nix
+ git \
+ -c protocol.file.allow=always \
+ submodule add /tmp/example-submodule submodule-test
+ popd
+
+ # Should fail
+ darwin-rebuild build \
+ --flake /tmp/test-nix-darwin-submodules#simple \
+ --override-input darwin . \
+ && {
+ printf 'succeeded while expecting failure due to submodule\n' >/dev/stderr
+ exit 1
+ }
+ # Should also fail
+ darwin-rebuild build \
+ --flake /tmp/test-nix-darwin-submodules?submodules=0#simple \
+ --override-input darwin . \
+ && {
+ printf 'succeeded while expecting failure due to submodule\n' >/dev/stderr
+ exit 1
+ }
+
+ # Should succeed
+ darwin-rebuild build \
+ --flake /tmp/test-nix-darwin-submodules?submodules=1#simple \
+ --override-input darwin .
+
+ install-flake-against-unstable:
+ runs-on: macos-12
+ timeout-minutes: 30
+ steps:
+ - uses: actions/checkout@v3
+ - name: Install nix from current unstable channel
+ uses: cachix/install-nix-action@v20
with:
- install_url: https://github.com/numtide/nix-flakes-installer/releases/download/nix-2.10.0pre20220808_73fde9e/install
- extra_nix_config: |
- experimental-features = nix-command flakes
- access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- - run: |
+ nix_path: nixpkgs=channel:nixpkgs-unstable
+ extra_nix_config: |
+ access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
+ - name: Install nixpkgs-unstable channel
+ run: |
nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs
nix-channel --update
- - run: |
+ - name: Install nix-darwin and test result
+ run: |
export NIX_PATH=$HOME/.nix-defexpr/channels
nix-shell -A installer
- - run: |
+ nix-shell -A installer.check
+ - name: Build simple flake configuration
+ run: |
nix build ./modules/examples#darwinConfigurations.simple.system --override-input darwin .
- - run: |
+ - name: Activate derivation of simple flake build
+ run: |
./result/sw/bin/darwin-rebuild switch --flake ./modules/examples#simple --override-input darwin .
- - run: |
+ - name: Rebuild and activate simple flake, but this time using nix-darwins flake interface
+ run: |
. /etc/static/bashrc
darwin-rebuild build --flake ./modules/examples#simple --override-input darwin .
- name: Test git submodules
diff --git a/.github/workflows/update-manual.yml b/.github/workflows/update-manual.yml
index 488ca2f..b659064 100644
--- a/.github/workflows/update-manual.yml
+++ b/.github/workflows/update-manual.yml
@@ -17,14 +17,14 @@ jobs:
fetch-depth: 0
- name: Install Nix
- uses: cachix/install-nix-action@v17
+ uses: cachix/install-nix-action@v20
with:
extra_nix_config: |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- name: Build manual
run: |
- nix-build ./release.nix -I nixpkgs=channel:nixpkgs-22.05-darwin -I darwin=. -A manualHTML
+ nix-build ./release.nix -I nixpkgs=channel:nixpkgs-22.11-darwin -I darwin=. -A manualHTML
- name: Push update to manual
run: |