Merge pull request #1291 from olive-editor/remove-old-ci
Remove old Travis and AppVeyor CI, update .gitignore
This commit is contained in:
@@ -1,117 +0,0 @@
|
||||
REM Get git hash in variable [this seems to be the most efficient way]
|
||||
git rev-parse --short=8 HEAD > hash.txt
|
||||
git rev-parse HEAD > longhash.txt
|
||||
set /p GITHASH= < hash.txt
|
||||
set /p GITLONGHASH= < longhash.txt
|
||||
set /p TRAVIS_COMMIT= < longhash.txt
|
||||
|
||||
REM Set up Visual Studio x64 environment
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
|
||||
|
||||
REM Install 64-bit packages
|
||||
set VCPKG_DEFAULT_TRIPLET=x64-windows
|
||||
|
||||
REM Hack to only install release builds for time
|
||||
echo set(VCPKG_BUILD_TYPE release) >> C:\Tools\vcpkg\triplets\x64-windows.cmake
|
||||
|
||||
REM Install Open*IO libraries
|
||||
vcpkg install opencolorio
|
||||
vcpkg install openimageio
|
||||
|
||||
REM Integrate libraries
|
||||
cd c:\tools\vcpkg
|
||||
vcpkg integrate install
|
||||
cd %APPVEYOR_BUILD_FOLDER%
|
||||
|
||||
REM Acquire FFmpeg
|
||||
set FFMPEG_VER=ffmpeg-4.2.3-win64
|
||||
curl https://ffmpeg.zeranoe.com/builds/win64/dev/%FFMPEG_VER%-dev.zip > %FFMPEG_VER%-dev.zip
|
||||
curl https://ffmpeg.zeranoe.com/builds/win64/shared/%FFMPEG_VER%-shared.zip > %FFMPEG_VER%-shared.zip
|
||||
7z x %FFMPEG_VER%-dev.zip
|
||||
7z x %FFMPEG_VER%-shared.zip
|
||||
|
||||
REM Acquire Google Crashpad
|
||||
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
|
||||
set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%\depot_tools
|
||||
|
||||
REM Run `fetch` through cmd /c since fetch is a batch file that seems to call exit
|
||||
cmd /c fetch crashpad
|
||||
cd crashpad
|
||||
cmd /c gn gen out/Default
|
||||
|
||||
REM Patch to build a dynamic release instead of a static release
|
||||
ren out\Default\toolchain.ninja toolchain.ninja.old
|
||||
sed "s/${cflags_c}/${cflags_c} \/MD/g" out\Default\toolchain.ninja.old > out\Default\toolchain.ninja
|
||||
|
||||
REM Build Crashpad
|
||||
ninja.exe -C out/Default
|
||||
cd ..
|
||||
|
||||
REM Add Qt, FFmpeg, and Crashpad to path
|
||||
set PATH=%PATH%;C:\Qt\5.13.2\msvc2017_64\bin;%APPVEYOR_BUILD_FOLDER%\%FFMPEG_VER%-dev;%APPVEYOR_BUILD_FOLDER%\crashpad;%APPVEYOR_BUILD_FOLDER%\crashpad\out\Default
|
||||
|
||||
REM Run cmake
|
||||
cmake -G "Ninja" . -DCMAKE_TOOLCHAIN_FILE=c:/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
|
||||
REM Build with Ninja
|
||||
ninja.exe || exit /B 1
|
||||
|
||||
REM If this is a pull request, no further packaging/deploying needs to be done
|
||||
if NOT "%APPVEYOR_PULL_REQUEST_NUMBER%" == "" goto end
|
||||
|
||||
REM Create Crashpad symbol file and upload it
|
||||
C:\msys64\usr\bin\wget.exe https://github.com/google/breakpad/blob/master/src/tools/windows/binaries/dump_syms.exe?raw=true -O dump_syms.exe
|
||||
dump_syms app\olive-editor.pdb > olive-editor.sym
|
||||
curl -F symfile=@olive-editor.sym https://olivevideoeditor.org/crashpad/symbols.php
|
||||
|
||||
REM Start building package
|
||||
mkdir olive-editor
|
||||
cd olive-editor
|
||||
copy ..\app\olive-editor.exe .
|
||||
copy ..\app\olive-editor.pdb .
|
||||
copy ..\app\crashhandler.exe .
|
||||
copy ..\crashpad\out\Default\crashpad_handler.exe .
|
||||
windeployqt olive-editor.exe
|
||||
copy ..\%FFMPEG_VER%-shared\bin\*.dll .
|
||||
copy ..\app\*.dll .
|
||||
|
||||
REM Package done, begin deployment
|
||||
cd ..
|
||||
set PKGNAME=Olive-%GITHASH%-Windows-x86_64
|
||||
|
||||
REM Create installer
|
||||
copy app\packaging\windows\nsis\* .
|
||||
"C:/Program Files (x86)/NSIS/makensis.exe" -V4 -DX64 "-XOutFile %PKGNAME%.exe" olive.nsi
|
||||
|
||||
REM Create portable
|
||||
copy nul olive-editor\portable
|
||||
7z a %PKGNAME%.zip olive-editor
|
||||
|
||||
REM If this was a tagged build, upload
|
||||
if "%APPVEYOR_REPO_TAG%"=="true" GOTO upload
|
||||
|
||||
REM Else, if this is a continuous build, check if this commit is the most recent
|
||||
|
||||
REM Force locale to UTF-8 or grep -P fails
|
||||
set LC_ALL=en_US.UTF-8
|
||||
|
||||
curl -H "Authorization: token %GITHUB_TOKEN%" https://api.github.com/repos/olive-editor/olive/commits/master > repoinfo.txt
|
||||
grep -Po '(?^<=: \")(([a-z0-9])\w+)(?=\")' -m 1 repoinfo.txt > latestcommit.txt
|
||||
set /p REMOTEHASH= < latestcommit.txt
|
||||
if "%REMOTEHASH%"=="%GITLONGHASH%" GOTO upload
|
||||
|
||||
REM The previous if statements failed, skip to the end
|
||||
GOTO end
|
||||
|
||||
:upload
|
||||
set /p UPLOADTOOL_BODY= < latestcommit.txt
|
||||
|
||||
curl -L https://github.com/probonopd/uploadtool/raw/master/upload.sh > upload.sh
|
||||
bash upload.sh Olive*.zip
|
||||
bash upload.sh Olive*.exe
|
||||
|
||||
:end
|
||||
REM Check if this build should set up a debugging session
|
||||
IF "%ENABLE_RDP%"=="1" (
|
||||
powershell -command "$blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))"
|
||||
)
|
||||
+37
-12
@@ -1,19 +1,39 @@
|
||||
*.pro.user*
|
||||
Makefile
|
||||
.qmake.stash
|
||||
effects/frei0r
|
||||
ts/*.qm
|
||||
docs
|
||||
history
|
||||
build/
|
||||
.DS_Store
|
||||
# CMake artifacts
|
||||
/build*/
|
||||
|
||||
.vscode
|
||||
.vs
|
||||
# Doxygen
|
||||
/docs/
|
||||
|
||||
# Visual Studio (Code)
|
||||
.localhistory/
|
||||
.history/
|
||||
.vscode/
|
||||
.vs/
|
||||
/out/
|
||||
CmakeSettings.json
|
||||
|
||||
# macOS General
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Windows thumbnail cache files
|
||||
Thumbs.db
|
||||
Thumbs.db:encryptable
|
||||
ehthumbs.db
|
||||
ehthumbs_vista.db
|
||||
|
||||
# Windows folder config file
|
||||
[Dd]esktop.ini
|
||||
|
||||
# Recycle Bin used on file shares (Windows)
|
||||
$RECYCLE.BIN/
|
||||
|
||||
# Windows shortcuts
|
||||
*.lnk
|
||||
|
||||
#
|
||||
# Qt ignores taken from https://github.com/github/gitignore
|
||||
# Qt ignores taken from https://github.com/github/gitignore/blob/master/Qt.gitignore
|
||||
#
|
||||
|
||||
# C++ objects and libs
|
||||
@@ -24,6 +44,7 @@ CmakeSettings.json
|
||||
*.la
|
||||
*.lai
|
||||
*.so
|
||||
*.so.*
|
||||
*.dll
|
||||
*.dylib
|
||||
|
||||
@@ -46,6 +67,8 @@ ui_*.h
|
||||
*.jsc
|
||||
Makefile*
|
||||
*build-*
|
||||
*.qm
|
||||
*.prl
|
||||
|
||||
# Qt unit tests
|
||||
target_wrapper.*
|
||||
@@ -65,3 +88,5 @@ compile_commands.json
|
||||
|
||||
# QtCreator local machine specific files for imported projects
|
||||
*creator.user*
|
||||
|
||||
*_qmlcache.qrc
|
||||
|
||||
-44
@@ -1,44 +0,0 @@
|
||||
language: cpp
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
env: ARCH=x86_64
|
||||
compiler: gcc
|
||||
sudo: require
|
||||
dist: xenial
|
||||
- os: osx
|
||||
osx_image: xcode10.3
|
||||
before_cache:
|
||||
- brew cleanup
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/Library/Caches/Homebrew
|
||||
addons:
|
||||
homebrew:
|
||||
packages:
|
||||
- ffmpeg
|
||||
- qt5
|
||||
- grep
|
||||
- opencolorio
|
||||
- openimageio
|
||||
update: true
|
||||
# Can't build on Windows - affected by https://travis-ci.community/t/current-known-issues-please-read-this-before-posting-a-new-topic/264/10
|
||||
# - os: windows
|
||||
|
||||
before_install:
|
||||
- source ./.travis/before_install.sh
|
||||
|
||||
install:
|
||||
- source ./.travis/install.sh
|
||||
|
||||
script:
|
||||
- source ./.travis/script.sh
|
||||
|
||||
after_success:
|
||||
- source ./.travis/after_success.sh
|
||||
|
||||
branches:
|
||||
except:
|
||||
- # Do not build tags that we create when we upload to GitHub Releases
|
||||
- /^(?i:continuous)/
|
||||
@@ -1,40 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Check if there's been a new commit since this build, and if so don't upload it
|
||||
|
||||
GREP_PATH=grep
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
GREP_PATH=ggrep
|
||||
fi
|
||||
|
||||
# Get current repo commit from GitHub (problems arose from trying to pipe cURL directly into grep, so we buffer it through a file)
|
||||
REMOTE=$(curl -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/repos/olive-editor/olive/commits/master | $GREP_PATH -Po '(?<=: \")(([a-z0-9])\w+)(?=\")' -m 1 --)
|
||||
LOCAL=$(git rev-parse HEAD)
|
||||
|
||||
if [ "$TRAVIS_TAG" != "" ] || [ "$REMOTE" == "$LOCAL" ]
|
||||
then
|
||||
echo "[INFO] Still current. Uploading..."
|
||||
|
||||
export UPLOADTOOL_BODY=$(cat release.txt)
|
||||
|
||||
# Retrieve upload tool
|
||||
wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
|
||||
bash upload.sh Olive*.zip
|
||||
|
||||
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
||||
|
||||
find appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
|
||||
|
||||
bash upload.sh Olive*.AppImage*
|
||||
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
echo "[INFO] No longer current. $REMOTE vs $LOCAL - aborting upload."
|
||||
|
||||
fi
|
||||
@@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
||||
|
||||
# Qt 5.11
|
||||
sudo add-apt-repository ppa:beineri/opt-qt-5.11.0-xenial -y
|
||||
|
||||
# FFmpeg 4.x
|
||||
sudo add-apt-repository ppa:jonathonf/ffmpeg-4 -y
|
||||
|
||||
# OpenColorIO
|
||||
sudo add-apt-repository ppa:olive-editor/opencolorio -y
|
||||
|
||||
# Update apt
|
||||
sudo apt-get update -qq
|
||||
|
||||
fi
|
||||
@@ -1,18 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
|
||||
export PATH="/usr/local/opt/qt/bin:/usr/local/opt/python@2/libexec/bin:$PATH"
|
||||
|
||||
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
||||
|
||||
sudo apt-get -y -o Dpkg::Options::="--force-overwrite" install qt511base qt511multimedia qt511svg qt511tools libavformat-dev libavcodec-dev libavfilter-dev libavutil-dev libswscale-dev libswresample-dev libopencolorio-dev libopenimageio-dev libgl1-mesa-dev
|
||||
source /opt/qt*/bin/qt*-env.sh
|
||||
|
||||
# Acquire latest cmake (apt somehow gets the wrong version?)
|
||||
wget -c https://github.com/Kitware/CMake/releases/download/v3.17.2/cmake-3.17.2-Linux-x86_64.sh -O cmake.sh
|
||||
chmod +x cmake.sh
|
||||
./cmake.sh --skip-license --prefix=cmake --exclude-dir
|
||||
export PATH=$PWD/cmake/bin:$PATH
|
||||
|
||||
fi
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# linuxdeployqt uses this for naming the file
|
||||
export VERSION=$(git rev-parse --short=8 HEAD)
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
|
||||
# Generate Makefile
|
||||
cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
|
||||
# Make
|
||||
make -j$(sysctl -n hw.ncpu)
|
||||
|
||||
# Handle compile failure
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BUNDLE_NAME=Olive.app
|
||||
|
||||
# Move bundle to working directory
|
||||
mv app/$BUNDLE_NAME .
|
||||
|
||||
# Move Qt deps into bundle
|
||||
macdeployqt $BUNDLE_NAME
|
||||
|
||||
# Fix other deps that macdeployqt missed
|
||||
curl -fLOSs --retry 3 https://github.com/arl/macdeployqtfix/raw/master/macdeployqtfix.py
|
||||
python2 macdeployqtfix.py $BUNDLE_NAME/Contents/MacOS/Olive /usr/local/Cellar/qt5/5.*/
|
||||
|
||||
# Fix deps on crash handler
|
||||
python2 macdeployqtfix.py $BUNDLE_NAME/Contents/MacOS/olive-crashhandler /usr/local/Cellar/qt5/5.*/
|
||||
|
||||
# Fix OpenEXR libs that seem to be missed by both macdeployqt _and_ macdeployqtfix
|
||||
cd $BUNDLE_NAME/Contents/Frameworks
|
||||
exrlib=(libImath-*.dylib libHalf-*.dylib libIexMath-*.dylib libIex-*.dylib libIlmThread-*.dylib)
|
||||
|
||||
for a in ${exrlib[@]}; do
|
||||
for b in ${exrlib[@]}; do
|
||||
install_name_tool -change @rpath/$b @executable_path/../Frameworks/$b $a
|
||||
done
|
||||
done
|
||||
|
||||
cd ../../..
|
||||
|
||||
# Distribute in zip
|
||||
zip -r Olive-$VERSION-macOS.zip $BUNDLE_NAME
|
||||
|
||||
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
||||
|
||||
# Generate Makefile
|
||||
cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
|
||||
# Make
|
||||
make -j$(nproc)
|
||||
|
||||
# Handle compile failure
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Use `make install` on `appdir` to place files in the correct place
|
||||
make DESTDIR=appdir install
|
||||
|
||||
# Download linuxdeployqt
|
||||
wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
|
||||
chmod a+x linuxdeployqt-continuous-x86_64.AppImage
|
||||
|
||||
unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
|
||||
|
||||
# Use linuxdeployqt to set up dependencies
|
||||
./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/local/share/applications/*.desktop -extra-plugins=imageformats/libqsvg.so -appimage
|
||||
|
||||
fi
|
||||
@@ -1,22 +0,0 @@
|
||||
version: "{build}"
|
||||
image: Visual Studio 2017
|
||||
environment:
|
||||
TRAVIS_REPO_SLUG: olive-editor/olive
|
||||
|
||||
# Hack to not build the "continuous" tag (https://github.com/appveyor/ci/issues/486)
|
||||
# FIXME: Will unfortunately skip release tags
|
||||
skip_tags: true
|
||||
|
||||
install:
|
||||
- cd C:\Tools\vcpkg
|
||||
- git pull
|
||||
- .\bootstrap-vcpkg.bat
|
||||
- cd %APPVEYOR_BUILD_FOLDER%
|
||||
build_script:
|
||||
- cmd: .appveyor\build.bat
|
||||
#artifacts:
|
||||
#- path: Olive*.zip
|
||||
# name: Olive Portable
|
||||
#- path: Olive*.exe
|
||||
# name: Olive Installer
|
||||
cache: c:\tools\vcpkg\installed\
|
||||
Reference in New Issue
Block a user