-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
48 lines (42 loc) · 1.65 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
language: nix
nix: 2.3.4
sudo: false
env:
global:
- CACHIX_CACHE=eigenvalue
- NUR_REPO=kolloch
matrix:
include:
- env: NIX_CHANNEL=https://nixos.org/channels/nixpkgs-unstable
- env: NIX_CHANNEL=https://nixos.org/channels/nixos-unstable
- env: NIX_CHANNEL=https://nixos.org/channels/nixos-20.03
install:
- nix --version
- if [ -n "${CACHIX_CACHE}" ]; then travis_retry nix-channel --update; fi
- if [ -n "${CACHIX_CACHE}" ]; then nix-env -iA cachix -f https://cachix.org/api/v1/install; fi
- echo "trusted-users = root travis" | {
sudo tee -a /etc/nix/nix.conf && sudo pkill nix-daemon
}
- if [ -n "${CACHIX_CACHE}" ]; then cachix use "${CACHIX_CACHE}"; fi
- nix-channel --add "${NIX_CHANNEL}" nixpkgs
- travis_retry nix-channel --update
script:
- echo "=== \e[1mEvaluating lib\e[0m"
nix eval -f default.nix 'lib'
- echo "=== \e[1mEvaluating modules\e[0m"
nix eval -f default.nix 'modules'
- echo "=== \e[1mEvaluating overlay\e[0m"
nix eval -f default.nix 'overlays'
- echo -e "=== \e[1mBuilding ci.nix buildOutputs\e[0m"
nix-build ci.nix -A buildOutputs --arg nixpkgs '<nixpkgs>'
- echo -e "=== \e[1mBuilding tests\e[0m"
nix-build default.nix -A tests --arg nixpkgs '<nixpkgs>'
after_success:
- if [ -n "${CACHIX_CACHE}" ]; then
echo "=== \e[1mPushing artifacts to cachix\e[0m"
nix-build ci.nix -A cacheOutputs | cachix push "${CACHIX_CACHE}"
fi
- if [ "cron" != "${TRAVIS_EVENT_TYPE}" -a "false" = "${TRAVIS_PULL_REQUEST}" -a "master" = "${TRAVIS_BRANCH}" ]; then
echo "=== \e[1mTriggering NUR update\e[0m"
curl -XPOST "https://nur-update.herokuapp.com/update?repo=${NUR_REPO}"
fi