diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4f2f5e4e..83e31cdb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,7 +9,8 @@ on: # rebuild everyday at 2:51 # TIP: Choose a random time here so not all repositories are build at once: # https://www.random.org/clock-times/?num=1&earliest=01%3A00&latest=08%3A00&interval=5&format=html&rnd=new - - cron: '50 3 * * *' + - cron: '51 2 * * *' + workflow_dispatch: jobs: tests: strategy: @@ -34,9 +35,9 @@ jobs: cachixName: - linyinfeng nixPath: - - nixpkgs=channel:nixos-unstable - - nixpkgs=channel:nixpkgs-unstable - - nixpkgs=channel:nixos-23.11 + - nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz + - nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz + - nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-24.05.tar.gz runs-on: ubuntu-latest steps: - name: Maximize build space @@ -51,7 +52,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - name: Install nix - uses: cachix/install-nix-action@v26 + uses: cachix/install-nix-action@v30 with: nix_path: "${{ matrix.nixPath }}" extra_nix_config: | @@ -73,7 +74,7 @@ jobs: - name: Show nixpkgs version run: nix-instantiate --eval -E '(import {}).lib.version' - name: Setup cachix - uses: cachix/cachix-action@v14 + uses: cachix/cachix-action@v15 # Don't replace here! if: ${{ matrix.cachixName != '' }} with: diff --git a/ci.nix b/ci.nix index 396e94d3..be4b9245 100644 --- a/ci.nix +++ b/ci.nix @@ -17,7 +17,13 @@ with builtins; let isReserved = n: n == "lib" || n == "overlays" || n == "modules"; isDerivation = p: isAttrs p && p ? type && p.type == "derivation"; - isBuildable = p: !(p.meta.broken or false) && p.meta.license.free or true; + isBuildable = + p: + let + licenseFromMeta = p.meta.license or [ ]; + licenseList = if builtins.isList licenseFromMeta then licenseFromMeta else [ licenseFromMeta ]; + in + !(p.meta.broken or false) && builtins.all (license: license.free or true) licenseList; isCacheable = p: !(p.preferLocalBuild or false); shouldRecurseForDerivations = p: isAttrs p && p.recurseForDerivations or false;