master Replace symlink with copy

GitHub Actions Marketplace does not seem to support symlinks yet

Nicolas De loof avatar Nicolas De loof

API event #1.1 failed

  • Ran for
AMD64
Ruby
Git
api
palxex/sdlpal:.travis.yml@2f09f42
language: c
os: linux

env:
  global:
    - CACHE=$HOME/.sdlpal-caches

cache:
  directories:
    - $CACHE

before_script:
  - mkdir deploy

jobs:
    fast_finish: true
    include:
      - os: linux
        env: TARGET=AppImage
        addons:
          apt:
            packages:
            - libsdl2-dev
            - libfltk1.3-dev
            - upx-ucl
        script:
          - cd unix
          - make CCFLAGS="-DAPPIMAGE=1"
          - ./appimage.sh
          - rm ../main.unix.*
          - make check
          - cd ..

      - os: linux
        env: TARGET=MinGW32 SDL2_VERSION=2.0.10
        addons:
          apt:
            packages:
            - binutils-mingw-w64-i686
            - gcc-mingw-w64-i686
            - g++-mingw-w64-i686
            - zip
            - upx-ucl
        before_install:
          - cd win32
          - |
            if ! [ -d $CACHE/SDL2-$SDL2_VERSION ]
            then
                export PUSHD="$(pwd)"
                cd ../3rd/SDL
                CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ \
                    bash ./configure --host=i686-w64-mingw32 --prefix=$CACHE/SDL2-$SDL2_VERSION \
                    --enable-static --disable-shared
                make install V=1 SHELL=/bin/bash
                cd "${PUSHD}"
            fi
          - ln -sf $CACHE/SDL2-$SDL2_VERSION
          - export PATH=$(pwd)/SDL2-$SDL2_VERSION/bin:$PATH
          - cat SDL2-$SDL2_VERSION/bin/sdl2-config
          - cd ..
        script:
          - cd win32
          - make HOST=i686-w64-mingw32-
          - i686-w64-mingw32-strip -s sdlpal.exe
          - upx --best --lzma sdlpal.exe
          - zip sdlpal-win32-mingw.zip sdlpal.exe
          - mv sdlpal-win32-mingw.zip ../deploy/
          - cd ..

      - os: linux
        env: TARGET=MinGW32-armv7 SDL2_VERSION=2.0.10-armv7
        addons:
          apt:
            packages:
            - zip
            - upx-ucl
            - make
            - lzma
            - openssl
            - mono-devel
        before_install:
          - cd win32
          - |
            if ! [ -f $CACHE/llvm-mingw-armv7/armv7-w64-mingw32/bin/libc++.dll ]
            then
                # download llvm-mingw for armv7 build
                export PUSHD="$(pwd)"
                mkdir $CACHE
                cd $CACHE
                wget -O llvm-mingw-armv7.tar.gz 'https://github.com/sdlpal/tools/releases/download/sensedown/llvm-mingw-armv7.tar.gz'
                tar xzvf llvm-mingw-armv7.tar.gz
                rm llvm-mingw-armv7.tar.gz
                cd "${PUSHD}"
            fi
          - |
            if ! [ -d $CACHE/SDL2-$SDL2_VERSION ]
            then
                export PUSHD="$(pwd)"
                cd ../3rd/SDL
                export PATH=${CACHE}/llvm-mingw-armv7/bin:$PATH
                CC=armv7-w64-mingw32-gcc CXX=armv7-w64-mingw32-g++ \
                    bash ./configure --host=armv7-w64-mingw32 --prefix=$CACHE/SDL2-$SDL2_VERSION \
                    --enable-static --disable-shared --disable-joystick --disable-haptic \
                    --disable-video-opengl --enable-render-d3d
                make install V=1 SHELL=/bin/bash
                cd "${PUSHD}"
            fi
          - ln -sf $CACHE/SDL2-$SDL2_VERSION
          - ln -sf $CACHE/llvm-mingw-armv7 llvm-mingw
          - export PATH=$(pwd)/SDL2-$SDL2_VERSION/bin:$(pwd)/llvm-mingw/bin:$PATH
          - cat SDL2-$SDL2_VERSION/bin/sdl2-config
          - cd ..
        script:
          - cd win32
          - make HOST=armv7-w64-mingw32- OPENGL_LIBS=
          - armv7-w64-mingw32-strip -s sdlpal.exe
          - "openssl pkcs12 -passin pass: -in ../winrt/SDLPal.UWP/SDLPal_TemporaryKey.pfx -nocerts -nodes -out key.pem"
          - "openssl rsa -passout pass:temporary -in key.pem -outform PVK -pvk-strong -out authenticode.pvk"
          - "openssl pkcs12 -passin pass: -in ../winrt/SDLPal.UWP/SDLPal_TemporaryKey.pfx -nokeys -nodes -out cert.pem"
          - "openssl crl2pkcs7 -nocrl -certfile cert.pem -outform DER -out authenticode.spc"
          - "echo temporary | signcode -spc authenticode.spc -v authenticode.pvk -a sha1 -$ commercial -n SDLPal -i http://sdlpal.github.io -t http://timestamp.verisign.com/scripts/timstamp.dll -tr 10 sdlpal.exe"
          - zip sdlpal-windows-armv7.zip sdlpal.exe
          - mv sdlpal-windows-armv7.zip ../deploy/
          - cd ..

      - os: linux
        env: TARGET=wii
        before_install:
          - export DEVKITPRO=$CACHE/devkitPro
          - export DEVKITPPC=${DEVKITPRO}/devkitPPC
          - export PATH=$DEVKITPPC/bin:$PATH
          - |
            if ! [ -f $DEVKITPRO/libogc/include/gctypes.h ]
            then
                rm -rfv $DEVKITPRO
            fi
          - |
            if ! [ -d $DEVKITPRO ]
            then
                export PUSHD="$(pwd)"
                mkdir -p $DEVKITPRO
                (
                    cd $DEVKITPRO &&
                    wget https://github.com/sdlpal/tools/releases/download/sensedown/devkitPPC_r27-x86_64-linux.tar.bz2 &&
                    wget https://github.com/sdlpal/tools/releases/download/sensedown/libogc-1.8.12.tar.bz2 &&
                    wget https://github.com/sdlpal/tools/releases/download/sensedown/libfat-ogc-1.0.13.tar.bz2 &&
                    wget https://github.com/dborth/sdl-wii/releases/download/2013-10-28/SDL.Wii.10-28-2013.zip
                )&&(
                    cd $DEVKITPRO
                    tar xvf devkitPPC_r27-x86_64-linux.tar.bz2
                    mkdir libogc
                    tar xvf libogc-1.8.12.tar.bz2 -C libogc
                    tar xvf libfat-ogc-1.0.13.tar.bz2 -C libogc
                    unzip SDL.Wii.10-28-2013.zip
                    rm -v *.zip *.bz2
                    echo "cache finished!"
                )||(
                    rm -rfv $DEVKITPRO
                    echo "download failed! clearing cache"
                )
            fi
        script:
          - cd wii
          - make
          - tar cvjf ../deploy/sdlpal-wii.tar.bz2 icon.png meta.xml boot.dol
          - make clean
          - cd ..

      - os: linux
        env: TARGET=3ds
        addons:
          apt:
            packages:
            - unzip
        before_install:
          - export PUSHD="$(pwd)"
          - mkdir -p $CACHE/
          - cd $CACHE/
          - wget https://github.com/devkitPro/pacman/releases/download/devkitpro-pacman-1.0.1/devkitpro-pacman.deb
          - sudo dpkg -i devkitpro-pacman.deb
          - sudo dkp-pacman -Syu
          - sudo dkp-pacman -S 3ds-dev --noconfirm
          - export DEVKITPRO=/opt/devkitpro
          - export DEVKITARM=/opt/devkitpro/devkitARM
          - sudo chown $(whoami):$(whoami) /opt/devkitpro
          - rm -rf SDL-1.2-N3DS
          - git clone https://github.com/zephray/SDL-1.2-N3DS.git
          - cd SDL-1.2-N3DS/SDL-1.2.15
          - make -f Makefile.n3ds install
          - wget https://github.com/profi200/Project_CTR/releases/download/0.15/makerom_015_ctrtool.zip
          - unzip makerom_015_ctrtool.zip
          - sudo mkdir -p /opt/ctrtool/bin
          - sudo cp Linux_x86_64/* /opt/ctrtool/bin/
          - sudo chmod +x /opt/ctrtool/bin/*
          - export PATH=/opt/ctrtool/bin:$PATH
          - cd "${PUSHD}"
        script:
          - cd 3ds
          - make
          - make cia
          - cp sdlpal.cia ../deploy/sdlpal-3ds.cia
          - cd ..

      - os: linux
        language: android
        env: TARGET=Android ANDROID_BUILD_TOOLS=28.0.3 NDK_VERSION=r16 TERM=dumb
        android:
          components:
          - tools
          - platform-tools
          - tools
          - build-tools-$ANDROID_BUILD_TOOLS
          - android-26
          licenses:
          - android-sdk-preview-license-.+
          - android-sdk-license-.+
          - google-gdk-license-.+
        cache:
          branch: md5deep
          directories:
            - $HOME/.gradle/caches/
            - $HOME/.gradle/wrapper/dists/
        before_install:
          - export PUSHD="$(pwd)"
          - mkdir -p $CACHE/
          - cd $CACHE/
          # After measuring, caching android NDK is more slow than direct download
          - wget http://dl.google.com/android/repository/android-ndk-$NDK_VERSION-linux-x86_64.zip -O ndk.zip
          - unzip ndk.zip > /dev/null
          - export ANDROID_NDK_HOME=`pwd`/android-ndk-$NDK_VERSION
          - cd "${PUSHD}"
        script:
          - cd android
          - sed -i.bak s/"android:versionCode.*"/"android:versionCode=\"`date +%Y%m%d`\""/g ./app/src/main/AndroidManifest.xml
          - ./gradlew assembleRelease
          - cd ..
          - jarsigner -storetype pkcs12 -keystore winrt/SDLPal.UWP/SDLPal_TemporaryKey.pfx -sigalg SHA1withRSA -digestalg SHA1 -signedjar deploy/sdlpal-release.apk -storepass "" android/app/build/outputs/apk/release/app-release-unsigned.apk 1

      - os: osx
        osx_image: xcode11
        env: TARGET=iOS
        cache: cocoapods
        podfile: ios/SDLPal/Podfile
        script:
          - cd ios/SDLPal
          - pod install
          - xcodebuild -workspace SDLPal.xcworkspace -scheme SDLPal ONLY_ACTIVE_ARCH=NO CODE_SIGNING_ALLOWED=NO -configuration Release CONFIGURATION_BUILD_DIR=/tmp/sdlpal-build
          - mkdir -p Payload
          - mv /tmp/sdlpal-build/SDLPal.app Payload
          - zip ../../deploy/sdlpal-impactor.ipa -r Payload
          - cd ../..

      - os: osx
        osx_image: xcode11
        env: TARGET=macOS
        language: objective-c
        script:
          - cd macos
          - xcodebuild -project Pal.xcodeproj -configuration Release
          - hdiutil create -srcfolder build/Release/Pal.app -volname "SDLPal" ../deploy/sdlpal-macos.dmg
          - #xcodebuild test -scheme PalTests #disabled since always fail in travis-ci
          - cd ..

      - os: osx
        osx_image: xcode9.2
        env: TARGET=macOS SDL=1.2.15
        before_install:
          - |
            if ! [ -d /Library/Frameworks/SDL.framework ]
            then
              export PUSHD="$(pwd)"
              mkdir -p "${CACHE}"
              cd "${CACHE}"
              if ! [ -f SDL-$SDL.dmg ]
              then
                curl -O -L https://www.libsdl.org/release/SDL-$SDL.dmg
              fi
              hdiutil attach SDL-$SDL.dmg
              sudo cp -a /Volumes/SDL/SDL.framework /Library/Frameworks/
              hdiutil detach /Volumes/SDL
              rm *.dmg
              cd "${PUSHD}"
            fi
        script:
          - cd macos
          - xcodebuild -project Pal_SDL12.xcodeproj -configuration Release
          - hdiutil create -srcfolder build/Release/Pal.app -volname "SDLPal-SDL1" ../deploy/sdlpal-sdl1-macos.dmg
          - cd ..

      - os: linux
        language: node_js
        env: TARGET=Emscripten TAG=1.39.4-upstream
        services:
          - docker
        before_install:
          - docker run -dit --name emscripten -v $(pwd):/src trzeci/emscripten:$TAG bash
        script:
          - mkdir -p emscripten/data
          - touch emscripten/data/placeholder
          - docker exec -it emscripten emmake make -C emscripten

before_deploy:
  - sed=sed; date=date
  - |
    if [[ "$TRAVIS_OS_NAME" == "osx" ]]
    then
        brew update
        brew install gnu-sed
        sed=gsed
        date=gdate
    fi
  - DATE=$($date -d $(git show -s --format=%cI) "+%F")
  - COMMIT=$(git rev-parse --short HEAD)
  - set -f
  - |
    $sed -i "
    s/@VERSION@/v$DATE-g$COMMIT/g
    s/@DESC@/$(echo -n $TRAVIS_COMMIT_MESSAGE|tr '\r' '\\r'|tr '\n' '\\n'|sed -e 's@[\\"]@\\&@g;s@[/&\$]@\\&@g')/g
    s/@RELEASE_DATE@/$(git show -s --format=%cI)/g
    s/@VCS_TAG@/$(git describe --tags)/g
    s/@AUTHOR@/$(git show -s --format=%an)/g
    s/@AUTHOR_DATE@/$(git show -s --format=%ai)/g
    s/@CIMMITER@/$(git show -s --format=%cn)/g
    s/@BRANCH@/$TRAVIS_BRANCH/g
    s/@COMMITID@/$(git show -s --format=%h)/g
    " bintray.json
  - set +f

deploy:
  - provider: releases
    token:
      secure: FFV8UBcz6GkeSoGRbrL9tnTpVqXoFjFK2QtW0Ml8YvvqaHhxOaIWs2nAabOGsW1mJop/QlpuUNw1TfLl7TokcUDgOHrFRdC8hVY7K1uSWMnt7m4ZRPatVybIkzgrnItHlnMrL4uJK2xXb6Jc5+cSrU5jRMcmTZjaOKLTBwF97+6AgqpdmKUCVYZJzQYg0Jn9GfaL1EOGl7ISt/VEgi/tKFzJvJVxJBU3NuKyxXlfEwkTiSOFuGoD5qWDjCE+aGxTR6RQefsADPIDfeU3TJHTJE/ORGy9gl+Y41JgU0Bfgipcqg1RSwNclclmxgi8lo/XNUiZAMTyQrXjByBWcvYovk+H4h9mbvJlrVSjI8Wxb5ICcYkhDVkNxtEXX7AsIk4yHiNTi1MAW0qJJKinaFxLmK2U3LGEK3DudXl/0eVRoQATmRcXLdBQezISt2CWpTktCxlQmtz/GsoHv0PcWdkJYL4qbbRrBRFj9++VjlnCI124YZnbVjC3+jtWN1Zluxynj0GDBY3r7EdLWWKZo5XnygPOZ8+uaTMYfqmTvQWPc5GRRRdVJowQFQhb48hzKyWYqsf8eyS3VuZ9b/DwES3dutOaX7sIL9Vkg3DlQYOEz938MB4VbTGizUUrBbrIP4Kz/+WOZ9pxM9X+qsgMYkw8FvHqn2TvCWxPDCgqq3zUWig=
    file_glob: true
    file: deploy/*
    cleanup: false
    overwrite: true
    on:
      all_branches: true
      tags: true
  - provider: bintray
    user: palxex
    key:
      secure: NQl1hNntoXlHyj7uAMiHr3OsMwrEgAeYIIopUSY6Ete9ODVFSTzSqm2lb/Nwq+4ZV5UCYVpDdpBlhWZlxZ/TO9cPVJuwi7oPtRKHNKvAAHRNHWsyO965Y8qtMIo1SGPnNIF5fA8KS9W0iKUAlUubMNHpJBnT2GT2ylrmf7YHkb2mv7OTGswcbMdtQosOy2T4WMCOPTGsu8jcVPX1TMlmhIrbEQqQ4SV8Lz7VoNDPDswlcZrx/X3ZkBHz+iAZQM3vyrAfpJNHpR1qdVXpSQ6AJNrvxAyv3iXCQTmy28o4Skn9ciU4A8kNXSyrKK8O3lKv65XuSGG9XoaldII1SvG3woI2t1dwAxcxmn2/Yf2Uznuostz7j5L5FtJqW9+c4KGXxCh+RgMrTbM1n0yvFMwcxuTIYemFb7OOyLnYf2hhVZXN8GBItoqhZoGboBp0s1usT1XqHSKHtf6RXd9IGOZH1LwRyUNYoLTY8cMJVrzQ9LtpdHeapZgr3idtrRCOmEF7d4/q8WUD+yOZuzUECL2QEnEgg6Ho79chWAUngUCdI4v70nCaMNCwLaTVJY5jtnt3VVUCYJ6vsoimxTbhQT2Cf6HTRcHt1JKhI4cGTBcCRIRdXWqSX4VmxBUCQ/XvskJX5Kj9FJC2/jhZDfIXcKfrYjw0tk3+7FzZuAwt8FnznUs=
    file: bintray.json
    cleanup: false
    on:
      all_branches: true

notifications:
  webhooks:
    urls:
      - https://webhooks.gitter.im/e/922838d6727e919df50e
    on_success: always  # options: [always|never|change] default: always
    on_failure: always  # options: [always|never|change] default: always
    on_start: never     # options: [always|never|change] default: always
Build Config
{}