IHaskell/.travis.yml

429 lines
16 KiB
YAML
Raw Normal View History

2017-10-22 10:03:13 +08:00
matrix:
allow_failures:
- language: nix
fast_finish: true
include:
- env: DISPLAY=true USE_STACK_YAML="stack-8.0.yaml" # GHC 8.0.2
2017-10-22 10:03:13 +08:00
language: python
2019-02-08 11:51:27 -05:00
dist: xenial
2017-10-22 10:03:13 +08:00
# 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
2017-10-22 10:03:13 +08:00
before_install:
# Download and unpack the stack executable
- export PATH=$HOME/.local/bin:$PATH
- mkdir -p ~/.local/bin
2019-10-02 13:45:04 -04:00
- 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'
2017-10-22 10:03:13 +08:00
# Upgrades to avoid later build problems
- pip install -U pip
- pip install -U setuptools
# Install from requirements.txt
- pip install -r requirements.txt
2017-10-22 10:03:13 +08:00
# 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
2017-10-22 10:03:13 +08:00
fi
2018-10-22 19:26:56 -04:00
- env: DISPLAY=true USE_STACK_YAML="stack-8.2.yaml" # GHC 8.2.2
2017-10-22 10:03:13 +08:00
language: python
2019-02-08 11:51:27 -05:00
dist: xenial
2017-10-22 10:03:13 +08:00
# 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.
2018-03-16 16:24:21 +08:00
# 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
2019-10-02 13:45:04 -04:00
- 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'
2018-03-16 16:24:21 +08:00
# 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
2018-03-16 16:24:21 +08:00
fi
- env: DISPLAY=true USE_STACK_YAML="stack-8.4.yaml" # GHC 8.4.3
2018-03-16 16:24:21 +08:00
language: python
2019-02-08 11:51:27 -05:00
dist: xenial
2018-03-16 16:24:21 +08:00
# 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.
2017-10-22 10:03:13 +08:00
# These caches are the same between resolvers, but this is fine,
# as Stack differentiates between its resolvers.
2018-11-23 15:42:24 -05:00
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
2019-10-02 13:45:04 -04:00
- 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'
2018-11-23 15:42:24 -05:00
# 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
2018-11-23 15:42:24 -05:00
fi
- env: DISPLAY=true USE_STACK_YAML="stack.yaml" # GHC 8.6.5
2018-11-23 15:42:24 -05:00
language: python
2019-02-08 11:51:27 -05:00
dist: xenial
2018-11-23 15:42:24 -05:00
# 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.
2017-10-22 10:03:13 +08:00
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:
2019-10-05 19:23:13 -04:00
- 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:
2017-10-22 10:03:13 +08:00
- libmagic-dev # magic
- libgmp-dev # ghc
- libblas-dev # hmatrix
- liblapack-dev # hmatrix
- libcairo2-dev # cairo
- libpango1.0-dev # pango
- libzmq3-dev # zmq
2017-10-22 10:03:13 +08:00
before_install:
# Download and unpack the stack executable
- export PATH=$HOME/.local/bin:$PATH
- mkdir -p ~/.local/bin
2019-10-02 13:45:04 -04:00
- 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'
2017-10-22 10:03:13 +08:00
# Upgrades to avoid later build problems
- pip install -U pip
- pip install -U setuptools
# Install from requirements.txt
- pip install -r requirements.txt
2017-10-22 10:03:13 +08:00
# 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
2017-10-22 10:03:13 +08:00
- 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
2017-10-22 10:03:13 +08:00
fi
- language: nix
nix: 2.3
2019-02-08 11:51:27 -05:00
dist: xenial
env: NIXPKGS_ALLOW_BROKEN=1
before_install:
2017-10-30 20:39:55 +08:00
- 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
2019-10-14 19:05:51 -04:00
- 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"
2017-11-02 20:29:44 +08:00
script:
2019-11-24 17:17:43 -05:00
- nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/tarball/nixos-19.09 -p cachix --run 'cachix push ihaskell --watch-store &'
2017-11-02 20:29:44 +08:00
- >
nix-build
2019-10-14 19:05:51 -04:00
-I nixpkgs=https://github.com/NixOS/nixpkgs-channels/tarball/nixos-19.09
release.nix
2019-10-14 19:05:51 -04:00
--argstr compiler "ghc865"
- test/acceptance.nbconvert.sh result/bin/ihaskell-nbconvert
2019-10-22 11:49:37 -04:00
- language: nix
nix: 2.3
2019-10-22 11:49:37 -04:00
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:
2019-11-24 17:17:43 -05:00
- nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/tarball/nixos-19.09 -p cachix --run 'cachix push ihaskell --watch-store &'
2019-10-22 11:49:37 -04:00
- >
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