mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
296 lines
14 KiB
YAML
296 lines
14 KiB
YAML
# Support for GibLab CI -- https://gitlab.com/
|
|
# Copyright (C) Markus Franz Xaver Johannes Oberhumer
|
|
|
|
before_script:
|
|
- export TRAVIS_OS_NAME=linux
|
|
- unset CROSS C B T X
|
|
- uname -a; pwd; id; umask
|
|
- cat /etc/os-release || true
|
|
- |
|
|
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- ]]; then
|
|
dpkg --add-architecture i386
|
|
fi;
|
|
time apt-get -yq update
|
|
fi
|
|
-
|
|
if [[ $CI_BUILD_NAME =~ ^CentOS5- ]]; then
|
|
time rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm;
|
|
time yum install -y
|
|
coreutils curl diffutils grep gzip sed
|
|
bzip2 file findutils git openssh-clients openssl perl tar wget which xz
|
|
gcc gcc-c++ make valgrind
|
|
glibc-devel libstdc++-devel zlib-devel
|
|
glibc-devel.i386 libstdc++-devel.i386 zlib-devel.i386;
|
|
fi
|
|
-
|
|
if [[ $CI_BUILD_NAME =~ ^CentOS6- ]]; then
|
|
time yum install -y
|
|
coreutils curl diffutils grep gzip sed
|
|
bzip2 file findutils git openssh-clients openssl perl tar wget which xz
|
|
gcc gcc-c++ make valgrind
|
|
glibc-devel libstdc++-devel zlib-devel
|
|
glibc-devel.i686 libstdc++-devel.i686 zlib-devel.i686;
|
|
fi
|
|
-
|
|
if [[ $CI_BUILD_NAME =~ ^CentOS7- ]]; then
|
|
time yum install -y
|
|
coreutils curl diffutils grep gzip sed
|
|
bzip2 file findutils git openssh-clients openssl perl tar wget which xz
|
|
clang gcc gcc-c++ make valgrind
|
|
glibc-devel libasan libstdc++-devel zlib-devel
|
|
glibc-devel.i686 libasan.i686 libstdc++-devel.i686 zlib-devel.i686;
|
|
fi
|
|
-
|
|
if [[ $CI_BUILD_NAME =~ ^Fedora ]]; then
|
|
time dnf install -y --best --allowerasing
|
|
coreutils curl diffutils grep gzip sed
|
|
bzip2 file findutils git openssh-clients openssl perl tar wget which xz
|
|
clang gcc gcc-c++ lcov make valgrind
|
|
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
|
|
crossbuild-essential-arm64 crossbuild-essential-armel crossbuild-essential-armhf
|
|
crossbuild-essential-powerpc crossbuild-essential-ppc64el crossbuild-essential-s390x
|
|
binutils-mingw-w64-i686 g++-mingw-w64-i686
|
|
binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64
|
|
binutils-mips-linux-gnu g++-mips-linux-gnu
|
|
binutils-mipsel-linux-gnu g++-mipsel-linux-gnu
|
|
binutils-powerpc-linux-gnu g++-powerpc-linux-gnu
|
|
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
|
|
fi
|
|
- cd $CI_PROJECT_DIR; pwd
|
|
|
|
CentOS5-gcc-m32+m64: # gcc-4.1
|
|
image: centos:5
|
|
script:
|
|
# patch src/Makefile for gcc-4.1
|
|
- perl -i -p -e 's/ -Wmissing-declarations / /; s/ -Wvla / /;' src/Makefile
|
|
- time C=gcc-m32 bash ./.github/travis_build.sh
|
|
- time C=gcc-m64 bash ./.github/travis_build.sh
|
|
- time C=gcc-m32 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m64 bash ./.github/travis_testsuite_1.sh
|
|
tags: [ shared ]
|
|
except: [ tags ]
|
|
|
|
CentOS6-gcc-m32+m64: # gcc-4.4
|
|
image: centos:6
|
|
script:
|
|
- time C=gcc-m32 bash ./.github/travis_build.sh
|
|
- time C=gcc-m64 bash ./.github/travis_build.sh
|
|
- time C=gcc-m32 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m64 bash ./.github/travis_testsuite_1.sh
|
|
tags: [ shared ]
|
|
except: [ tags ]
|
|
|
|
CentOS7-clang+gcc-m32+m64: # clang-3.4, gcc-4.8
|
|
image: centos:7
|
|
script:
|
|
- time C=clang-m32 bash ./.github/travis_build.sh
|
|
- time C=gcc-m32 bash ./.github/travis_build.sh
|
|
- time C=clang-m64 bash ./.github/travis_build.sh
|
|
- time C=gcc-m64 bash ./.github/travis_build.sh
|
|
- time C=clang-m32 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m32 bash ./.github/travis_testsuite_1.sh
|
|
- time C=clang-m64 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m64 bash ./.github/travis_testsuite_1.sh
|
|
tags: [ shared ]
|
|
except: [ tags ]
|
|
|
|
Debian7-gcc-m64: # gcc-4.7
|
|
image: debian:7
|
|
script:
|
|
- time C=gcc-4.7-m64 bash ./.github/travis_build.sh
|
|
- time C=gcc-4.7-m64 bash ./.github/travis_testsuite_1.sh
|
|
tags: [ shared ]
|
|
except: [ tags ]
|
|
|
|
Debian8-gcc-m64: # gcc-4.9
|
|
image: debian:8
|
|
script:
|
|
- time C=gcc-4.9-m64 bash ./.github/travis_build.sh
|
|
- time C=gcc-4.9-m64 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-4.9-m64 bash ./.github/travis_deploy.sh
|
|
tags: [ shared ]
|
|
except: [ tags ]
|
|
|
|
Fedora23-clang+gcc-m32+m64: # clang-3.7, gcc-5
|
|
image: fedora:23
|
|
script:
|
|
- time X=rebuild-stubs bash ./.github/travis_build.sh
|
|
- time C=clang-m32 bash ./.github/travis_build.sh
|
|
- time C=gcc-m32 bash ./.github/travis_build.sh
|
|
- time C=clang-m64 bash ./.github/travis_build.sh
|
|
- time C=gcc-m64 bash ./.github/travis_build.sh
|
|
- time C=gcc-m64 B=sanitize bash ./.github/travis_build.sh
|
|
- time C=clang-m32 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m32 bash ./.github/travis_testsuite_1.sh
|
|
- time C=clang-m64 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m64 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m64 B=sanitize bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m64 T=valgrind bash ./.github/travis_testsuite_1.sh
|
|
tags: [ shared ]
|
|
except: [ tags ]
|
|
|
|
Fedora24-clang+gcc-m32+m64: # clang-3.8, gcc-6
|
|
image: fedora:24
|
|
script:
|
|
- time X=rebuild-stubs bash ./.github/travis_build.sh
|
|
- time C=clang-m32 bash ./.github/travis_build.sh
|
|
- time C=gcc-m32 bash ./.github/travis_build.sh
|
|
- time C=clang-m64 bash ./.github/travis_build.sh
|
|
- time C=gcc-m64 bash ./.github/travis_build.sh
|
|
- time C=gcc-m64 B=sanitize bash ./.github/travis_build.sh
|
|
- time C=clang-m32 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m32 bash ./.github/travis_testsuite_1.sh
|
|
- time C=clang-m64 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m64 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m64 B=sanitize bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m64 T=valgrind bash ./.github/travis_testsuite_1.sh
|
|
tags: [ shared ]
|
|
except: [ tags ]
|
|
|
|
Fedora25-clang+gcc-m32+m64: # clang-3.8, gcc-6
|
|
image: fedora:25
|
|
script:
|
|
- time X=rebuild-stubs bash ./.github/travis_build.sh
|
|
- time C=clang-m32 bash ./.github/travis_build.sh
|
|
- time C=gcc-m32 bash ./.github/travis_build.sh
|
|
- time C=clang-m64 bash ./.github/travis_build.sh
|
|
- time C=gcc-m64 bash ./.github/travis_build.sh
|
|
- time C=gcc-m64 B=sanitize bash ./.github/travis_build.sh
|
|
- time C=clang-m32 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m32 bash ./.github/travis_testsuite_1.sh
|
|
- time C=clang-m64 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m64 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m64 B=sanitize bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-m64 T=valgrind bash ./.github/travis_testsuite_1.sh
|
|
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:
|
|
- time C=gcc-4.6-m64 bash ./.github/travis_build.sh
|
|
- time C=gcc-4.6-m64 bash ./.github/travis_testsuite_1.sh
|
|
tags: [ shared ]
|
|
except: [ tags ]
|
|
|
|
Ubuntu1404-gcc-m64: # gcc-4.8
|
|
image: ubuntu:14.04
|
|
script:
|
|
- time C=gcc-4.8-m64 bash ./.github/travis_build.sh
|
|
- time C=gcc-4.8-m64 bash ./.github/travis_testsuite_1.sh
|
|
- time C=gcc-4.8-m64 bash ./.github/travis_deploy.sh
|
|
tags: [ shared ]
|
|
except: [ tags ]
|
|
|
|
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: # gcc-5
|
|
image: ubuntu:16.04
|
|
script:
|
|
- time CROSS=aarch64-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_build.sh
|
|
- time CROSS=arm-linux-gnueabi C=gcc-5 T=qemu bash ./.github/travis_build.sh
|
|
- time CROSS=arm-linux-gnueabihf C=gcc-5 T=qemu bash ./.github/travis_build.sh
|
|
- time CROSS=i686-w64-mingw32 C=gcc-5 T=wine bash ./.github/travis_build.sh
|
|
- time CROSS=mips-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_build.sh
|
|
- time CROSS=mipsel-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_build.sh
|
|
- time CROSS=powerpc-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_build.sh
|
|
- time CROSS=powerpc64-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_build.sh
|
|
- time CROSS=powerpc64le-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_build.sh
|
|
- time CROSS=s390x-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_build.sh
|
|
- time CROSS=x86_64-w64-mingw32 C=gcc-5 T=wine bash ./.github/travis_build.sh
|
|
- time CROSS=aarch64-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_testsuite_1.sh
|
|
- time CROSS=arm-linux-gnueabi C=gcc-5 T=qemu bash ./.github/travis_testsuite_1.sh
|
|
- time CROSS=arm-linux-gnueabihf C=gcc-5 T=qemu bash ./.github/travis_testsuite_1.sh
|
|
# - time CROSS=i686-w64-mingw32 C=gcc-5 T=wine bash ./.github/travis_testsuite_1.sh
|
|
# - time CROSS=mips-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_testsuite_1.sh
|
|
- time CROSS=mipsel-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_testsuite_1.sh
|
|
# - time CROSS=powerpc-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_testsuite_1.sh
|
|
# - time CROSS=powerpc64-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_testsuite_1.sh
|
|
# - time CROSS=powerpc64le-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_testsuite_1.sh
|
|
# - time CROSS=s390x-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_testsuite_1.sh
|
|
# - time CROSS=x86_64-w64-mingw32 C=gcc-5 T=wine bash ./.github/travis_testsuite_1.sh
|
|
- time CROSS=aarch64-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_deploy.sh
|
|
- time CROSS=arm-linux-gnueabi C=gcc-5 T=qemu bash ./.github/travis_deploy.sh
|
|
- time CROSS=arm-linux-gnueabihf C=gcc-5 T=qemu bash ./.github/travis_deploy.sh
|
|
- time CROSS=i686-w64-mingw32 C=gcc-5 T=wine bash ./.github/travis_deploy.sh
|
|
- time CROSS=mips-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_deploy.sh
|
|
- time CROSS=mipsel-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_deploy.sh
|
|
- time CROSS=powerpc-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_deploy.sh
|
|
- time CROSS=powerpc64-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_deploy.sh
|
|
- time CROSS=powerpc64le-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_deploy.sh
|
|
- time CROSS=s390x-linux-gnu C=gcc-5 T=qemu bash ./.github/travis_deploy.sh
|
|
- time CROSS=x86_64-w64-mingw32 C=gcc-5 T=wine bash ./.github/travis_deploy.sh
|
|
tags: [ shared ]
|
|
except: [ tags ]
|
|
|
|
# vim:set ts=2 sw=2 et:
|