mirror of
https://github.com/roswell/roswell.git
synced 2026-09-10 07:16:17 -04:00
177 lines
5.2 KiB
YAML
177 lines
5.2 KiB
YAML
language: c
|
|
sudo: false
|
|
dist: xenial
|
|
env:
|
|
global:
|
|
- PATH=~/.roswell/bin:/home/linuxbrew/.linuxbrew/bin:$PATH
|
|
- ROSWELL_BRANCH=$TRAVIS_BRANCH
|
|
- ROSWELL_INSTALL_DIR=$HOME/.roswell
|
|
- ROSWELL_REPO=https://github.com/${TRAVIS_REPO_SLUG}
|
|
matrix:
|
|
- LISP=alisp
|
|
- LISP=cmu-bin/2019-06
|
|
- LISP=sbcl
|
|
- LISP=ecl
|
|
- LISP=mkcl
|
|
- LISP=clisp
|
|
- LISP=abcl
|
|
- LISP=ccl-bin
|
|
- LISP=sbcl/1.1.14
|
|
- LISP=ccl32
|
|
- LISP=sbcl/git
|
|
os:
|
|
- osx
|
|
- linux
|
|
|
|
jobs:
|
|
allow_failures:
|
|
- env: LISP=sbcl/git
|
|
- env: LISP=mkcl
|
|
- env: LISP=abcl
|
|
include:
|
|
- os: windows
|
|
env: LISP=sbcl-bin
|
|
install:
|
|
- export SETARCH="$mingw64"
|
|
- $SETARCH sh ./scripts/install-for-ci.sh
|
|
- os: linux
|
|
arch: arm64
|
|
env: LISP=sbcl-bin
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- libcurl4-openssl-dev
|
|
- sudo: required
|
|
name: "valgrind"
|
|
os: linux
|
|
install:
|
|
- sh bootstrap
|
|
- CFLAGS="-g -O0" ./configure --disable-dependency-tracking --disable-maintainer-mode
|
|
- make
|
|
- sudo make install
|
|
- make maintainer-clean
|
|
script:
|
|
- ros setup
|
|
- valgrind --leak-check=yes ros config
|
|
- ros config
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- valgrind
|
|
- os: linux
|
|
name: "update documents"
|
|
if: branch = master
|
|
install:
|
|
- find . \( -name \*.lisp -o -name \*.ros \) -type f|xargs wc -l -c
|
|
- find . \( -name \*.c -o -name \*.h \) -type f|xargs wc -l -c
|
|
- pandoc -v
|
|
script:
|
|
- rm documents/man/* documents/html/*
|
|
- sh bootstrap
|
|
- ./configure --enable-manual-generation --enable-html-generation
|
|
- make
|
|
- sudo make install
|
|
- ros config
|
|
after_success:
|
|
- git config user.email "auto@example.com"; git config user.name "Travis-CI";
|
|
- if [ "$TRAVIS_BRANCH" = "master" ]; then
|
|
git branch;git status;
|
|
git checkout $TRAVIS_BRANCH;git add -u;git add documents/man/* documents/html/*;
|
|
git commit -m "[ci skip] documents update";
|
|
git push --force --quiet "https://${GITHUB_OAUTH_TOKEN}:x-oauth-basic@github.com/roswell/roswell.git" $TRAVIS_BRANCH > /dev/null 2>&1;
|
|
fi
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- pandoc
|
|
- ruby-sass
|
|
- os: linux
|
|
name: "linuxbrew"
|
|
install:
|
|
- yes ""| sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
|
|
- brew update
|
|
- brew --env
|
|
- brew config
|
|
- brew doctor || true
|
|
- brew install curl
|
|
- brew install roswell --HEAD
|
|
script:
|
|
- ros version;
|
|
- ros version=t run;
|
|
- ros install prove;
|
|
- run-prove roswell-test.asd 2>&1;
|
|
- os: osx
|
|
name: "homebrew"
|
|
install:
|
|
- brew doctor || true
|
|
- brew install roswell --HEAD
|
|
script:
|
|
- ros version;
|
|
- ros version=t run;
|
|
- ros install prove;
|
|
- run-prove roswell-test.asd 2>&1;
|
|
|
|
#branches:
|
|
# except:
|
|
# - /^v[0-9]/
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- libc6-i386
|
|
# - gcc-multilib
|
|
|
|
before_install:
|
|
- date
|
|
- |-
|
|
case $TRAVIS_OS_NAME in
|
|
windows)
|
|
[[ ! -f C:/tools/msys64/msys2_shell.cmd ]] && rm -rf C:/tools/msys64
|
|
choco uninstall -y mingw
|
|
choco upgrade --no-progress -y msys2
|
|
RefreshEnv.cmd
|
|
export msys2='set MSYS=winsymlinks:nativestrict '
|
|
export msys2+='& C:\\tools\\msys64\\msys2_shell.cmd -defterm -no-start'
|
|
export mingw64="$msys2 -mingw64 -full-path -here -c "\"\$@"\" --"
|
|
export msys2+=" -msys2 -c "\"\$@"\" --"
|
|
$msys2 pacman --sync --noconfirm --needed autoconf automake make zlib-devel mingw-w64-x86_64-gcc mingw-w64-i686-gcc
|
|
taskkill //IM gpg-agent.exe //F # https://travis-ci.community/t/4967
|
|
export PATH=/C/tools/msys64/mingw64/bin:$PATH
|
|
export MAKE=mingw32-make # so that Autotools can find it
|
|
;;
|
|
osx)
|
|
brew update
|
|
brew --env
|
|
brew config
|
|
;;
|
|
esac
|
|
install:
|
|
- $SETARCH sh ./scripts/install-for-ci.sh
|
|
script:
|
|
- $SETARCH ros version
|
|
- $SETARCH ros version=t run
|
|
- $SETARCH ros install prove
|
|
- $SETARCH run-prove roswell-test.asd 2>&1
|
|
- $SETARCH ros -q run && [`ros -q run 2>&1` == ""]
|
|
- if [ "$LISP" = "sbcl-bin" ] && [ x$ALLOW_FAILURES != x ]; then
|
|
if [ $TRAVIS_OS_NAME = osx ]; then
|
|
sudo ros -e '(ignore-errors (with-open-file (o (format nil "/~A" (code-char 12354)) :direction :output)))';
|
|
fi;
|
|
if [ $ALLOW_FAILURES = YES ]; then
|
|
ros sbcl.patchless=t install sbcl;
|
|
else
|
|
ros install sbcl --sbcl-bin;
|
|
[`ros -e "(ros:ignore-shebang)" -e '(loop for x in (directory "src/lisp/*.ros") do (load x))' 2>&1` == ""];
|
|
fi;
|
|
make -C t/tree-shaker ;
|
|
fi
|
|
- $SETARCH ros config
|
|
before_cache:
|
|
- |-
|
|
case $TRAVIS_OS_NAME in
|
|
windows)
|
|
# https://unix.stackexchange.com/a/137322/107554
|
|
$msys2 pacman --sync --clean --noconfirm
|
|
;;
|
|
esac
|