IHaskell/.travis.yml
2019-11-24 18:43:29 -05:00

429 lines
16 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

matrix:
allow_failures:
- language: nix
fast_finish: true
include:
- env: DISPLAY=true USE_STACK_YAML="stack-8.0.yaml" # GHC 8.0.2
language: python
dist: xenial
# Test against different stack LTS versions.
# Choose a lightweight base image; we provide our own build tools.
python: "3.6"
# Enable caching.
sudo: false
# Caching so the next build will be fast too.
# These caches are the same between resolvers, but this is fine,
# as Stack differentiates between its resolvers.
cache:
directories:
- $HOME/.ghc
- $HOME/.cabal
- $HOME/.stack
# Enable packages we need.
# Not all packages are available see before_install for from-source builds.
addons:
apt:
packages:
- libmagic-dev # magic
- libgmp-dev # ghc
- libblas-dev # hmatrix
- liblapack-dev # hmatrix
- libcairo2-dev # cairo
- libpango1.0-dev # pango
- libzmq3-dev # zmq
before_install:
# Download and unpack the stack executable
- export PATH=$HOME/.local/bin:$PATH
- mkdir -p ~/.local/bin
- curl -L https://github.com/commercialhaskell/stack/releases/download/v1.9.3/stack-1.9.3-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
# Upgrades to avoid later build problems
- pip install -U pip
- pip install -U setuptools
# Install from requirements.txt
- pip install -r requirements.txt
# This step takes the longest, and is what generates the Stack cache.
install:
- |
# Used to avoid 'source and destination file are the same' error
mv $USE_STACK_YAML intermediate-stack.yaml
mv intermediate-stack.yaml stack.yaml
echo "apply-ghc-options: everything" >> stack.yaml
- stack setup
- stack install gtk2hs-buildtools --fast
- stack build hmatrix --fast
- stack build --dependencies-only --fast
script:
- stack test --no-terminal --fast
- |
set -e
if $DISPLAY; then
TOP=$(pwd)
stack build --no-terminal --fast
# Ensure that ipython-kernel examples build successfully.
stack build ipython-kernel --flag ipython-kernel:examples --fast
# Ensure that IHaskell notebook remains unchanged.
# Run the notebook to regenerate the outputs, then compare the new notebook to the old one.
stack install --fast
stack exec -- ihaskell install --stack
test/acceptance.nbconvert.sh stack exec -- jupyter nbconvert
fi
- env: DISPLAY=true USE_STACK_YAML="stack-8.2.yaml" # GHC 8.2.2
language: python
dist: xenial
# Test against different stack LTS versions.
# Choose a lightweight base image; we provide our own build tools.
python: "3.6"
# Enable caching.
sudo: false
# Caching so the next build will be fast too.
# These caches are the same between resolvers, but this is fine,
# as Stack differentiates between its resolvers.
cache:
directories:
- $HOME/.ghc
- $HOME/.cabal
- $HOME/.stack
# Enable packages we need.
# Not all packages are available see before_install for from-source builds.
addons:
apt:
packages:
- libmagic-dev # magic
- libgmp-dev # ghc
- libblas-dev # hmatrix
- liblapack-dev # hmatrix
- libcairo2-dev # cairo
- libpango1.0-dev # pango
- libzmq3-dev # zmq
before_install:
# Download and unpack the stack executable
- export PATH=$HOME/.local/bin:$PATH
- mkdir -p ~/.local/bin
- curl -L https://github.com/commercialhaskell/stack/releases/download/v1.9.3/stack-1.9.3-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
# Upgrades to avoid later build problems
- pip install -U pip
- pip install -U setuptools
# Install from requirements.txt
- pip install -r requirements.txt
# This step takes the longest, and is what generates the Stack cache.
install:
- |
# Used to avoid 'source and destination file are the same' error
mv $USE_STACK_YAML intermediate-stack.yaml
mv intermediate-stack.yaml stack.yaml
echo "apply-ghc-options: everything" >> stack.yaml
- stack setup
- stack install gtk2hs-buildtools --fast
- stack build hmatrix --fast
- stack build --dependencies-only --fast
script:
- stack test --no-terminal --fast
- |
set -e
if $DISPLAY; then
TOP=$(pwd)
stack build --no-terminal --fast
# Ensure that ipython-kernel examples build successfully.
stack build ipython-kernel --flag ipython-kernel:examples --fast
# Ensure that IHaskell notebook remains unchanged.
# Run the notebook to regenerate the outputs, then compare the new notebook to the old one.
stack install --fast
stack exec -- ihaskell install --stack
test/acceptance.nbconvert.sh stack exec -- jupyter nbconvert
fi
- env: DISPLAY=true USE_STACK_YAML="stack-8.4.yaml" # GHC 8.4.3
language: python
dist: xenial
# Test against different stack LTS versions.
# Choose a lightweight base image; we provide our own build tools.
python: "3.6"
# Enable caching.
sudo: false
# Caching so the next build will be fast too.
# These caches are the same between resolvers, but this is fine,
# as Stack differentiates between its resolvers.
cache:
directories:
- $HOME/.ghc
- $HOME/.cabal
- $HOME/.stack
# Enable packages we need.
# Not all packages are available see before_install for from-source builds.
addons:
apt:
packages:
- libmagic-dev # magic
- libgmp-dev # ghc
- libblas-dev # hmatrix
- liblapack-dev # hmatrix
- libcairo2-dev # cairo
- libpango1.0-dev # pango
- libzmq3-dev # zmq
before_install:
# Download and unpack the stack executable
- export PATH=$HOME/.local/bin:$PATH
- mkdir -p ~/.local/bin
- curl -L https://github.com/commercialhaskell/stack/releases/download/v1.9.3/stack-1.9.3-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
# Upgrades to avoid later build problems
- pip install -U pip
- pip install -U setuptools
# Install from requirements.txt
- pip install -r requirements.txt
# This step takes the longest, and is what generates the Stack cache.
install:
- |
# Used to avoid 'source and destination file are the same' error
mv $USE_STACK_YAML intermediate-stack.yaml
mv intermediate-stack.yaml stack.yaml
echo "apply-ghc-options: everything" >> stack.yaml
- stack setup
# - stack install gtk2hs-buildtools --fast
- stack build hmatrix --fast
- stack build --dependencies-only --fast
script:
- stack test --no-terminal --fast
- |
set -e
if $DISPLAY; then
TOP=$(pwd)
stack build --no-terminal --fast
# Ensure that ipython-kernel examples build successfully.
stack build ipython-kernel --flag ipython-kernel:examples --fast
# Ensure that IHaskell notebook remains unchanged.
# Run the notebook to regenerate the outputs, then compare the new notebook to the old one.
stack install --fast
stack exec -- ihaskell install --stack
test/acceptance.nbconvert.sh stack exec -- jupyter nbconvert
fi
- env: DISPLAY=true USE_STACK_YAML="stack.yaml" # GHC 8.6.5
language: python
dist: xenial
# Test against different stack LTS versions.
# Choose a lightweight base image; we provide our own build tools.
python: "3.6"
# Enable caching.
sudo: false
# Caching so the next build will be fast too.
# These caches are the same between resolvers, but this is fine,
# as Stack differentiates between its resolvers.
cache:
directories:
- $HOME/.ghc
- $HOME/.cabal
- $HOME/.stack
# Enable packages we need.
# Not all packages are available see before_install for from-source builds.
addons:
apt:
packages:
- libmagic-dev # magic
- libgmp-dev # ghc
- libblas-dev # hmatrix
- liblapack-dev # hmatrix
- libcairo2-dev # cairo
- libpango1.0-dev # pango
- libzmq3-dev # zmq
before_install:
# Download and unpack the stack executable
- export PATH=$HOME/.local/bin:$PATH
- mkdir -p ~/.local/bin
- curl -L https://github.com/commercialhaskell/stack/releases/download/v1.9.3/stack-1.9.3-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
# Upgrades to avoid later build problems
- pip install -U pip
- pip install -U setuptools
# Install from requirements.txt
- pip install -r requirements.txt
# This step takes the longest, and is what generates the Stack cache.
install:
- |
# Used to avoid 'source and destination file are the same' error
mv $USE_STACK_YAML intermediate-stack.yaml
mv intermediate-stack.yaml stack.yaml
echo "apply-ghc-options: everything" >> stack.yaml
- stack setup
# - stack install gtk2hs-buildtools --fast
- stack build hmatrix --fast
- stack build --dependencies-only --fast
script:
- stack test --no-terminal --fast
- |
set -e
if $DISPLAY; then
TOP=$(pwd)
stack build --no-terminal --fast
# Ensure that ipython-kernel examples build successfully.
stack build ipython-kernel --flag ipython-kernel:examples --fast
# Ensure that IHaskell notebook remains unchanged.
# Run the notebook to regenerate the outputs, then compare the new notebook to the old one.
stack install --fast
stack exec -- ihaskell install --stack
test/acceptance.nbconvert.sh stack exec -- jupyter nbconvert
fi
- env: DISPLAY=true USE_STACK_YAML="stack-8.8.yaml" # GHC 8.8.1
language: python
dist: xenial
# Test against different stack LTS versions.
# Choose a lightweight base image; we provide our own build tools.
python: "3.6"
# Enable caching.
sudo: false
# Caching so the next build will be fast too.
# These caches are the same between resolvers, but this is fine,
# as Stack differentiates between its resolvers.
cache:
directories:
- $HOME/.ghc
- $HOME/.cabal
- $HOME/.stack
# Enable packages we need.
# Not all packages are available see before_install for from-source builds.
addons:
apt:
packages:
- libmagic-dev # magic
- libgmp-dev # ghc
- libblas-dev # hmatrix
- liblapack-dev # hmatrix
- libcairo2-dev # cairo
- libpango1.0-dev # pango
- libzmq3-dev # zmq
before_install:
# Download and unpack the stack executable
- export PATH=$HOME/.local/bin:$PATH
- mkdir -p ~/.local/bin
- curl -L https://github.com/commercialhaskell/stack/releases/download/v1.9.3/stack-1.9.3-linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
# Upgrades to avoid later build problems
- pip install -U pip
- pip install -U setuptools
# Install from requirements.txt
- pip install -r requirements.txt
# This step takes the longest, and is what generates the Stack cache.
install:
- |
# Used to avoid 'source and destination file are the same' error
mv $USE_STACK_YAML intermediate-stack.yaml
mv intermediate-stack.yaml stack.yaml
echo "apply-ghc-options: everything" >> stack.yaml
- stack setup
# - stack install gtk2hs-buildtools --fast
- stack build hmatrix --fast
- stack build --dependencies-only --fast
script:
- stack test --no-terminal --fast
- |
set -e
if $DISPLAY; then
TOP=$(pwd)
stack build --no-terminal --fast
# Ensure that ipython-kernel examples build successfully.
stack build ipython-kernel --flag ipython-kernel:examples --fast
# Ensure that IHaskell notebook remains unchanged.
# Run the notebook to regenerate the outputs, then compare the new notebook to the old one.
stack install --fast
stack exec -- ihaskell install --stack
test/acceptance.nbconvert.sh stack exec -- jupyter nbconvert
fi
- language: nix
nix: 2.3
dist: xenial
env: NIXPKGS_ALLOW_BROKEN=1
before_install:
- export NIX_CONF_DIR=~
- echo "binary-caches = https://cache.nixos.org https://ihaskell.cachix.org" >> $NIX_CONF_DIR/nix.conf
- echo "binary-cache-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ihaskell.cachix.org-1:WoIvex/Ft/++sjYW3ntqPUL3jDGXIKDpX60pC8d5VLM=" >> $NIX_CONF_DIR/nix.conf
- glibcLocales=$(nix-build https://github.com/NixOS/nixpkgs-channels/tarball/nixos-19.09 -A glibcLocales)
- echo $glibcLocales
- export LOCALE_ARCHIVE_2_27="${glibcLocales}/lib/locale/locale-archive"
script:
- nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/tarball/nixos-19.09 -p cachix --run 'cachix push ihaskell --watch-store &'
- >
nix-build
-I nixpkgs=https://github.com/NixOS/nixpkgs-channels/tarball/nixos-19.09
release.nix
--argstr compiler "ghc865"
- test/acceptance.nbconvert.sh result/bin/ihaskell-nbconvert
- language: nix
nix: 2.3
dist: xenial
env: NIXPKGS_ALLOW_BROKEN=1
before_install:
- export NIX_CONF_DIR=~
- echo "binary-caches = https://cache.nixos.org https://ihaskell.cachix.org" >> $NIX_CONF_DIR/nix.conf
- echo "binary-cache-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= ihaskell.cachix.org-1:WoIvex/Ft/++sjYW3ntqPUL3jDGXIKDpX60pC8d5VLM=" >> $NIX_CONF_DIR/nix.conf
- glibcLocales=$(nix-build https://github.com/NixOS/nixpkgs-channels/tarball/nixos-19.09 -A glibcLocales)
- echo $glibcLocales
- export LOCALE_ARCHIVE_2_27="${glibcLocales}/lib/locale/locale-archive"
script:
- nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/tarball/nixos-19.09 -p cachix --run 'cachix push ihaskell --watch-store &'
- >
nix-build
-I nixpkgs=https://github.com/NixOS/nixpkgs-channels/tarball/nixos-19.09
release.nix
--argstr compiler "ghc881"
- test/acceptance.nbconvert.sh result/bin/ihaskell-nbconvert