04e770ca36
M .travis.yml
70 lines
2.7 KiB
YAML
70 lines
2.7 KiB
YAML
# 2020-05-26: NOTE: Enabling experimental Travis feature of YAML check inside
|
|
# Look into: Build #NUM -> Job #NUM.N -> View config -> Build config validation
|
|
version: ~> 1.0
|
|
|
|
# NOTE: Please, be aware that Travis YAML & docs & API are hard to make work properly. Travis configuration requires a lot of retries and some compromises. Tere are many ways that may look like that can be done in that way, but it would not work most of the time, or not work the way that you expect, need it. Travis config works only the certain particular ways. Some things look possible - but they are impossible in Travis. Current configuration is "the best way possible" that was found in ~100-150-200 retries, depending on what concider a retry.
|
|
|
|
# NOTE: Let the official Travis YAML checker help you: https://config.travis-ci.com/explore
|
|
|
|
language: nix
|
|
|
|
sudo: required # 2020-05-26: NOTE: Despite deprecated, but siletly still RAM 4GB -> 7.5GB
|
|
|
|
git:
|
|
quiet: true # NOTE: Do not log
|
|
depth: 4 # NOTE: "The use of clone depth: 1 often results in a git error
|
|
# when a new commit has been pushed to a branch before the CI
|
|
# platform started cloning the intended commit."
|
|
|
|
# NOTE: {os} x {jobs} - {exclude} = {build matrix}
|
|
os:
|
|
- linux
|
|
- osx
|
|
|
|
# 2020-05-26: NOTE: Currently newest Travis dist Ubuntu 18.04 bionic
|
|
dist: bionic
|
|
|
|
# # 2020-05-26: NOTE: Currently newest macOS image
|
|
# osx_image: xcode11.4 # NOTE: Official Nix installer fails spectacularly on it.
|
|
|
|
env:
|
|
global:
|
|
# NOTE: This is secure CACHIX_SIGNING_KEY=val
|
|
- secure: "dm6I+M4+V+C7QMTpcSADdKPE633SvmToXZrTbZ7miNDGmMN+/SfHeN2ybi1+PW6oViMlbPN/7J/aEfiGjSJI8vLk72Y4uCWGmpSb8TXZLu6+whnxtZzzW8+z4tsM4048QJg7CF3N/25U8thRFgs3DqUub1Sf3nG9LrNWdz6ZcDQ="
|
|
# NOTE: Nix by default uses nixpkgs-unstable channel
|
|
# NOTE: Enable all our tests in cabal
|
|
- ALL_TESTS=yes
|
|
|
|
matrix:
|
|
- GHCVERSION=ghc865 STRICT=false TRACING=false
|
|
# - GHCVERSION=ghcjs
|
|
#
|
|
# matrix:
|
|
# allow_failures:
|
|
# - env: GHCVERSION=ghcjs
|
|
|
|
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
|
|
- sudo launchctl kickstart -k system/org.nixos.nix-daemon || true
|
|
|
|
script:
|
|
- nix-env -iA cachix -f https://github.com/NixOS/nixpkgs/tarball/db557aab7b690f5e0e3348459f2e4dc8fd0d9298
|
|
- cachix use hnix
|
|
- if [ ! "$CACHIX_SIGNING_KEY" = "" ]; then cachix push hnix --watch-store& fi
|
|
- if [ ! "$CACHIX_SIGNING_KEY" = "" ]; then ./build.sh | cachix push hnix; else ./build.sh; fi
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
- pending
|
|
|
|
notifications:
|
|
webhooks:
|
|
urls:
|
|
- https://webhooks.gitter.im/e/b0312b18473340459d3e
|
|
on_success: change
|
|
on_failure: always
|
|
on_start: never
|