summaryrefslogtreecommitdiff
path: root/Build/source/.travis.yml
blob: 957b951ef410a6c97b16fe42352536d288ffad2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# .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
#

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 -i -t 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 -i -t 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 -i -t alpine:3.1 sh -c "apk update; apk add --no-progress bash gcc g++ make perl fontconfig-dev libx11-dev libxmu-dev libxaw-dev; ./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 != ""