From b33262ccfee56ffb61ceaab39769f79ff9e83aa7 Mon Sep 17 00:00:00 2001 From: Anton-Latukha Date: Wed, 24 Jun 2020 01:53:16 +0300 Subject: [PATCH] CI: {.travis.yml,build.sh}: upd: make conf work with new Nix installer M .travis.yml M build.sh --- .travis.yml | 32 ++++++++++++-------------------- build.sh | 11 +++-------- 2 files changed, 15 insertions(+), 28 deletions(-) diff --git a/.travis.yml b/.travis.yml index bb46845..cd054dd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -111,33 +111,25 @@ before_script: - sudo mount -o remount,exec,size=4G,mode=755 /run/user || true - sudo mkdir -p /etc/nix - echo "trusted-users = root $USER" | sudo tee -a /etc/nix/nix.conf - # - # Update Nix and Nix packages, Cachix requires that - - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then nix upgrade-nix; fi - - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then sudo nix upgrade-nix; fi - # - # macOS service restart - # HACK: Because Nix can not itself update its daemon between 2.0 -> 2.2: - # 1. https://github.com/NixOS/nix/issues/3125#issuecomment-539667327 - # 2. https://github.com/NixOS/nix/issues/3125#issuecomment-539771768 - # Since Nix on macOS has problems restarting the service: - # Force the real disable, get target file from the symlink, unlink symlink, copy file, and reload service - | - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then true && \ - sudo launchctl unload /Library/LaunchDaemons/org.nixos.nix-daemon.plist && \ - export NIX_SERVICE_FILE=$(readlink /Library/LaunchDaemons/org.nixos.nix-daemon.plist) && \ - sudo unlink /Library/LaunchDaemons/org.nixos.nix-daemon.plist && \ - sudo cp -f "$NIX_SERVICE_FILE" /Library/LaunchDaemons/org.nixos.nix-daemon.plist && \ - sudo launchctl load /Library/LaunchDaemons/org.nixos.nix-daemon.plist && \ - sudo launchctl kickstart -k system/org.nixos.nix-daemon && \ + if [ "${TRAVIS_OS_NAME}" = "linux" ]; then true && \ + sudo systemctl stop nix-daemon.service && \ + sudo systemctl daemon-reload && \ + sudo systemctl start nix-daemon.service && \ true; fi + # # macOS service restart + - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then sudo launchctl kickstart -k system/org.nixos.nix-daemon; fi + # update on Linux + - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then nix-channel --update && nix-env -iA nixpkgs.nix; fi + # update on macOS + # 2020-06-24: HACK: Do not ask why different commands on Linux and macOS. IDK, wished they we the same. These are the only commands that worked on according platforms right after the fresh Nix installer rollout. + - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then sudo nix upgrade-nix; fi script: # # # Install Cachix client using Nix: - - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then nix-env -iA cachix -f https://cachix.org/api/v1/install; fi - - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then sudo nix-env -iA cachix -f https://cachix.org/api/v1/install; fi + - if [ "${TRAVIS_OS_NAME}" = "linux" ] || [ "${TRAVIS_OS_NAME}" = "osx" ]; then nix-env -iA cachix -f https://cachix.org/api/v1/install; fi - cachix use "$project" # If key is set - use Cachix push, else - proceed without it - if [ ! "$CACHIX_SIGNING_KEY" = "" ]; then cachix push "$project" --watch-store& fi diff --git a/build.sh b/build.sh index 7fb107b..4047b7e 100755 --- a/build.sh +++ b/build.sh @@ -219,16 +219,11 @@ fi MAIN() { -# 2020-06-01: NOTE: Nix installer installs old Nix version that has bugs that prevented importing Nixpks repository channels, updating to latest Nix since it does not have that bug # NOTE: Overall it is useful to have in CI test builds the latest stable Nix -# NOTE: User-run update for Linux setup -nix upgrade-nix || true -# NOTE: Superuser update for macOS setup -sudo nix upgrade-nix || true +# NOTE: User-run Linux setup old update command, or superuser update for macOS setup +# 2020-06-24: HACK: Do not ask why different commands on Linux and macOS. IDK, wished they we the same. These are the only commands that worked on according platforms right after the fresh Nix installer rollout. +(nix-channel --update && nix-env -iA nixpkgs.nix) || (sudo nix upgrade-nix) -# NOTE: Make channels current -nix-channel --update || true -sudo nix-channel --update || true # NOTE: Secrets are not shared to PRs from forks