| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- name: CI-MacOS
- on:
- push:
- branches: [ master ]
- pull_request:
- branches: [ master ]
- # Allows you to run this workflow manually from the Actions tab.
- workflow_dispatch:
- env:
- VNOTE_VER: 3.0.0-beta.2
- jobs:
- build-linux:
- name: Build On MacOS
- runs-on: macos-latest
- timeout-minutes: 120
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE.
- - uses: actions/checkout@v2
- with:
- fetch-depth: 1
- - name: Init Submodules
- run: |
- auth_header="$(git config --local --get http.https://github.com/.extraheader)"
- git submodule sync --recursive
- git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- - name: Install Dependencies
- run: |
- brew install tree
- - name: Install macdeployqtfix
- run: |
- git clone https://github.com/tamlok/macdeployqtfix.git macdeployqtfix --depth=1
- working-directory: ${{runner.workspace}}
- - name: Install Qt
- uses: jurplel/install-qt-action@v2
- with:
- version: 5.12.10
- target: desktop
- modules: qtwebchannel qtwebengine qtsvg qtlocation qttools qttranslations
- - name: Create Build Dir
- run: mkdir build
- working-directory: ${{runner.workspace}}
- - name: Configure Project
- run: |
- qmake -v
- qmake CONFIG+=release ${GITHUB_WORKSPACE}/vnote.pro
- working-directory: ${{runner.workspace}}/build
- - name: Build Project
- run: make -j4
- working-directory: ${{runner.workspace}}/build
- - name: Deploy VSyntaxHighlighting Framework
- run: |
- my_lib_name=VSyntaxHighlighting
- my_lib_framework=${my_lib_name}.framework
- my_lib_dir=./libs/vtextedit/src/libs/syntax-highlighting
- frameworks_dir=./src/vnote.app/Contents/Frameworks
- mkdir -p ${frameworks_dir}
- cp -R ${my_lib_dir}/${my_lib_framework} ${frameworks_dir}
- working-directory: ${{runner.workspace}}/build
- - name: Deploy VTextEdit Framework
- run: |
- my_lib_name=VTextEdit
- my_lib_framework=${my_lib_name}.framework
- my_lib_dir=./libs/vtextedit/src/editor
- frameworks_dir=./src/vnote.app/Contents/Frameworks
- mkdir -p ${frameworks_dir}
- cp -R ${my_lib_dir}/${my_lib_framework} ${frameworks_dir}
- working-directory: ${{runner.workspace}}/build
- - name: Cleanup rpath
- run: |
- app_target=./src/vnote.app/Contents/MacOS/vnote
- install_name_tool -delete_rpath ${PWD}/src/../libs/vtextedit/src/editor ${app_target}
- install_name_tool -delete_rpath ${PWD}/src/../libs/vtextedit/src/libs/syntax-highlighting ${app_target}
- working-directory: ${{runner.workspace}}/build
- - name: Mac Deploy
- run: |
- pushd src
- macdeployqt vnote.app
- python ${{runner.workspace}}/macdeployqtfix/macdeployqtfix.py vnote.app/Contents/MacOS/vnote $Qt5_Dir
- # Fix Helpers/QtWebEngineProcess.app
- pushd vnote.app/Contents/Frameworks/QtWebEngineCore.framework/Versions/5/Helpers
- macdeployqt QtWebEngineProcess.app
- python ${{runner.workspace}}/macdeployqtfix/macdeployqtfix.py QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess $Qt5_Dir
- popd
- popd
- tree ./
- working-directory: ${{runner.workspace}}/build
- - name: Package Project
- run: |
- mkdir -p distrib/vnote
- pushd distrib/vnote
- mv ../../src/vnote.app ./
- ln -s /Applications ./Applications
- popd
- sleep 1m
- hdiutil create -srcfolder ./distrib/vnote -format UDBZ vnote-mac-x64_v${{env.VNOTE_VER}}.dmg
- cp vnote-mac-x64_v${{env.VNOTE_VER}}.dmg vnote-mac-x64.dmg
- working-directory: ${{runner.workspace}}/build
- - name: Archive Artifacts
- uses: actions/upload-artifact@v2
- with:
- name: vnote-mac-x64_v${{env.VNOTE_VER}}
- path: ${{runner.workspace}}/build/vnote-mac-x64_v${{env.VNOTE_VER}}.dmg
- - name: Update Tag
- if: github.ref == 'refs/heads/master'
- run: |
- git tag --force continuous-build ${GITHUB_SHA}
- git push --force --tags
- - name: Update Continuous Build Release
- if: github.ref == 'refs/heads/master'
- uses: johnwbyrd/[email protected]
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- files: ${{runner.workspace}}/build/vnote-mac-x64.dmg
- release: Continuous Build
- tag: continuous-build
|