summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 956eb5dd5df09ef342caaeb68cb06c89e94116fd (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
language: bash
services: docker

branches:
  only:
    - master

# preload images to avoid timeouts in tests
before_install:
  - docker pull mariadb:10.3
  - docker pull postgres:11-alpine

install:
  - git clone https://github.com/docker-library/official-images.git ~/official-images

before_script:
  - env | sort
  - wget -qO- 'https://github.com/tianon/pgp-happy-eyeballs/raw/master/hack-my-builds.sh' | bash
  - image="nextcloud:${VERSION}${VARIANT:+-$VARIANT}"
  - if [[ "$ARCH" == 'i386' ]]; then sed -i -e 's/FROM php/FROM i386\/php/g' "${VERSION}/${VARIANT}/Dockerfile"; fi

script:
  - |
    (
      set -Eeuo pipefail
      set -x
      travis_retry docker build -t "$image" "${VERSION}/${VARIANT}"
      travis_retry ~/official-images/test/run.sh "$image"
      .travis/test-example-dockerfiles.sh "$image"
    )

after_script:
  - docker images

jobs:
  # https://github.com/docker-library/php/issues/822
  allow_failures:
    - env: VERSION=16.0 VARIANT=apache ARCH=i386
    - env: VERSION=17.0 VARIANT=apache ARCH=i386
    - env: VERSION=18.0 VARIANT=apache ARCH=i386
    - env: VERSION=19.0 VARIANT=apache ARCH=i386
    - env: VERSION=16.0-rc VARIANT=apache ARCH=i386
    - env: VERSION=17.0-rc VARIANT=apache ARCH=i386
    - env: VERSION=18.0-rc VARIANT=apache ARCH=i386
    - env: VERSION=19.0-rc VARIANT=apache ARCH=i386
    - env: VERSION=17.0-beta VARIANT=apache ARCH=i386
    - env: VERSION=18.0-beta VARIANT=apache ARCH=i386
    - env: VERSION=19.0-beta VARIANT=apache ARCH=i386
  include:
    - &test-scripts
      stage: test scripts
      env: SCRIPT=update.sh
      services: []
      install: skip
      before_script: skip
      script:
        - hash_before=$(git write-tree)
        - travis_retry ./update.sh
        - bash -c "[[ $hash_before = $(git add -A && git write-tree) ]]"
      after_script: skip

    - <<: *test-scripts
      env: SCRIPT=generate-stackbrew-library.sh
      install:
        - wget -O "$HOME/bin/bashbrew" https://doi-janky.infosiftr.net/job/bashbrew/lastSuccessfulBuild/artifact/bin/bashbrew-amd64
        - chmod +x "$HOME/bin/bashbrew"
      script:
        - travis_retry ./generate-stackbrew-library.sh

    - stage: test images
      env: VERSION=19.0-beta VARIANT=fpm-alpine ARCH=amd64
    - env: VERSION=19.0-beta VARIANT=fpm-alpine ARCH=i386
    - env: VERSION=19.0-beta VARIANT=fpm ARCH=amd64
    - env: VERSION=19.0-beta VARIANT=fpm ARCH=i386
    - env: VERSION=19.0-beta VARIANT=apache ARCH=amd64
    - env: VERSION=19.0-beta VARIANT=apache ARCH=i386
    - env: VERSION=16.0 VARIANT=fpm-alpine ARCH=amd64
    - env: VERSION=16.0 VARIANT=fpm-alpine ARCH=i386
    - env: VERSION=16.0 VARIANT=fpm ARCH=amd64
    - env: VERSION=16.0 VARIANT=fpm ARCH=i386
    - env: VERSION=16.0 VARIANT=apache ARCH=amd64
    - env: VERSION=16.0 VARIANT=apache ARCH=i386
    - env: VERSION=17.0 VARIANT=fpm-alpine ARCH=amd64
    - env: VERSION=17.0 VARIANT=fpm-alpine ARCH=i386
    - env: VERSION=17.0 VARIANT=fpm ARCH=amd64
    - env: VERSION=17.0 VARIANT=fpm ARCH=i386
    - env: VERSION=17.0 VARIANT=apache ARCH=amd64
    - env: VERSION=17.0 VARIANT=apache ARCH=i386
    - env: VERSION=18.0 VARIANT=fpm-alpine ARCH=amd64
    - env: VERSION=18.0 VARIANT=fpm-alpine ARCH=i386
    - env: VERSION=18.0 VARIANT=fpm ARCH=amd64
    - env: VERSION=18.0 VARIANT=fpm ARCH=i386
    - env: VERSION=18.0 VARIANT=apache ARCH=amd64
    - env: VERSION=18.0 VARIANT=apache ARCH=i386