diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b6d547191..9be7e10e8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,6 +16,8 @@ jobs: # cross-platform coverage. # See: https://docs.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#configuring-a-build-matrix runs-on: windows-latest + env: + PKGNAME: Olive-%HASH%-Windows-x86_64 steps: - uses: actions/checkout@v2 @@ -56,6 +58,20 @@ jobs: - name: Acquire zlib run: curl -fLOSs --retry 3 http://olivevideoeditor.org/deps/zlib-win.7z && 7z x zlib-win.7z + + - name: Acquire Boost + run: curl -fLOSs --retry 3 http://olivevideoeditor.org/deps/boost-win.7z && 7z x boost-win.7z + + # Crashpad requires Python 2.7 + - name: Set up Python 2.7 + uses: actions/setup-python@v2 + with: + python-version: 2.7 + + - name: Acquire Crashpad + shell: cmd + run: | + git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git && depot_tools\fetch crashpad && cd crashpad && ..\depot_tools\gn gen out/Default && sed -i "s/${cflags_c}/${cflags_c} \/MD/g" out\Default\toolchain.ninja && ninja.exe -C out/Default - name: Configure CMake # Use a bash shell so we can use the same syntax for environment variable @@ -65,7 +81,7 @@ jobs: # Note the current convention is to use the -S and -B options here to specify source # and build directories, but this is only available with CMake 3.13 and higher. # The CMake binaries on the Github Actions machines are (as of this writing) 3.12 - run: PATH=$GITHUB_WORKSPACE:$PATH cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -G "Ninja" + run: PATH=$GITHUB_WORKSPACE:$GITHUB_WORKSPACE/crashpad:$PATH cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -G "Ninja" - name: Build working-directory: ${{runner.workspace}}/build @@ -79,17 +95,32 @@ jobs: # Execute tests defined by the CMake configuration. # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail run: ctest -C $BUILD_TYPE + + - name: Get Git short hash + id: vars + run: echo ::set-output name=git_shorthash::$(git rev-parse --short=8 ${{github.sha}}) - name: Create Package working-directory: ${{runner.workspace}}/build - run: mkdir olive-editor && copy app\olive-editor.exe olive-editor && windeployqt olive-editor\olive-editor.exe && copy %GITHUB_WORKSPACE%\bin\*.dll olive-editor + shell: cmd + env: + HASH: ${{steps.vars.outputs.git_shorthash}} + run: mkdir olive-editor && copy app\olive-editor.exe olive-editor && copy app\olive-editor.pdb olive-editor && windeployqt olive-editor\olive-editor.exe && copy %GITHUB_WORKSPACE%\bin\*.dll olive-editor + + - name: Deploy Installer + working-directory: ${{runner.workspace}}/build + shell: cmd + env: + HASH: ${{steps.vars.outputs.git_shorthash}} + run: copy %GITHUB_WORKSPACE%\app\packaging\windows\nsis\* . && copy %GITHUB_WORKSPACE%\LICENSE . && "C:/Program Files (x86)/NSIS/makensis.exe" -V4 -DX64 "-XOutFile %PKGNAME%.exe" olive.nsi - name: Deploy Portable - working-directory: ${{runner.workspace}}/build/olive-editor - run: copy nul olive-editor\portable && 7z a Olive-Windows-x86_64.zip olive-editor + working-directory: ${{runner.workspace}}/build + shell: cmd + run: type NUL > olive-editor\portable && 7z a %PKGNAME%.zip olive-editor - name: Upload artifact uses: actions/upload-artifact@v2 with: - name: Olive-Windows-x86_64.zip - path: ${{runner.workspace}}/build/Olive-Windows-x86_64.zip + name: Windows (x86_64) + path: ${{runner.workspace}}/build/${PKGNAME}.* diff --git a/README.md b/README.md index faf62793f..9b95c2b60 100644 --- a/README.md +++ b/README.md @@ -4,19 +4,15 @@ Olive is a free non-linear video editor for Windows, macOS, and Linux. ![screen](https://www.olivevideoeditor.org/img/screenshot.jpg) -**Discover more:** [Website](https://www.olivevideoeditor.org/) | [Twitter](https://twitter.com/oliveteam) | [Discord](https://discord.gg/4Ae9KZn) | [Code Documentation](http://olivevideoeditor.org/doxygen/) - -**NOTE: The issue tracker is temporarily closed while Olive's core is getting rewritten. We apologize for any inconvenience. Please check back soon for the next release, as well as the [Patreon page](https://www.patreon.com/olivevideoeditor) for news and updates.** - - +**Discover more:** [Website](https://www.olivevideoeditor.org/) | [Twitter](https://twitter.com/oliveteam) | [Discord](https://discord.gg/4Ae9KZn) | [Patreon](https://www.patreon.com/olivevideoeditor) ## Getting Started with Olive: -Installation of Olive is available at: https://olivevideoeditor.org/download.php +Binaries of Olive are available at: https://olivevideoeditor.org/download.php -Instructions on how to use Olive are available on our wiki: https://github.com/olive-editor/olive/wiki/Overview-Guide +Some tutorials can be seen on the GitHub Wiki: https://github.com/olive-editor/olive/wiki/Overview-Guide -**NOTE: Olive is Alpha Software, and it should be treated as highly unstable. Work at your own risk.** +**NOTE: Olive is alpha software and is considered highly unstable. While we highly appreciate users testing and providing usage information, please use at your own risk.** ## Support Olive: @@ -24,10 +20,6 @@ Please consider supporting Olive: [![Become a Patron](https://olivevideoeditor.org/img/become_a_patron_button.png)](https://www.patreon.com/olivevideoeditor) -**NOTE: It is strongly discouraged to use or compile the `master` branch in its current state as it's under heavy restructuring. Please use the 0.1.x code from the "Releases" tab instead.** - ## Compiling from Source: Compiling instructions for Windows, macOS, and Linux can be found [on the main site](https://olivevideoeditor.org/compile.php). - -Olive has Doxygen-compatible documentation hosted at http://olivevideoeditor.org/doxygen/. You can also run `doxygen` in the source root directory to generate a local copy.