1
0
Fork 0
forked from suyu/suyu

CI: upload builds to builds.citra-emu.org instead of MEGA

This commit is contained in:
archshift 2015-03-06 15:54:09 -08:00
parent b56829df02
commit 6cc1a07235
6 changed files with 65 additions and 48 deletions

6
.travis-build.sh Normal file → Executable file
View file

@ -4,13 +4,13 @@ set -e
set -x set -x
#if OS is linux or is not set #if OS is linux or is not set
if [ "$TRAVIS_OS_NAME" = linux -o -z "$TRAVIS_OS_NAME" ]; then if [ "$TRAVIS_OS_NAME" = "linux" -o -z "$TRAVIS_OS_NAME" ]; then
mkdir build && cd build mkdir build && cd build
cmake -DUSE_QT5=OFF .. cmake -DUSE_QT5=OFF ..
make -j4 make -j4
elif [ "$TRAVIS_OS_NAME" = osx ]; then elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
export Qt5_DIR=$(brew --prefix)/opt/qt5 export Qt5_DIR=$(brew --prefix)/opt/qt5
mkdir build && cd build mkdir build && cd build
cmake .. -GXcode cmake .. -GXcode
xcodebuild xcodebuild -configuration Release
fi fi

4
.travis-deps.sh Normal file → Executable file
View file

@ -4,7 +4,7 @@ set -e
set -x set -x
#if OS is linux or is not set #if OS is linux or is not set
if [ "$TRAVIS_OS_NAME" = linux -o -z "$TRAVIS_OS_NAME" ]; then if [ "$TRAVIS_OS_NAME" = "linux" -o -z "$TRAVIS_OS_NAME" ]; then
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get -qq update sudo apt-get -qq update
sudo apt-get -qq install g++-4.9 xorg-dev libglu1-mesa-dev libxcursor-dev sudo apt-get -qq install g++-4.9 xorg-dev libglu1-mesa-dev libxcursor-dev
@ -23,7 +23,7 @@ if [ "$TRAVIS_OS_NAME" = linux -o -z "$TRAVIS_OS_NAME" ]; then
sudo mkdir -p /usr/local sudo mkdir -p /usr/local
curl http://www.cmake.org/files/v2.8/cmake-2.8.11-Linux-i386.tar.gz \ curl http://www.cmake.org/files/v2.8/cmake-2.8.11-Linux-i386.tar.gz \
| sudo tar -xz -C /usr/local --strip-components=1 | sudo tar -xz -C /usr/local --strip-components=1
elif [ "$TRAVIS_OS_NAME" = osx ]; then elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
brew tap homebrew/versions brew tap homebrew/versions
brew install qt5 glfw3 pkgconfig brew install qt5 glfw3 pkgconfig
fi fi

29
.travis-upload.sh Normal file
View file

@ -0,0 +1,29 @@
if [ "$TRAVIS_BRANCH" = "master" ]; then
GITDATE="`git show -s --date=short --format='%ad' | sed 's/-//g'`"
GITREV="`git show -s --format='%h'`"
if [ "$TRAVIS_OS_NAME" = "linux" -o -z "$TRAVIS_OS_NAME" ]; then
REV_NAME="citra-${GITDATE}-${GITREV}-linux-amd64"
UPLOAD_DIR="/citra/nightly/linux-amd64"
mkdir "$REV_NAME"
sudo apt-get -qq install lftp
cp build/src/citra/citra "$REV_NAME"
cp build/src/citra_qt/citra-qt "$REV_NAME"
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
REV_NAME="citra-${GITDATE}-${GITREV}-osx-amd64"
UPLOAD_DIR="/citra/nightly/osx-amd64"
mkdir "$REV_NAME"
brew install lftp
cp build/src/citra/Release/citra "$REV_NAME"
cp -r build/src/citra_qt/Release/citra-qt.app "$REV_NAME"
# move qt libs into app bundle for deployment
$(brew --prefix)/opt/qt5/bin/macdeployqt "${REV_NAME}/citra-qt.app"
fi
ARCHIVE_NAME="${REV_NAME}.tar.xz"
tar -cJvf "$ARCHIVE_NAME" "$REV_NAME"
lftp -c "open -u citra-builds,$BUILD_PASSWORD sftp://builds.citra-emu.org; put -O '$UPLOAD_DIR' '$ARCHIVE_NAME'"
fi

View file

@ -4,8 +4,15 @@ os:
language: cpp language: cpp
env:
global:
- secure: "AXHFIafTmbGDsHD3mUVj5a4I397DQjti/WoqAJGUp2PglxTcc04BwxZ9Z+xLuf5N2Hs5r9ojAJLT8OGxJCLBDXzneQTNSqXbFuYSLbqrEAiIRlA9eRIotWCg+wYcO+5e8MKX+cHVKwiIWasUB21AtCdq6msh6Y3pUshZp212VPg="
before_install: before_install:
- sh .travis-deps.sh - sh .travis-deps.sh
script: script:
- sh .travis-build.sh - sh .travis-build.sh
after_success:
- sh .travis-upload.sh

View file

@ -6,10 +6,8 @@ clone_depth: 5
environment: environment:
QTDIR: C:\Qt\5.4\msvc2013_64_opengl QTDIR: C:\Qt\5.4\msvc2013_64_opengl
MEGA_EMAIL: BUILD_PASSWORD:
secure: rEo9CGAYX87GKTqZCZ9vLCNCNqxO5JLgbERaHF3YJWg= secure: EXGNlWKJsCtbeImEJ5EP9qrxZ+EqUFfNy+CP61nDOMA=
MEGA_PASSWORD:
secure: zE1zmgjS/6GfN/19ROl/O0fVR58svORQ5gdtsxI7J8k=
platform: platform:
- x64 - x64
@ -27,11 +25,6 @@ before_build:
- cd .. - cd ..
after_build: after_build:
# upload the build to Mega
- cinst wget -x86
- wget -q http://megatools.megous.com/builds/megatools-1.9.94-win64.zip
# extract megatools silently. See http://stackoverflow.com/a/11629736/1748450
- 7z x megatools-1.9.94-win64.zip | FIND /V "ing "
# copy the qt dlls # copy the qt dlls
- copy C:\Qt\5.4\msvc2013_64_opengl\bin\icudt53.dll build\bin\release - copy C:\Qt\5.4\msvc2013_64_opengl\bin\icudt53.dll build\bin\release
- copy C:\Qt\5.4\msvc2013_64_opengl\bin\icuin53.dll build\bin\release - copy C:\Qt\5.4\msvc2013_64_opengl\bin\icuin53.dll build\bin\release
@ -42,9 +35,25 @@ after_build:
- copy C:\Qt\5.4\msvc2013_64_opengl\bin\Qt5Widgets.dll build\bin\release - copy C:\Qt\5.4\msvc2013_64_opengl\bin\Qt5Widgets.dll build\bin\release
- mkdir build\bin\release\platforms\ - mkdir build\bin\release\platforms\
- copy C:\Qt\5.4\msvc2013_64_opengl\plugins\platforms\qwindows.dll build\bin\release\platforms - copy C:\Qt\5.4\msvc2013_64_opengl\plugins\platforms\qwindows.dll build\bin\release\platforms
# zip up the build folder -> build.7z
- 7z a build .\build\bin\release\* - ps: >
# rename, upload to Mega if (!"$env:APPVEYOR_PULL_REQUEST_TITLE" -and ("$env:APPVEYOR_REPO_BRANCH" -eq "master"))
- npm install sanitize-filename {
- cd megatools-1.9.94-win64 $GITDATE = $(git show -s --date=short --format='%ad') -replace "-",""
- node ..\upload_to_mega.js $GITREV = git show -s --format='%h'
$BUILD_NAME = "citra-${GITDATE}-${GITREV}-windows-amd64.7z"
# zip up the build folder
7z a $BUILD_NAME .\build\bin\release\*
# download winscp
Invoke-WebRequest "http://hivelocity.dl.sourceforge.net/project/winscp/WinSCP/5.7/winscp570.zip" -OutFile "winscp570.zip"
7z e -y winscp570.zip
# upload to server
.\WinSCP.com /command `
"option batch abort" `
"option confirm off" `
"open sftp://citra-builds:${env:BUILD_PASSWORD}@builds.citra-emu.org -hostkey=*" `
"put $BUILD_NAME /citra/nightly/windows-amd64/" `
"exit"
}

View file

@ -1,28 +0,0 @@
var util = require('util');
var exec = require('child_process').exec;
var sanitize = require("sanitize-filename");
var email = process.env.MEGA_EMAIL;
var password = process.env.MEGA_PASSWORD;
var sourceFileName = 'build.7z';
var dstFileName = process.env.APPVEYOR_REPO_COMMIT.substring(0, 8) + " - " +
process.env.APPVEYOR_REPO_COMMIT_MESSAGE.substring(0, 100) + ".7z";
dstFileName = sanitize(dstFileName);
var cmd = util.format('megaput ../%s --path \"/Root/Citra/Windows/%s\" --username=%s --password=%s --no-progress',
sourceFileName,
dstFileName,
email,
password);
// only upload build on master branch, and not on other branches or PRs
if (process.env.APPVEYOR_REPO_BRANCH == "master") {
console.log("Uploading file " + dstFileName + " to Mega...");
exec(cmd, function(error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
}