diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9bde52b847..cd8cb5c730 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,7 +7,7 @@ on: paths-ignore: - '*.{txt,md}' - 'Tools/**' - - '.{editorconfig,gitattributes,gitignore,travis.sh,travis.yml}' + - '.{editorconfig,gitattributes,gitignore}' - 'appveyor.yml' pull_request: branches: @@ -15,7 +15,7 @@ on: paths-ignore: - '*.{txt,md}' - 'Tools/**' - - '.{editorconfig,gitattributes,gitignore,travis.sh,travis.yml}' + - '.{editorconfig,gitattributes,gitignore}' - 'appveyor.yml' env: diff --git a/.travis.sh b/.travis.sh deleted file mode 100644 index bdd4baa01c..0000000000 --- a/.travis.sh +++ /dev/null @@ -1,142 +0,0 @@ -#/bin/bash - -export USE_CCACHE=1 -export NDK_CCACHE=ccache -export HOMEBREW_NO_INSTALL_CLEANUP=1 -export HOMEBREW_NO_AUTO_UPDATE=1 -export HOMEBREW_NO_ANALYTICS=1 -NDK_VER=android-ndk-r18b - -download_extract() { - aria2c -x 16 $1 -o $2 - tar -xf $2 -} - -# This is used for the Android NDK. -download_extract_zip() { - aria2c --file-allocation=none --timeout=120 --retry-wait=5 --max-tries=20 -Z -c $1 -o $2 - # This resumes the download, in case it failed. - aria2c --file-allocation=none --timeout=120 --retry-wait=5 --max-tries=20 -Z -c $1 -o $2 - - unzip $2 2>&1 | pv > /dev/null -} - -travis_before_install() { - git submodule update --init --recursive -} - -travis_install() { - # Ubuntu Linux + GCC 4.8 - if [ "$PPSSPP_BUILD_TYPE" = "Linux" ]; then - if [ "$CXX" = "g++" ]; then - sudo apt-get install -qq g++-4.8 - fi - - if [ "$QT" = "TRUE" ]; then - sudo apt-get install -qq qt5-qmake qtmultimedia5-dev qtsystems5-dev qtbase5-dev qtdeclarative5-dev qttools5-dev-tools libqt5webkit5-dev libqt5opengl5-dev libsqlite3-dev qt5-default - fi - - download_extract "https://cmake.org/files/v3.6/cmake-3.6.2-Linux-x86_64.tar.gz" cmake-3.6.2-Linux-x86_64.tar.gz - fi - - # Android NDK + GCC 4.8 - if [ "$PPSSPP_BUILD_TYPE" = "Android" ]; then - download_extract_zip http://dl.google.com/android/repository/${NDK_VER}-linux-x86_64.zip ${NDK_VER}-linux-x86_64.zip - fi - - if [ "$PPSSPP_BUILD_TYPE" = "Windows" ]; then - curl -L https://github.com/frerich/clcache/releases/download/v4.2.0/clcache.4.2.0.nupkg --output clcache.4.2.0.nupkg - choco install clcache --source=. - fi - - # Ensure we're using ccache - if [[ "$CXX" = "clang" && "$CC" == "clang" ]]; then - export CXX="ccache clang" CC="ccache clang" - fi - if [[ "$PPSSPP_BUILD_TYPE" == "Linux" && "$CXX" == "g++" ]]; then - # Also use gcc 4.8, instead of whatever default version. - export CXX="ccache g++-4.8" CC="ccache gcc-4.8" - fi - if [[ "$CXX" != *ccache* ]]; then - export CXX="ccache $CXX" - fi - if [[ "$CC" != *ccache* ]]; then - export CC="ccache $CC" - fi -} - -travis_script() { - # Compile PPSSPP - if [ "$PPSSPP_BUILD_TYPE" = "Linux" ]; then - if [ -d cmake-3.6.2-Linux-x86_64 ]; then - export PATH=$(pwd)/cmake-3.6.2-Linux-x86_64/bin:$PATH - fi - - if [ "$QT" = "TRUE" ]; then - ./b.sh --qt - elif [ "$LIBRETRO" = "TRUE" ]; then - ./b.sh --libretro - else - ./b.sh --headless - fi - fi - if [ "$PPSSPP_BUILD_TYPE" = "Android" ]; then - export ANDROID_HOME=$(pwd)/${NDK_VER} NDK=$(pwd)/${NDK_VER} - if [[ "$CXX" = *clang* ]]; then - export NDK_TOOLCHAIN_VERSION=clang - fi - - if [ "$LIBRETRO" = "TRUE" ]; then - ./b.sh --libretro_android ppsspp_libretro - else - pushd android - ./ab.sh -j2 APP_ABI=$APP_ABI - popd - fi - -# When we can get this to work... -# chmod +x gradlew -# ./gradlew assembleRelease - fi - if [ "$PPSSPP_BUILD_TYPE" = "iOS" ]; then - ./b.sh --ios - fi - if [ "$PPSSPP_BUILD_TYPE" = "macOS" ]; then - ./b.sh --headless - fi - if [ "$PPSSPP_BUILD_TYPE" = "Windows" ]; then - export "MSBUILD_PATH=/c/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/MSBuild/15.0/Bin" - export "PATH=$MSBUILD_PATH:$PATH" - export CLCACHE_OBJECT_CACHE_TIMEOUT_MS=120000 - - # Set DebugInformationFormat to nothing, the default is ProgramDatabase which breaks clcache. - # Turns out it's not possible to pass this on the msbuild command line. - for f in `find . -name *.vcxproj`; do - sed -i 's/>ProgramDatabase<\/DebugInformationFormat>/><\/DebugInformationFormat>/g' $f - done - - if [ "$UWP" == "TRUE" ]; then - msbuild.exe UWP\\PPSSPP_UWP.sln -m -p:CLToolExe=clcache.exe -p:Configuration=Release -p:Platform=x64 -p:TrackFileAccess=false -p:AppxPackageSigningEnabled=false - else - msbuild.exe Windows\\PPSSPP.sln -m -p:CLToolExe=clcache.exe -p:Configuration=Release -p:Platform=x64 -p:TrackFileAccess=false - fi - fi -} - -travis_after_success() { - if [ "$PPSSPP_BUILD_TYPE" != "Windows" ]; then - ccache -s - else - clcache -s - clcache -z - fi - - if [ "$PPSSPP_BUILD_TYPE" = "Linux" ]; then - ./test.py - fi -} - -set -e -set -x - -$1; diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 07e305e1c2..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,118 +0,0 @@ -# https://travis-ci.org - -language: cpp - -os: linux -dist: xenial - -addons: - apt: - update: true - packages: - - ant - - aria2 - - build-essential - - cmake - - libgl1-mesa-dev - - libglu1-mesa-dev - - libsdl2-dev - - pv - - software-properties-common - sources: - - sourceline: 'ppa:zoogie/sdl2-snapshots' - - sourceline: 'ppa:ubuntu-toolchain-r/test' - - sourceline: 'ppa:ubuntu-sdk-team/ppa' - homebrew: - update: true - packages: - - ccache - - sdl2 - -cache: - apt: true - ccache: true - directories: - - $HOME/Library/Caches/Homebrew - - $HOME/clcache - -# By encrypting the channel name, we disable notifications from forks by default. -# It's not actually a big secret. -notifications: - irc: - channels: - - secure: "anmDihJ1uPnDSNDsEe3WQ5o4BsPApJbw6NupsAebt6kBxJm7WYKrSyUVmu/9GXgFvy756HBDVA6eikPtcak1+jLFfyOZqGw3ei69ZNnA+R7aoAzfiXilFqf53Yy2tzydEnF2nBYhJjQZgMBZUVWUD6pdKSXtVg/VZRhVqiDlb+A=" - on_success: change - on_failure: always - skip_join: true - template: - - "%{repository_slug}:%{branch} - %{message} %{build_url}" - -jobs: - include: - - os: linux - compiler: "gcc" - env: PPSSPP_BUILD_TYPE=Linux - - os: linux - compiler: "gcc" - env: PPSSPP_BUILD_TYPE=Android - APP_ABI=arm64-v8a - - os: linux - compiler: "gcc" - env: PPSSPP_BUILD_TYPE=Android - APP_ABI=armeabi-v7a - - os: linux - compiler: "gcc" - env: PPSSPP_BUILD_TYPE=Android - APP_ABI=x86 - - os: linux - compiler: "gcc" - env: PPSSPP_BUILD_TYPE=Android - APP_ABI=x86_64 - - os: linux - compiler: "gcc" - env: PPSSPP_BUILD_TYPE=Android - APP_ABI=arm64-v8a - LIBRETRO=TRUE - - os: linux - compiler: "clang" - env: PPSSPP_BUILD_TYPE=Linux - - os: linux - compiler: "gcc" - env: PPSSPP_BUILD_TYPE=Linux - QT=TRUE - - os: linux - compiler: "gcc" - env: PPSSPP_BUILD_TYPE=Linux - LIBRETRO=TRUE - - os: linux - compiler: "clang" - env: PPSSPP_BUILD_TYPE=Linux - LIBRETRO=TRUE - - os: windows - compiler: "msvc2017" - env: PPSSPP_BUILD_TYPE=Windows - - os: windows - compiler: "msvc2017" - env: PPSSPP_BUILD_TYPE=Windows - UWP=TRUE - -# - os: osx -# osx_image: xcode9.4 -# compiler: "clang" -# env: PPSSPP_BUILD_TYPE=macOS -# - os: osx -# osx_image: xcode9.4 -# compiler: "clang" -# env: PPSSPP_BUILD_TYPE=iOS - -before_install: - - travis_retry bash .travis.sh travis_before_install - -install: - - travis_retry bash .travis.sh travis_install - -script: - - bash .travis.sh travis_script - -after_success: - - bash .travis.sh travis_after_success