# .travis.yml for texlive-source CI building # Norbert Preining # Henri Menke # Public Domain # # This file controls CI testing on Travis-CI # https://travis-ci.org/TeX-Live/texlive-source/ # via a git-svn checkout of the TeX Live source directory # which is pushed to Github # https://github.com/TeX-Live/texlive-source # The cron job that does the git svn up and git push is # running on texlive.info. # To get binaries: # * go to https://github.com/TeX-Live/texlive-source/commits/master # and check that all commits you want are there (max waiting time 30min). # * go to https://github.com/TeX-Live/texlive-source/releases # and "Draft new release" (does git tag). # * wait 30min or so. # * go to https://github.com/TeX-Live/texlive-source/releases/latest/ # and there should be binaries for the new "release". # * use tl-update-bindir. language: c sudo: required before_script: - find . -name \*.info -exec touch '{}' \; - touch ./texk/detex/detex-src/detex.c - touch ./texk/detex/detex-src/detex.h - touch ./texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.c - touch ./texk/gregorio/gregorio-src/src/gabc/gabc-score-determination.h - touch ./texk/gregorio/gregorio-src/src/vowel/vowel-rules.h - touch ./texk/web2c/omegafonts/pl-lexer.c - touch ./texk/web2c/omegafonts/pl-parser.c - touch ./texk/web2c/omegafonts/pl-parser.h - touch ./texk/web2c/otps/otp-lexer.c - touch ./texk/web2c/otps/otp-parser.c - touch ./texk/web2c/otps/otp-parser.h - touch ./texk/web2c/web2c/web2c-lexer.c - touch ./texk/web2c/web2c/web2c-parser.c - touch ./texk/web2c/web2c/web2c-parser.h - touch ./utils/asymptote/camp.tab.cc - touch ./utils/asymptote/camp.tab.h - touch ./utils/lacheck/lacheck.c - touch ./utils/xindy/xindy-src/tex2xindy/tex2xindy.c env: global: - TL_MAKE_FLAGS="-j 2" # disable direct build, we don't need to build x86=64-linux two times # # - os: linux # addons: # apt: # packages: # - libfontconfig-dev # - libx11-dev # - libxmu-dev # - libxaw7-dev # script: ./Build -C matrix: include: - os: linux services: docker env: - tldir=x86_64-linux - package=texlive-bin-x86_64-linux.tar.gz script: | docker run \ -e TL_MAKE_FLAGS="${TL_MAKE_FLAGS}" \ -v ${TRAVIS_BUILD_DIR}:/texlive -w /texlive \ -it --rm debian:jessie sh -c \ "apt-get update; apt-get install -y --no-install-recommends bash gcc g++ make perl libfontconfig-dev libx11-dev libxmu-dev libxaw7-dev build-essential ; ./Build -C" - os: linux services: docker env: - tldir=i386-linux - package=texlive-bin-i386-linux.tar.gz script: | docker run \ -e TL_MAKE_FLAGS="${TL_MAKE_FLAGS}" \ -v ${TRAVIS_BUILD_DIR}:/texlive -w /texlive \ -it --rm i386/debian:jessie sh -c \ "apt-get update; apt-get install -y --no-install-recommends bash gcc g++ make perl libfontconfig-dev libx11-dev libxmu-dev libxaw7-dev build-essential ; ./Build -C" - os: linux services: docker env: - tldir=x86_64-linuxmusl - package=texlive-bin-x86_64-musl.tar.gz script: | docker run \ -e TL_MAKE_FLAGS="${TL_MAKE_FLAGS}" \ -v ${TRAVIS_BUILD_DIR}:/texlive -w /texlive \ -it --rm alpine:3.2 sh -c \ "apk update; apk add --no-progress bash gcc g++ make perl fontconfig-dev libx11-dev libxmu-dev libxaw-dev; ./Build -C" - os: osx osx_image: xcode7.3 env: - tldir=x86_64-darwin - package=texlive-bin-x86_64-darwin.tar.gz before_script: script: ./Build -C # somehow all binaries are always put into x86_64-pc-linux-gnu, probably because # this is the architecture travis-ci is running on. # Rename to the currently built architecture before_deploy: - if [ -n "$package" ]; then sudo mv inst/bin/* inst/bin/$tldir ; tar czvf ${package} -C inst/bin .; fi deploy: provider: releases api_key: $GH_TOKEN file: $package skip_cleanup: true on: tags: true condition: $package != ""