1
0
mirror of https://github.com/upx/upx synced 2025-09-28 19:06:07 +08:00

Update Travis.

This commit is contained in:
Markus F.X.J. Oberhumer 2017-01-28 22:39:59 +01:00
parent f502f41359
commit 81268e7064
5 changed files with 148 additions and 57 deletions

View File

@ -22,26 +22,35 @@ if [[ $BM_B =~ (^|\+)sanitize($|\+) ]]; then exit 0; fi
if [[ $BM_B =~ (^|\+)scan-build($|\+) ]]; then exit 0; fi
if [[ $BM_B =~ (^|\+)valgrind($|\+) ]]; then exit 0; fi
# prepare $subdir and $branch
subdir=
branch=
if [[ -n $APPVEYOR_JOB_ID ]]; then
TRAVIS_BRANCH=$APPVEYOR_REPO_BRANCH
branch=$APPVEYOR_REPO_BRANCH
if [[ -n $APPVEYOR_PULL_REQUEST_NUMBER ]]; then exit 0; fi
elif [[ -n $GITLAB_CI ]]; then
TRAVIS_BRANCH=$CI_BUILD_REF_NAME
subdir=$CI_BUILD_NAME
branch=$CI_BUILD_REF_NAME
else
branch=$TRAVIS_BRANCH
if [[ "$TRAVIS_PULL_REQUEST" != "false" ]]; then exit 0; fi
fi
if [[ "$TRAVIS_BRANCH" != "devel" ]]; then
exit 0
fi
subdir=${subdir%%:*}; subdir=${subdir%%/*}; subdir=${subdir%%-*}
case $branch in
devel*) ;;
master*) ;;
travis*) ;;
*) exit 0;;
esac
# get $rev, $branch and $git_user
cd / && cd $upx_SRCDIR || exit 1
rev=$(git rev-parse --verify HEAD)
timestamp=$(git log -n1 --format='%at' HEAD)
date=$(TZ=UTC0 date -d "@$timestamp" '+%Y%m%d-%H%M%S')
#branch="$TRAVIS_BRANCH-$date-${rev:0:6}"
# make the branch name a little bit shorter so that is shows up nicely on GitHub
branch="$TRAVIS_BRANCH-${date:0:8}-${rev:0:7}"
#branch="$branch-$date-${rev:0:6}"
# make the branch name a little bit shorter so that it looks nice on GitHub
branch="$branch-${date:0:8}-${rev:0:7}"
if [[ -n $APPVEYOR_JOB_ID ]]; then
branch="$branch-appveyor"
git_user="AppVeyor CI"
@ -69,8 +78,9 @@ if [[ -n $BM_CROSS ]]; then
else
cpu=unknown
case $BM_C in
clang*-m32 | gcc*-m32) cpu=i386;;
clang*-m64 | gcc*-m64) cpu=amd64;;
clang*-m32 | gcc*-m32) cpu=i386;;
clang*-m64 | gcc*-m64) cpu=amd64;;
clang*-mx32 | gcc*-mx32) cpu=amd64;;
msvc*-x86) cpu=i386;;
msvc*-x64) cpu=amd64;;
esac
@ -112,11 +122,17 @@ if [[ $new_branch == 1 ]]; then
git reset --hard
fi
mv ../$d .
git add $d
if [[ -n $subdir ]]; then
[[ -d $subdir ]] || mkdir $subdir
mv ../$d $subdir/
git add $subdir/$d
else
mv ../$d .
git add $d
fi
if git diff --cached --exit-code --quiet >/dev/null; then
# nothing to do
# nothing to do ???
exit 0
fi
@ -149,8 +165,8 @@ while true; do
else
if git push $ssh_repo $branch; then break; fi
fi
git fetch origin $branch
git rebase origin/$branch $branch
git fetch -v origin $branch
git rebase origin/$branch
sleep $((RANDOM % 5 + 1))
let i+=1
done

View File

@ -132,22 +132,23 @@ if [[ -z $BM_CROSS ]]; then
case $BM_C in
clang | clang-m?? | clang-3.4-m?? | clang-[678][0-9][0-9]-m??)
CC="clang"; CXX="clang++" ;; # standard system compiler
clang-[34].[0-9]-m??)
clang-[3].[0-9]-m??)
v=${BM_C:6:3}; CC="clang-$v"; CXX="clang++-$v"; SCAN_BUILD="scan-build-$v" ;;
gcc | gcc-m??)
gcc | gcc-m?? | gcc-mx32)
CC="gcc"; CXX="g++" ;; # standard system compiler
gcc-[34].[0-9]-m??)
gcc-[34].[0-9]-m?? | gcc-[34].[0-9]-mx32)
v=${BM_C:4:3}; CC="gcc-$v"; CXX="g++-$v" ;;
gcc-[56]-m?? | gcc-[56].[0-9]-m??)
gcc-[56]-m?? | gcc-[56]-mx32)
v=${BM_C:4:1}; CC="gcc-$v"; CXX="g++-$v" ;;
esac
fi
fi # generic
case $BM_C in
clang*-m32) CC="$CC -m32"; CXX="$CXX -m32" ;;
clang*-m64) CC="$CC -m64"; CXX="$CXX -m64" ;;
gcc*-m32) CC="$CC -m32"; CXX="$CXX -m32" ;;
gcc*-m64) CC="$CC -m64"; CXX="$CXX -m64" ;;
clang*-m32) CC="$CC -m32"; CXX="$CXX -m32" ;;
clang*-m64) CC="$CC -m64"; CXX="$CXX -m64" ;;
gcc*-m32) CC="$CC -m32"; CXX="$CXX -m32" ;;
gcc*-m64) CC="$CC -m64"; CXX="$CXX -m64" ;;
gcc*-mx32) CC="$CC -mx32"; CXX="$CXX -mx32" ;;
esac
if [[ $BM_C =~ (^|\-)(clang|gcc)($|\-) ]]; then
CC="$CC -std=gnu89"

View File

@ -31,7 +31,6 @@ mkbuilddirs $upx_testsuite_BUILDDIR
cd / && cd $upx_testsuite_BUILDDIR || exit 1
if [[ ! -d $upx_testsuite_SRCDIR/files/packed ]]; then exit 1; fi
# /***********************************************************************
# // support functions
# ************************************************************************/
@ -105,7 +104,6 @@ testsuite_run_compress() {
fi
}
# /***********************************************************************
# // expected checksums
# //
@ -230,7 +228,6 @@ b371684bbb2693797dd1164159de3bff9618bf6b99536542f57da07093dbb649 *m68k-atari.tos
"
########## end .sha256sums.recreate
# /***********************************************************************
# // init
# ************************************************************************/
@ -260,8 +257,8 @@ if [[ $BM_T =~ (^|\+)valgrind($|\+) ]]; then
upx_valgrind="valgrind"
fi
if [[ -z $upx_valgrind_flags ]]; then
upx_valgrind_flags="--leak-check=full --show-reachable=yes"
upx_valgrind_flags="-q --leak-check=no --error-exitcode=1"
#upx_valgrind_flags="--leak-check=full --show-reachable=yes"
#upx_valgrind_flags="-q --leak-check=no --error-exitcode=1"
upx_valgrind_flags="--leak-check=no --error-exitcode=1"
fi
upx_run="$upx_valgrind $upx_valgrind_flags $upx_exe"
@ -281,7 +278,6 @@ rm -rf ./testsuite_1
mkbuilddirs testsuite_1
cd testsuite_1 || exit 1
# /***********************************************************************
# // decompression tests
# ************************************************************************/
@ -315,7 +311,6 @@ for f in t010_decompressed/*/*; do
done
testsuite_check_sha $testdir
# /***********************************************************************
# // compression tests
# // info: we use fast compression levels because we want to
@ -350,7 +345,6 @@ testdir=t170_compress_all_methods_no_lzma_5_no_filter
mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected
time testsuite_run_compress --all-methods --no-lzma -5 --no-filter
# /***********************************************************************
# // summary
# ************************************************************************/
@ -359,13 +353,16 @@ time testsuite_run_compress --all-methods --no-lzma -5 --no-filter
recreate_expected_sha256sums .sha256sums.recreate
testsuite_header "UPX testsuite summary"
$upx_run --version || echo "UPX-ERROR: upx --version FAILED"
if ! $upx_run --version; then
echo "UPX-ERROR: upx --version FAILED"
exit 1
fi
echo
echo "upx_exe='$upx_exe'"
if [[ $upx_run != $upx_exe ]]; then
if [[ "$upx_run" != "$upx_exe" ]]; then
echo "upx_run='$upx_run'"
fi
if [[ -f $upx_exe ]]; then
if [[ -f "$upx_exe" ]]; then
ls -l "$upx_exe"
file "$upx_exe" || true
fi

View File

@ -6,18 +6,18 @@ before_script:
- unset CROSS C B T X
- uname -a; pwd; id; umask
- cat /etc/os-release || true
-
if [[ $CI_BUILD_NAME =~ ^(CentOS|Fedora) ]]; then
time rpm -qa | LC_ALL=C sort;
- |
if [[ $CI_BUILD_NAME =~ ^(CentOS|Fedora|OpenSUSE) ]]; then
time rpm -qa | LC_ALL=C sort
fi
-
- |
if [[ $CI_BUILD_NAME =~ ^(Debian|Ubuntu) ]]; then
export DEBIAN_FRONTEND=noninteractive;
time dpkg -l;
if [[ $CI_BUILD_NAME =~ ^Ubuntu1604-cross ]]; then
dpkg --add-architecture i386;
export DEBIAN_FRONTEND=noninteractive
time dpkg -l
if [[ $CI_BUILD_NAME =~ ^Ubuntu1604- ]]; then
dpkg --add-architecture i386
fi;
time apt-get -yq update;
time apt-get -yq update
fi
-
if [[ $CI_BUILD_NAME =~ ^CentOS5- ]]; then
@ -56,12 +56,29 @@ before_script:
glibc-devel libasan libstdc++-devel libubsan zlib-devel
glibc-devel.i686 libasan.i686 libstdc++-devel.i686 libubsan.i686 zlib-devel.i686;
fi
-
if [[ $CI_BUILD_NAME =~ ^OpenSUSE42.2- ]]; then
time zypper update -y;
time zypper install -y
coreutils curl diffutils grep gzip sed
bzip2 file findutils git openssh openssl perl tar wget which xz
llvm-clang gcc gcc-32bit gcc-c++ gcc-c++-32bit lcov make valgrind
glibc-devel libstdc++-devel libz1 zlib-devel
glibc-devel-32bit libstdc++-devel-32bit libz1-32bit zlib-devel-32bit;
fi
-
if [[ $CI_BUILD_NAME =~ ^(Debian|Ubuntu) ]]; then
time apt-get -yq --no-install-suggests --no-install-recommends --force-yes upgrade;
time apt-get -yq --no-install-suggests --no-install-recommends --force-yes install
build-essential ca-certificates curl file git openssh-client openssl wget xz-utils zlib1g-dev;
fi
-
if [[ $CI_BUILD_NAME =~ ^Ubuntu1604- ]]; then
time apt-get -yq --no-install-suggests --no-install-recommends --force-yes install
g++-multilib
libstdc++-5-dev:i386 zlib1g-dev:i386
libx32stdc++-5-dev libx32z1-dev;
fi
-
if [[ $CI_BUILD_NAME =~ ^Ubuntu1604-cross ]]; then
time apt-get -yq --no-install-suggests --no-install-recommends --force-yes install
@ -75,19 +92,20 @@ before_script:
binutils-powerpc64-linux-gnu g++-powerpc64-linux-gnu
qemu-user qemu-utils wine;
fi
- git --version && bash --version
- umask 022; mkdir -p ../deps ../build/gitlab
- time git submodule update --init --recursive
- cd ../deps && time wget -q -O - https://github.com/upx/upx/releases/download/v3.00/ucl-1.03.tar.xz | tar -x --use-compress-program=xz
- cd ../deps && time wget -q -O - https://github.com/upx/upx/releases/download/v3.00/zlib-1.2.8.tar.xz | tar -x --use-compress-program=xz
- cd ../deps && time git clone https://github.com/upx/upx-testsuite
-
- |
if [[ $CI_BUILD_NAME =~ ^Fedora ]]; then
time dnf install -y --best --allowerasing python;
cd ../deps && time wget -q -O - https://github.com/upx/upx-stubtools/releases/download/v20160918/bin-upx-20160918.tar.xz | tar -x --use-compress-program=xz;
time dnf install -y --best --allowerasing python
cd ../deps && time wget -q -O - https://github.com/upx/upx-stubtools/releases/download/v20160918/bin-upx-20160918.tar.xz | tar -x --use-compress-program=xz
fi
- cd $CI_PROJECT_DIR; pwd
CentOS5-gcc-m32+64: # gcc-4.1
CentOS5-gcc-m32+m64: # gcc-4.1
image: centos:5
script:
# patch src/Makefile for gcc-4.1
@ -99,7 +117,7 @@ CentOS5-gcc-m32+64: # gcc-4.1
tags: [ shared ]
except: [ tags ]
CentOS6-gcc-m32+64: # gcc-4.4
CentOS6-gcc-m32+m64: # gcc-4.4
image: centos:6
script:
- time C=gcc-m32 bash ./.github/travis_build.sh
@ -109,7 +127,7 @@ CentOS6-gcc-m32+64: # gcc-4.4
tags: [ shared ]
except: [ tags ]
CentOS7-clang+gcc-m32+64: # clang-3.4, gcc-4.8
CentOS7-clang+gcc-m32+m64: # clang-3.4, gcc-4.8
image: centos:7
script:
- time C=clang-m32 bash ./.github/travis_build.sh
@ -194,6 +212,18 @@ Fedora25-clang+gcc-m32+m64: # clang-3.8, gcc-6
tags: [ shared ]
except: [ tags ]
OpenSUSE42.2-clang+gcc-m32+m64: # clang-3.8, gcc-4.8
image: opensuse:42.2
script:
- time C=clang-m64 bash ./.github/travis_build.sh
- time C=gcc-4.8-m32 bash ./.github/travis_build.sh
- time C=gcc-4.8-m64 bash ./.github/travis_build.sh
- time C=clang-m64 bash ./.github/travis_testsuite_1.sh
- time C=gcc-4.8-m32 bash ./.github/travis_testsuite_1.sh
- time C=gcc-4.8-m64 bash ./.github/travis_testsuite_1.sh
tags: [ shared ]
except: [ tags ]
Ubuntu1204-gcc-m64: # gcc-4.6
image: ubuntu:12.04
script:
@ -211,16 +241,19 @@ Ubuntu1404-gcc-m64: # gcc-4.8
tags: [ shared ]
except: [ tags ]
Ubuntu1604-gcc-m64: # gcc-5
Ubuntu1604-gcc-m32+m64: # gcc-5
image: ubuntu:16.04
script:
- time C=gcc-5-m32 bash ./.github/travis_build.sh
- time C=gcc-5-m64 bash ./.github/travis_build.sh
- time C=gcc-5-m32 bash ./.github/travis_testsuite_1.sh
- time C=gcc-5-m64 bash ./.github/travis_testsuite_1.sh
- time C=gcc-5-m32 bash ./.github/travis_deploy.sh
- time C=gcc-5-m64 bash ./.github/travis_deploy.sh
tags: [ shared ]
except: [ tags ]
Ubuntu1604-cross:
Ubuntu1604-cross: # gcc-5
image: ubuntu:16.04
script:
- time CROSS=aarch64-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_build.sh

View File

@ -43,6 +43,14 @@ matrix:
compiler: gcc
env: C=gcc-4.4-m64
addons: { apt: { sources: *S, packages: [ "g++-4.4" ] } }
- os: linux
compiler: gcc
env: C=gcc-4.5-m32
addons: { apt: { sources: *S, packages: [ "g++-4.5-multilib", "zlib1g-dev:i386" ] } }
- os: linux
compiler: gcc
env: C=gcc-4.5-m64
addons: { apt: { sources: *S, packages: [ "g++-4.5" ] } }
- os: linux
compiler: gcc
env: C=gcc-4.6-m32
@ -50,6 +58,36 @@ matrix:
- os: linux
compiler: gcc
env: C=gcc-4.6-m64
- os: linux
compiler: gcc
env: C=gcc-4.7-m32
addons: { apt: { sources: *S, packages: [ "g++-4.7-multilib", "zlib1g-dev:i386" ] } }
- os: linux
compiler: gcc
env: C=gcc-4.7-m64
addons: { apt: { sources: *S, packages: [ "g++-4.7" ] } }
- os: linux
compiler: gcc
env: C=gcc-4.8-m32
addons: { apt: { sources: *S, packages: [ "g++-4.8-multilib", "zlib1g-dev:i386" ] } }
- os: linux
compiler: gcc
env: C=gcc-4.8-m64
addons: { apt: { sources: *S, packages: [ "g++-4.8" ] } }
# - os: linux
# sudo: required
# dist: trusty
# compiler: gcc
# env: C=gcc-4.8-mx32
# addons: { apt: { packages: [ "g++-multilib", "libx32stdc++-4.8-dev", "libx32z1-dev" ] } }
- os: linux
compiler: gcc
env: C=gcc-4.9-m32
addons: { apt: { sources: *S, packages: [ "g++-4.9-multilib", "zlib1g-dev:i386" ] } }
- os: linux
compiler: gcc
env: C=gcc-4.9-m64
addons: { apt: { sources: *S, packages: [ "g++-4.9" ] } }
- os: linux
compiler: gcc
env: C=gcc-5-m32
@ -185,11 +223,8 @@ matrix:
env: C=clang-800-m64
install:
- umask 022; cd $TRAVIS_BUILD_DIR && mkdir -p ../deps
- cd ../deps && travis_retry wget -q -O - https://github.com/upx/upx/releases/download/v3.00/ucl-1.03.tar.xz | tar -xJ
- cd ../deps && travis_retry wget -q -O - https://github.com/upx/upx/releases/download/v3.00/zlib-1.2.8.tar.xz | tar -xJ
- cd ../deps && travis_retry git clone https://github.com/upx/upx-testsuite
- if [[ $X =~ (^|\+)rebuild-stubs($|\+) ]]; then cd ../deps && travis_retry wget -q -O - https://github.com/upx/upx-stubtools/releases/download/v20160918/bin-upx-20160918.tar.xz | tar -xJ; fi
- uname -a; pwd; id; umask
- cat /etc/os-release || true
- |
cd /
if [[ $TRAVIS_OS_NAME == linux ]]; then
@ -204,11 +239,20 @@ install:
travis_retry pip install --user cpp-coveralls
fi
fi
- git --version && bash --version
- umask 022; cd $TRAVIS_BUILD_DIR && mkdir -p ../deps ../build/travis
- cd ../deps && travis_retry wget -q -O - https://github.com/upx/upx/releases/download/v3.00/ucl-1.03.tar.xz | tar -xJ
- cd ../deps && travis_retry wget -q -O - https://github.com/upx/upx/releases/download/v3.00/zlib-1.2.8.tar.xz | tar -xJ
- cd ../deps && travis_retry git clone https://github.com/upx/upx-testsuite
- |
if [[ $X =~ (^|\+)rebuild-stubs($|\+) ]]; then
cd ../deps && travis_retry wget -q -O - https://github.com/upx/upx-stubtools/releases/download/v20160918/bin-upx-20160918.tar.xz | tar -xJ
fi
script:
- cd $TRAVIS_BUILD_DIR && mkdir -p ../build/travis
- cd $TRAVIS_BUILD_DIR && bash ./.github/travis_build.sh
- cd $TRAVIS_BUILD_DIR && bash ./.github/travis_testsuite_1.sh
after_success:
- cd $TRAVIS_BUILD_DIR && bash ./.github/travis_deploy.sh
# vim:set ts=2 sw=2 et: