From 6fac01b7bff8e5c760151c0362f5420952f35953 Mon Sep 17 00:00:00 2001 From: gnzlbg Date: Tue, 27 Nov 2018 11:30:53 +0100 Subject: [PATCH 1/4] Verify that only non-technical breaking changes are applied to libc Closes #270 . --- .travis.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.travis.yml b/.travis.yml index b50cb44a20376..bab134aef34cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,13 @@ stages: matrix: include: # TOOLS + - name: "Semver" + env: TARGET=x86_64-unknown-linux-gnu + install: | + travis_retry cargo +nightly install \ + --git https://github.com/gnzlbg/rust-semverver \ + --branch fix_exit_code + script: cargo +nightly semver --api-guidelines --target="${TARGET}" - name: "Documentation" env: TARGET=x86_64-unknown-linux-gnu script: sh ci/dox.sh From 45c7930318818260a2f0f393c7270631b331346a Mon Sep 17 00:00:00 2001 From: gnzlbg Date: Tue, 26 Feb 2019 14:57:34 +0100 Subject: [PATCH 2/4] Test semver for all normal targets --- .travis.yml | 23 +++++++++++------ ci/semver.sh | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+), 7 deletions(-) create mode 100644 ci/semver.sh diff --git a/.travis.yml b/.travis.yml index bab134aef34cb..fae5c7b340280 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,13 +11,6 @@ stages: matrix: include: # TOOLS - - name: "Semver" - env: TARGET=x86_64-unknown-linux-gnu - install: | - travis_retry cargo +nightly install \ - --git https://github.com/gnzlbg/rust-semverver \ - --branch fix_exit_code - script: cargo +nightly semver --api-guidelines --target="${TARGET}" - name: "Documentation" env: TARGET=x86_64-unknown-linux-gnu script: sh ci/dox.sh @@ -41,6 +34,22 @@ matrix: # cargo fmt --all -- --check # fi stage: tools-and-build-and-tier1 + - name: "Semver" + install: | + travis_retry cargo +nightly install \ + --git https://github.com/gnzlbg/rust-semverver \ + --branch fix_exit_code + script: sh ci/semver.sh + stage: tools-and-build-and-tier1 + - name: "Semver" + install: | + travis_retry cargo +nightly install \ + --git https://github.com/gnzlbg/rust-semverver \ + --branch fix_exit_code + script: sh ci/semver.sh + os: osx + osx_image: xcode10 + stage: tools-and-build-and-tier1 # BUILD stable, beta, nightly - name: "Build Stable Rust" diff --git a/ci/semver.sh b/ci/semver.sh new file mode 100644 index 0000000000000..ac6be36f3f18e --- /dev/null +++ b/ci/semver.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env sh + +# Checks that libc does not contain breaking changes for the following targets. + +set -ex + +OS=${TRAVIS_OS_NAME} + +echo "Testing Semver on ${OS}" + +TARGETS= +case "${OS}" in + *linux*) + TARGETS="\ +aarch64-fuchsia \ +aarch64-linux-android \ +aarch64-unknown-linux-gnu \ +aarch64-unknown-linux-musl \ +armv7-linux-androideabi \ +armv7-unknown-linux-gnueabihf \ +i586-unknown-linux-gnu \ +i586-unknown-linux-musl \ +i686-linux-android \ +i686-unknown-freebsd \ +i686-unknown-linux-gnu \ +i686-unknown-linux-musl \ +i686-pc-windows-gnu \ +x86_64-unknown-freebsd \ +x86_64-unknown-linux-gnu \ +x86_64-unknown-linux-musl \ +x86_64-unknown-netbsd \ +x86_64-unknown-cloudabi \ +x86_64-sun-solaris \ +x86_64-fuchsia \ +x86_64-pc-windows-gnu \ +x86_64-unknown-linux-gnux32 \ +x86_64-unknown-redox \ +x86_64-fortanix-unknown-sgx \ +wasm32-unknown-unknown \ +" + ;; + *osx*) + TARGETS="\ +aarch64-apple-ios \ +armv7-apple-ios \ +armv7s-apple-ios \ +i386-apple-ios \ +i686-apple-darwin \ +x86_64-apple-darwin \ +x86_64-apple-ios \ +" + ;; +esac + +for TARGET in $TARGETS; do + # FIXME: rustup often fails to download some artifacts due to network + # issues, so we retry this N times. + N=5 + n=0 + until [ $n -ge $N ] + do + if rustup target add "${TARGET}" ; then + break + fi + n=$((n+1)) + sleep 1 + done + + cargo +nightly semver --api-guidelines --target="${TARGET}" +done From 7f163f5d5438976158a593b8eca071586a7377a8 Mon Sep 17 00:00:00 2001 From: gnzlbg Date: Tue, 26 Feb 2019 16:50:59 +0100 Subject: [PATCH 3/4] Allow the Semver jobs to fail --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index fae5c7b340280..493c6863d7506 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,14 +34,14 @@ matrix: # cargo fmt --all -- --check # fi stage: tools-and-build-and-tier1 - - name: "Semver" + - name: "Semver Linux" install: | travis_retry cargo +nightly install \ --git https://github.com/gnzlbg/rust-semverver \ --branch fix_exit_code script: sh ci/semver.sh stage: tools-and-build-and-tier1 - - name: "Semver" + - name: "Semver MacOSX" install: | travis_retry cargo +nightly install \ --git https://github.com/gnzlbg/rust-semverver \ @@ -218,6 +218,8 @@ matrix: # FIXME: https://github.com/rust-lang/libc/issues/1226 - env: TARGET=asmjs-unknown-emscripten - env: TARGET=wasm32-unknown-emscripten + - name: "Semver Linux" + - name: "Semver MacOSX" install: travis_retry rustup target add $TARGET From d6443f7abebf049f96bc23bfac56140d4625e2d1 Mon Sep 17 00:00:00 2001 From: gnzlbg Date: Fri, 1 Mar 2019 20:34:22 +0100 Subject: [PATCH 4/4] Use semverver upstream --- .travis.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 493c6863d7506..d56112a338029 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,17 +35,11 @@ matrix: # fi stage: tools-and-build-and-tier1 - name: "Semver Linux" - install: | - travis_retry cargo +nightly install \ - --git https://github.com/gnzlbg/rust-semverver \ - --branch fix_exit_code + install: travis_retry cargo +nightly install semverver script: sh ci/semver.sh stage: tools-and-build-and-tier1 - name: "Semver MacOSX" - install: | - travis_retry cargo +nightly install \ - --git https://github.com/gnzlbg/rust-semverver \ - --branch fix_exit_code + install: travis_retry cargo +nightly install semverver script: sh ci/semver.sh os: osx osx_image: xcode10