diff --git a/.travis.yml b/.travis.yml index 1cf08d2..5fa3378 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,66 +8,69 @@ sudo: required # Use matrix to run tests on different environments matrix: include: + + ## BUILD ## - # # Exherbo Linux - # # Exherbo with GCC - # - name: "Exherbo Linux with GCC" - # os: linux - # cache: - # directories: - # - /var/db/paludis - # env: - # DOCKER="exherbo_ci:latest" - # VARIANT="exherbo" - # TOOL="compile" - # COMPILER_C="gcc" - # COMPILER_CXX="g++" - # # Exherbo with Clang - # - name: "Exherbo Linux with Clang" - # os: linux - # cache: - # directories: - # - /var/db/paludis - # env: - # DOCKER="exherbo_ci:latest" - # VARIANT="exherbo" - # TOOL="compile" - # COMPILER_C="clang" - # COMPILER_CXX="clang++" - # - # # Ubuntu Linux - # # Ubuntu 19.10 (Eoan Ermine) with GCC - # - name: "Ubuntu 19.10 (Eoan Ermine) with GCC" - # os: linux - # cache: - # directories: - # - /var/cache/apt/ - # dist: bionic - # group: travis_latest - # env: - # DOCKER="ubuntu:eoan" - # VARIANT="ubuntu-19.10" - # TOOL="compile" - # COMPILER_C="gcc" - # COMPILER_CXX="g++" - # REPOSITORY="https://github.com/RXT0112/Zernit.git" - # PACKAGES="git " - # # Ubuntu 19.10 (Eoan Ermine) with Clang - # - name: "Ubuntu 19.10 (Eoan Ermine) with Clang" - # os: linux - # cache: - # directories: - # - /var/cache/apt/ - # dist: bionic - # group: travis_latest - # env: - # DOCKER="ubuntu:eoan" - # VARIANT="ubuntu-19.10" - # TOOL="compile" - # COMPILER_C="clang" - # COMPILER_CXX="clang++" - # REPOSITORY="https://github.com/RXT0112/Zernit.git" - # PACKAGES="git" + # Exherbo Linux + # Exherbo with GCC + - name: "Exherbo Linux with GCC" + os: linux + cache: + directories: + - /var/db/paludis + env: + DOCKER="exherbo_ci:latest" + VARIANT="exherbo" + TOOL="build" + COMPILER_C="gcc" + COMPILER_CXX="g++" + # Exherbo with Clang + - name: "Exherbo Linux with Clang" + os: linux + cache: + directories: + - /var/db/paludis + env: + DOCKER="exherbo_ci:latest" + VARIANT="exherbo" + TOOL="build" + COMPILER_C="clang" + COMPILER_CXX="clang++" + + # Ubuntu Linux + # Ubuntu 19.10 (Eoan Ermine) with GCC + - name: "Ubuntu 19.10 (Eoan Ermine) with GCC" + os: linux + cache: + directories: + - /var/cache/apt/ + dist: bionic + group: travis_latest + env: + DOCKER="ubuntu:eoan" + VARIANT="ubuntu-19.10" + TOOL="build" + COMPILER_C="gcc" + COMPILER_CXX="g++" + REPOSITORY="https://github.com/RXT0112/Zernit.git" + PACKAGES="git " + # Ubuntu 19.10 (Eoan Ermine) with Clang + - name: "Ubuntu 19.10 (Eoan Ermine) with Clang" + os: linux + cache: + directories: + - /var/cache/apt/ + dist: bionic + group: travis_latest + env: + DOCKER="ubuntu:eoan" + VARIANT="ubuntu-19.10" + TOOL="build" + COMPILER_C="clang" + COMPILER_CXX="clang++" + REPOSITORY="https://github.com/RXT0112/Zernit.git" + PACKAGES="git" + # Debian Linux # Debian Testing - name: "Debian Testing with GCC" @@ -77,7 +80,7 @@ matrix: env: DOCKER="debian:testing" VARIANT="debian-testing" - TOOL="compile" + TOOL="build" COMPILER_C="gcc" COMPILER_CXX="g++" REPOSITORY="https://github.com/RXT0112/Zernit.git" @@ -89,42 +92,38 @@ matrix: env: DOCKER="debian:testing" VARIANT="debian-testing" - TOOL="compile" + TOOL="build" COMPILER_C="clang" COMPILER_CXX="clang++" REPOSITORY="https://github.com/RXT0112/Zernit.git" PACKAGES="rustc cargo git make pkg-config libssl-dev" - # # Debian Sid - # - name: "Debian Sid with GCC" - # os: linux - # dist: bionic - # group: travis_latest - # env: - # DOCKER="debian:sid" - # VARIANT="debian" - # TOOL="compile" - # COMPILER_C="gcc" - # COMPILER_CXX="g++" + # Debian Sid + - name: "Debian Sid with GCC" + os: linux + dist: bionic + group: travis_latest + env: + DOCKER="debian:sid" + VARIANT="debian" + TOOL="build" + COMPILER_C="gcc" + COMPILER_CXX="g++" + REPOSITORY="https://github.com/RXT0112/Zernit.git" + PACKAGES="rustc cargo git make pkg-config libssl-dev" - # - name: "Debian Sid with Clang" - # os: linux - # dist: bionic - # group: travis_latest - # env: - # DOCKER="debian:sid" - # VARIANT="debian" - # TOOL="compile" - # COMPILER_C="clang" - # COMPILER_CXX="clang++" - # # - name: "Debian Sid packaging with pbuilder" - # # os: linux - # # dist: bionic - # # group: travis_latest - # # env: - # # DOCKER="debian:sid" - # # VARIANT="debian" - # # TOOL="pbuilder" + - name: "Debian Sid with Clang" + os: linux + dist: bionic + group: travis_latest + env: + DOCKER="debian:sid" + VARIANT="debian" + TOOL="build" + COMPILER_C="clang" + COMPILER_CXX="clang++" + REPOSITORY="https://github.com/RXT0112/Zernit.git" + PACKAGES="rustc cargo git make pkg-config libssl-dev" # # FreeBSD # # FreeBSD 12.0-RELEASE @@ -135,7 +134,7 @@ matrix: # env: # QEMU="FreeBSD" # VARIANT="12.0-RELEASE" - # TOOL="compile" + # TOOL="build" # COMPILER_C="clang" # COMPILER_CXX="clang++" @@ -146,72 +145,71 @@ matrix: # env: # QEMU="FreeBSD" # VARIANT="12.0-RELEASE" - # TOOL="compile" + # TOOL="build" # COMPILER_C="gcc" # COMPILER_CXX="g++" - # # FIXME: MacOS needs refactor of C programs to be compatible (https://travis-ci.org/Kreyrock/Kreyrock/jobs/620509927?utm_medium=notification&utm_source=github_status) - # # MacOS X - # ## MacOS 10.14 - # - name: "MacOS 10.14, xcode11.2 with clang" - # os: osx - # cache: - # - /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula - # osx_image: xcode11.2 - # compiler: clang - # group: travis_latest + # FIXME: MacOS needs refactor of C programs to be compatible (https://travis-ci.org/Kreyrock/Kreyrock/jobs/620509927?utm_medium=notification&utm_source=github_status) + # MacOS X + ## MacOS 10.14 + - name: "MacOS 10.14, xcode11.2 with clang" + os: osx + cache: + - /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula + osx_image: xcode11.2 + compiler: clang + group: travis_latest - # - name: "MacOS 10.14, xcode11.2 with gcc" - # os: osx - # cache: - # - /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula - # osx_image: xcode11.2 - # compiler: gcc - # group: travis_latest + - name: "MacOS 10.14, xcode11.2 with gcc" + os: osx + cache: + - /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula + osx_image: xcode11.2 + compiler: gcc + group: travis_latest - # ## MacOS 10.14.4 - # - name: "MacOS 10.14.4, xcode10.3 with clang" - # os: osx - # cache: - # - /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula - # osx_image: xcode10.3 - # compiler: clang - # group: travis_latest + ## MacOS 10.14.4 + - name: "MacOS 10.14.4, xcode10.3 with clang" + os: osx + cache: + - /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula + osx_image: xcode10.3 + compiler: clang + group: travis_latest - # - name: "MacOS 10.14.4, xcode10.3 with gcc" - # os: osx - # cache: - # - /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula - # osx_image: xcode10.3 - # compiler: gcc - # group: travis_latest + - name: "MacOS 10.14.4, xcode10.3 with gcc" + os: osx + cache: + - /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula + osx_image: xcode10.3 + compiler: gcc + group: travis_latest - # ## MacOS 10.13 - # - name: "MacOS 10.13, xcode9.4 with clang" - # os: osx - # cache: - # - /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula - # osx_image: xcode9.4 - # compiler: clang - # group: travis_latest + ## MacOS 10.13 + - name: "MacOS 10.13, xcode9.4 with clang" + os: osx + cache: + - /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula + osx_image: xcode9.4 + compiler: clang + group: travis_latest - # - name: "MacOS 10.13, xcode9.4 with gcc" - # os: osx - # cache: - # - /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula - # osx_image: xcode9.4 - # compiler: gcc - # group: travis_latest + - name: "MacOS 10.13, xcode9.4 with gcc" + os: osx + cache: + - /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula + osx_image: xcode9.4 + compiler: gcc + group: travis_latest - # # Others - - # # Default linux - # - name: "Linux, default build" - # os: linux - # dist: bionic - # group: travis_latest - # env: - # TOOL="compile" + # Others + # Default linux + - name: "Linux, default check" + os: linux + dist: bionic + group: travis_latest + env: + TOOL="check" before-install: - QA/travis-ci/before-install.sh diff --git a/QA/travis-ci/build.sh b/QA/travis-ci/build.sh index 0d6837f..05eb678 100755 --- a/QA/travis-ci/build.sh +++ b/QA/travis-ci/build.sh @@ -8,6 +8,12 @@ # shellcheck source=QA/travis-ci/get-container.sh . "QA/travis-ci/get-container.sh" +# Skip build if not set up +case "$TOOL" in + *build*) true ;; + *) die 0 "Skipping build as instructed" +esac + # Linux as-is if [ "$TRAVIS_OS_NAME" = linux ] && [ -z "$DOCKER" ] && [ -z "$QEMU" ]; then make build-rustlang