Use GitHub Actions as CI service (#5602)

* ci: migrate to GitHub Actions

* ci: linux-mingw: use lief for parsing PE files

* ci: fix left-over issues with clang-format check

* ci: workaround libc++ issue on macOS

* appveyor: remove build scripts

* README: add GitHub Actions badge and ...

remove Travis CI and Appveyor badges
This commit is contained in:
liushuyu 2020-11-11 22:21:35 -07:00 committed by GitHub
parent 2e0ce86c9e
commit 0133ebe0bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
47 changed files with 244 additions and 420 deletions

24
.ci/macos/build.sh Executable file
View file

@ -0,0 +1,24 @@
#!/bin/bash -ex
set -o pipefail
export Qt5_DIR=$(brew --prefix)/opt/qt5
export PATH="/usr/local/opt/ccache/libexec:/usr/local/opt/llvm/bin:$PATH"
# ccache configurations
export CCACHE_CPP2=yes
export CCACHE_SLOPPINESS=time_macros
export CC="ccache clang"
export CXX="ccache clang++"
export LDFLAGS="-L/usr/local/opt/llvm/lib"
export CPPFLAGS="-I/usr/local/opt/llvm/include"
ccache -s
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_QT_TRANSLATION=ON -DCITRA_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_FFMPEG_AUDIO_DECODER=ON -DENABLE_FFMPEG_VIDEO_DUMPER=ON -GNinja
ninja
ccache -s
ctest -VV -C Release

6
.ci/macos/deps.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/sh -ex
brew update
brew unlink python@2 || true
brew install qt5 sdl2 p7zip ccache ffmpeg llvm ninja
pip3 install macpack

33
.ci/macos/upload.sh Executable file
View file

@ -0,0 +1,33 @@
#!/bin/bash -ex
. .ci/common/pre-upload.sh
REV_NAME="citra-osx-${GITDATE}-${GITREV}"
ARCHIVE_NAME="${REV_NAME}.tar.gz"
COMPRESSION_FLAGS="-czvf"
mkdir "$REV_NAME"
cp build/bin/Release/citra "$REV_NAME"
cp -r build/bin/Release/citra-qt.app "$REV_NAME"
cp build/bin/Release/citra-room "$REV_NAME"
# move libs into folder for deployment
macpack "${REV_NAME}/citra-qt.app/Contents/MacOS/citra-qt" -d "../Frameworks"
# move qt frameworks into app bundle for deployment
$(brew --prefix)/opt/qt5/bin/macdeployqt "${REV_NAME}/citra-qt.app" -executable="${REV_NAME}/citra-qt.app/Contents/MacOS/citra-qt"
# move libs into folder for deployment
macpack "${REV_NAME}/citra" -d "libs"
# workaround for libc++
install_name_tool -change @loader_path/../Frameworks/libc++.1.0.dylib /usr/lib/libc++.1.dylib "${REV_NAME}/citra-qt.app/Contents/MacOS/citra-qt"
install_name_tool -change @loader_path/libs/libc++.1.0.dylib /usr/lib/libc++.1.dylib "${REV_NAME}/citra"
# Make the launching script executable
chmod +x ${REV_NAME}/citra-qt.app/Contents/MacOS/citra-qt
# Verify loader instructions
find "$REV_NAME" -type f -exec otool -L {} \;
. .ci/common/post-upload.sh