From acd99364e092ebfaacb2d46bdd520b797277de86 Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Sun, 15 Jan 2017 06:19:04 +0100 Subject: [PATCH] Update Travis. --- .appveyor.yml | 7 +- .github/travis_deploy.sh | 143 ++++++++++++++++++++ .github/travis_init.sh | 10 ++ .github/upx-automatic-builds@github.com.enc | 68 ++++++++++ .travis.yml | 3 + 5 files changed, 230 insertions(+), 1 deletion(-) create mode 100644 .github/travis_deploy.sh create mode 100644 .github/upx-automatic-builds@github.com.enc diff --git a/.appveyor.yml b/.appveyor.yml index 4a5e7ebb..392d3310 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -16,10 +16,14 @@ environment: - { C: msvc-14.0-x64, CL_VERSION: 19.00, VS_VERSION: 2015 } # - { C: gcc-4.9-m32, T: SKIP } # - { C: gcc-4.9-m64, T: SKIP } + UPX_AUTOMATIC_BUILDS_SSL_KEY: + secure: PZMpVeqnEYe39kK+Zu2/fnmZ6/HG6Lvls0hh9GMVU9vCWsr8xaU7kIbHBS01puUkb4bEWPILKYvSEDuhOhguDjd/P4QdXWipvV/F2GaVax0= + UPX_AUTOMATIC_BUILDS_SSL_IV: + secure: ZshjJ/78dbY60mVJjZJv9Si7rHY9VQb1tfQvFd4lqvY= init: - git config --global core.autocrlf input - - where bash & where cat & where cp & where curl & where file & where git & where gzip & where mkdir & where mv & where readlink & where rm & where rmdir & where sed & where sha256sum & where tar + - where bash & where cat & where cp & where curl & where date & where file & where git & where gzip & where mkdir & where mv & where openssl & where readlink & where rm & where rmdir & where sed & where sha256sum & where ssh & where ssh-add & where ssh-agent & where tar # - bash --version & git --version & sed --version & tar --version - git --version & bash --version # - dir "c:\Program Files\Git\usr\bin" @@ -96,5 +100,6 @@ test_script: # now run the UPX testsuite using bash - cd c:\projects\upx - bash ./.github/travis_testsuite_1.sh + - bash ./.github/travis_deploy.sh # vim:set ts=2 sw=2 et: diff --git a/.github/travis_deploy.sh b/.github/travis_deploy.sh new file mode 100644 index 00000000..5b043863 --- /dev/null +++ b/.github/travis_deploy.sh @@ -0,0 +1,143 @@ +#! /bin/bash +## vim:set ts=4 sw=4 et: +set -e; set -o pipefail + +# Support for Travis CI -- https://travis-ci.org/upx/upx/builds +# Copyright (C) Markus Franz Xaver Johannes Oberhumer + +if [[ $TRAVIS_OS_NAME == osx ]]; then +argv0=$0; argv0abs=$(greadlink -en -- "$0"); argv0dir=$(dirname "$argv0abs") +else +argv0=$0; argv0abs=$(readlink -en -- "$0"); argv0dir=$(dirname "$argv0abs") +fi +source "$argv0dir/travis_init.sh" || exit 1 + +set -x # debug + +if [[ $BM_X == rebuild-stubs ]]; then exit 0; fi +# save space +if [[ $BM_B =~ (^|\+)coverage($|\+) ]]; then exit 0; fi +if [[ $BM_B =~ (^|\+)debug($|\+) ]]; then exit 0; fi +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 + +if [[ -n $APPVEYOR_JOB_ID ]]; then + TRAVIS_BRANCH=$APPVEYOR_REPO_BRANCH + if [[ -n $APPVEYOR_PULL_REQUEST_NUMBER ]]; then exit 0; fi +else + if [[ "$TRAVIS_PULL_REQUEST" != "false" ]]; then exit 0; fi +fi +if [[ "$TRAVIS_BRANCH" != "devel" ]]; then + exit 0 +fi + +# get $rev and $branch +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}" +if [[ -n $APPVEYOR_JOB_ID ]]; then + branch="$branch-appveyor" +else + branch="$branch-travis" +fi +unset timestamp date + +# /*********************************************************************** +# // prepare directory $d +# ************************************************************************/ + +cd / && cd $upx_BUILDDIR || exit 1 + +mkdir deploy || exit 1 +cd deploy || exit 1 + +if [[ -n $BM_CROSS ]]; then + d=$BM_CROSS +else + cpu=unknown + case $BM_C in + clang*-m32 | gcc*-m32) cpu=i386;; + clang*-m64 | gcc*-m64) cpu=amd64;; + msvc*-x86) cpu=i386;; + msvc*-x64) cpu=amd64;; + esac + os=$TRAVIS_OS_NAME + if [[ $os == osx ]]; then + os=darwin + elif [[ $os == windows ]]; then + [[ $cpu == i386 ]] && os=win32 + [[ $cpu == amd64 ]] && os=win64 + fi + d=$cpu-$os +fi +d=$d-$BM_C-$BM_B + +mkdir $d || exit 1 +for exeext in .exe .out; do + f=$upx_BUILDDIR/upx$exeext + if [[ -f $f ]]; then + cp -p -i $f $d/upx-${rev:0:12}$exeext + sha256sum -b $d/upx-${rev:0:12}$exeext + fi +done + +# /*********************************************************************** +# // clone, add files & push +# ************************************************************************/ + +new_branch=0 +if ! git clone -b $branch --single-branch https://github.com/upx/upx-automatic-builds.git; then + git clone -b master --single-branch https://github.com/upx/upx-automatic-builds.git + new_branch=1 +fi +cd upx-automatic-builds || exit 1 +if [[ -n $APPVEYOR_JOB_ID ]]; then git config user.name "AppVeyor CI" +else git config user.name "Travis CI" +fi +git config user.email "none@none" +if [[ $new_branch == 1 ]]; then + git checkout --orphan $branch + git reset --hard +fi + +mv ../$d . +git add $d + +if git diff --cached --exit-code --quiet >/dev/null; then + # nothing to do + exit 0 +fi + +now=$(date '+%s') +##date=$(TZ=UTC0 date -d "@$now" '+%Y-%m-%d %H:%M:%S') +git commit --date="$now" -m "Automatic build $d" +git ls-files +#git log --pretty=fuller + +repo=$(git config remote.origin.url) +ssh_repo=${repo/https:\/\/github.com\//git@github.com:} +eval $(ssh-agent -s) +set +x # IMPORTANT +openssl aes-256-cbc -d -a -K "$UPX_AUTOMATIC_BUILDS_SSL_KEY" -iv "$UPX_AUTOMATIC_BUILDS_SSL_IV" -in "$upx_SRCDIR/.github/upx-automatic-builds@github.com.enc" -out .git/deploy.key +set -x +chmod 600 .git/deploy.key +ssh-add .git/deploy.key + +let i=0 || true +while [[ $i -lt 10 ]]; do + if [[ $new_branch == 1 ]]; then + if git push -u $ssh_repo $branch; then break; fi + else + if git push $ssh_repo $branch; then break; fi + fi + git fetch origin $branch + new_branch=0 + git rebase origin/$branch $branch + sleep $((RANDOM % 5 + 1)) + let i=i+1 +done + +exit 0 diff --git a/.github/travis_init.sh b/.github/travis_init.sh index c6914541..fe50ffe3 100644 --- a/.github/travis_init.sh +++ b/.github/travis_init.sh @@ -23,6 +23,9 @@ export UPX= # compatibility wrappers if [[ $TRAVIS_OS_NAME == osx ]]; then # use GNU coreutils ("brew install coreutils") +date() { + gdate "$@" +} readlink() { greadlink "$@" } @@ -31,6 +34,9 @@ sha256sum() { } fi if [[ -n $APPVEYOR_JOB_ID ]]; then +openssl() { + /usr/bin/openssl "$@" +} # for some reason this is needed for bash on AppVeyor sort() { /usr/bin/sort "$@" @@ -72,9 +78,11 @@ if [[ -n $BM_CROSS ]]; then [[ -z $upx_qemu ]] && upx_qemu="qemu-arm -L /usr/arm-linux-gnueabihf" x=arm-linux-gnueabihf; AR="$x-ar"; CC="$x-gcc"; CXX="$x-g++" ;; i[36]86-w64-mingw32-gcc | i[36]86-w64-mingw32-gcc-4.6) + upx_exeext=.exe [[ -z $upx_wine ]] && upx_wine="wine" x=i686-w64-mingw32; AR="$x-ar"; CC="$x-gcc -m32"; CXX="$x-g++ -m32" ;; x86_64-w64-mingw32-gcc | x86_64-w64-mingw32-gcc-4.6) + upx_exeext=.exe [[ -z $upx_wine ]] && upx_wine="wine" x=x86_64-w64-mingw32; AR="$x-ar"; CC="$x-gcc -m64"; CXX="$x-g++ -m64" ;; esac @@ -90,6 +98,7 @@ if [[ -n $BM_CROSS ]]; then [[ -z $upx_qemu ]] && upx_qemu="qemu-arm -L /usr/arm-linux-gnueabihf" x=arm-linux-gnueabihf; AR="$x-ar"; CC="$x-gcc-5"; CXX="$x-g++-5" ;; i[36]86-w64-mingw32-gcc-5) + upx_exeext=.exe [[ -z $upx_wine ]] && upx_wine="wine" x=i686-w64-mingw32; AR="$x-ar"; CC="$x-gcc -m32"; CXX="$x-g++ -m32" ;; mips-linux-gnu-gcc-5) @@ -111,6 +120,7 @@ if [[ -n $BM_CROSS ]]; then [[ -z $upx_qemu ]] && upx_qemu="qemu-s390x -L /usr/s390x-linux-gnu" x=s390x-linux-gnu; AR="$x-ar"; CC="$x-gcc-5"; CXX="$x-g++-5" ;; x86_64-w64-mingw32-gcc-5) + upx_exeext=.exe [[ -z $upx_wine ]] && upx_wine="wine" x=x86_64-w64-mingw32; AR="$x-ar"; CC="$x-gcc -m64"; CXX="$x-g++ -m64" ;; esac diff --git a/.github/upx-automatic-builds@github.com.enc b/.github/upx-automatic-builds@github.com.enc new file mode 100644 index 00000000..8925e210 --- /dev/null +++ b/.github/upx-automatic-builds@github.com.enc @@ -0,0 +1,68 @@ +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 +a2JmHnG1aVhYaE/2EsOc+YP89Oub+KeuCj2dHJj2dH3QDCjr2xZUbLO7mw1tsATH +dPjNEBvxet9UU/RXqhhkfkv1XGr/umWrkjKbFqDNl5Tav/00+I59rboW7C/cWRxN +CVbadLPJlPNRR8+54G+VkDZgqaQprPwYih5a7d2MEzrMtZbU0uCJc839dqMgsf++ +k4maampkcDLhxt8bBg43WoDgWxiQ+KVWyEBGmTOT2q4WYeLI9PZLseA9eNJbpt9J +oxtNNdqkU48YZWsq/3L1L0eXdGvv5TIMto4bH3SWuvQ2sepwMRxxwTg8qFrutk9K +OLOUbO1Z2ivh1g6+DAgs3RFmy9hPzzqPmJk8cL6F5tcd/VwGcow3UBJ1+Xn3SE5Y +UCHNrSfSrvDaA3N8jyvS/uPq0qRgp7LQRqrhh5cVPi67goDx/ku/fVbMbcrarO/e +Czv6CX7Id2QliOSMGGVId+ECXBvuIGAb2d4til+zTnfhBE2+uS5WQ7MjzH9PKZ7n +TDuV36mA1FDCX+WShPau7R0SGXSqKyeHJ8XSuFHbGwr1Zxwoq4GBYIcAxWjp9HA4 +dhBE2x5WSTbnqh1sClxfOeE8MHxi+EUonCcvfvm30NOcC4zw1dCDc6SKLoMJYrFz +EdR3Kt1SJ9M0Jl3dD/gCTKG5kObJzqmo9BladIpQt6c= diff --git a/.travis.yml b/.travis.yml index f3c9e5d6..4eac4e66 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,6 +19,8 @@ notifications: env: global: - CROSS= C= B= T= X= + - secure: "YXHLXK+CM5d8yELIUSSs+P0/CoefClO7/AUX1oBj5W75g+YzR5uS2doVsB8UH8S8/GdNxk4P9Jgn4EiEVnjfGgn2eAD9MVpDPIxyJs5vI+5G77asq3QNdSl6QFv3O9I/6yBoVCewgPFPqsMd7Yvs/Ea3LcQkqalVhrC8ybYtmfs6VL2w33gn2J3b3TCn/s21L0ijklM0xvP1GNMDtuUpTSish5wvGOHE/91rwtdUDbJR8u31QY7fTASDiNnL/7ihgEIZ5XxpDYXviX1GC+nemhX1fWpmVmuT8m30Ruodi0yJVGASw9i2SaKv/VX/fJ/w2vlCfspL5LMZKkVLlfpIo3mQGqmMHFxv7mNy+hRu50ptoWNSkWArcqifwveh2liHUpl4jTvWaVll5Tw5VUGJhAUdzCTnqLIbWFnKIgCedL3iRFi4+EbyWNxel8lFESMOTDZFfJG5yEiDJbgbLsUaT2GmrsOphwAG7zDcZzvYTdjg/lF4Wh0MUnQJ+0MhDpii8Ahjp49lAPdw8uRQyyY7d7ksYKXVIkbgl6dRCC5vZSPucJiFjq2BClqIoEmzZPvHveDbovzFkNhJX9tFLrHLcXbPPcegww1FGoQ3wBM6JwJ+TvSD6N4OdCmou05aDuuQeznHi3GxOScjGwxdMIU28fdJDCTDg2rOihm22kHVajo=" + - secure: "JpSv3+QRmHcfN/bmT3mVkqET44NCPhM/qpcUssCVXnd2GW0qWURoyPHzVMn/gbeAkUjR6djtN3OzJ+M181QmlmTmE26pZC9Q6r1buNDWdkIH1FcpMCa67BBAjmq+yDwulDtvCMv0lbz60v57lzHBOLczF3yMxBVTjXxt1RsrzDLHzzVaDR5lEe+sQUNeRL7Vaq8crimPNTr4ZhMe59eweTO/3AWovuSPf250k1flfv7I8audZgrVZdbVKvj5C3Sziy1AGXcu8mDfET9/Ya2XBCQHWODjiKlnhSxqthhP3gQuacaLjpS2FjvQlamd+I9x6BBoLSeNbiXD9vgCydDUKvmUrU+zQs64U1hHk9WZWVC19kG7lTtTdanGDIUlIUtFZgqE4AQpJaIUWkUmHGyHi61JMvduzX21eL5c5j9DoJteX42FPb1n3xK/JSnUkLMpbFdQuy5inhzefhDfeNzaYxt8nPwHnJqrF73SW4PLDKeRyzvg/P+zqcou8nXrHfA1z9/FlnYzf7Qc9meai9Q/JARX3Q1ZKu5uyG+RuBLe2POq0192w6pflTr1ZlLJsKNSc1147PviKfmpla1lg3/6uVzMp5tgwbve/hx9SDXiRueGttKw/ymsY662+8G24NRKo4fxNklWFHaB4owM84edDzXDckPXbPgue8/HQT8BFio=" matrix: - TRAVIS_EMPTY_JOB_WORKAROUND=true @@ -207,5 +209,6 @@ 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 + - cd $TRAVIS_BUILD_DIR && bash ./.github/travis_deploy.sh # vim:set ts=2 sw=2 et: