summaryrefslogtreecommitdiff
path: root/Build/source/.travis.yml
blob: a80ec8f40434895cc5d78a4c6fcf418282faf3bb (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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# .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.1 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:
      - export LC_ALL=C
      - export LANG=C
      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 != ""