-
Notifications
You must be signed in to change notification settings - Fork 581
129 lines (113 loc) · 4.16 KB
/
mac-build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: Build Sigil on macOS x86_64
on:
push:
branches: [ master ]
tags-ignore:
- '**'
paths-ignore:
- 'docs/**'
- 'installer/win_installer_note.txt'
- 'ChangeLog.txt'
- 'COPYING.txt'
- 'version.xml'
- '.retired_travis.yml'
- '**/**.md'
pull_request:
branches: [ master ]
tags-ignore:
- '**'
paths-ignore:
- 'docs/**'
- 'installer/win_installer_note.txt'
- 'ChangeLog.txt'
- 'COPYING.txt'
- 'version.xml'
- '.retired_travis.yml'
- '**/**.md'
env:
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_INSTALL_CLEANUP: 1
MACOSX_DEPLOYMENT_TARGET: 11
DOWNLOADQT: https://github.com/kevinhendricks/BuildSigilOnMac/releases/download/for_sigil_1.0.0/Qt673.tar.xz
DOWNLOADPY: https://github.com/kevinhendricks/BuildSigilOnMac/releases/download/for_sigil_1.0.0/Python.framework.tar.xz
PY_VER: 3.11
QT: Qt673
jobs:
build:
if: "!contains(github.event.head_commit.message, '[skip ci]')"
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- name: Cache Custom Qt
uses: actions/cache@v4
with:
path: ${{runner.workspace}}/${{env.QT}}
key: ${{ runner.os }}-qtdeps-${{hashFiles('**/reset-mac-caches.txt')}}
- name: Cache Custom Python
uses: actions/cache@v4
with:
path: ${{runner.workspace}}/Frameworks
key: ${{ runner.os }}-qtdeps-${{hashFiles('**/reset-mac-caches.txt')}}
- name: Install dependencies
shell: bash
working-directory: ${{runner.workspace}}
run: |
pwd
if [[ ! -d ${{runner.workspace}}/${{env.QT}} ]]; \
then curl -L -o qt6.tar.xz ${DOWNLOADQT} && tar xzf qt6.tar.xz; fi
if [[ -d ${{runner.workspace}}/${{env.QT}}/bin ]]; \
then cd ${{runner.workspace}}/${{env.QT}}/bin && \
echo [Paths] > qt.conf && echo Prefix=.. >> qt.conf; fi
export MYQTHOME=${{runner.workspace}}/${{env.QT}}
echo ${MYQTHOME}/bin >> $GITHUB_PATH
cd ${{runner.workspace}}
if [[ ! -d ${{runner.workspace}}/Frameworks ]]; \
then mkdir Frameworks && cd ${{runner.workspace}}/Frameworks && \
curl -L -o python3.tar.xz ${DOWNLOADPY} && tar xzf python3.tar.xz; fi
export MYDEST=${{runner.workspace}}/Frameworks
echo ${MYDEST}/Python.framework/Versions/${PY_VER}/bin >> $GITHUB_PATH
echo "Qt6_DIR=${{runner.workspace}}/${{env.QT}}/lib/cmake/Qt6" >> $GITHUB_ENV
echo "Qt6_Dir=${{runner.workspace}}/${{env.QT}}/lib/cmake/Qt6" >> $GITHUB_ENV
echo "QT_PLUGIN_PATH=${{runner.workspace}}/${{env.QT}}/plugins" >> $GITHUB_ENV
- name: Test environment
shell: bash
run: |
qmake -v
python3 --version
mkdir ${{runner.workspace}}/build
pwd
- name: Build Sigil
working-directory: ${{runner.workspace}}/build
shell: bash
run: |
cmake -DPKG_SYSTEM_PYTHON=1 \
-DCMAKE_OSX_DEPLOYMENT_TARGET=11 \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=-Wno-inconsistent-missing-override \
-DCMAKE_PREFIX_PATH=${{runner.workspace}}/${{env.QT}}/lib/cmake \
-DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/ $GITHUB_WORKSPACE
make -j$(getconf _NPROCESSORS_ONLN)
- name: Build Installer
working-directory: ${{runner.workspace}}/build
shell: bash
if: "contains(github.event.head_commit.message, '[deploy]')"
run: |
echo 'Deploying App'
make addframeworks
bash $GITHUB_WORKSPACE/ci_scripts/rpath_adjust.sh
cd ./bin
tar -cJf Sigil.tar.xz Sigil.app
# RIP gdrive
#- name: Upload to gdrive
# working-directory: ${{runner.workspace}}/build
# shell: bash
# if: "contains(github.event.head_commit.message, '[deploy]') && github.event_name != 'pull_request'"
# run: |
# gdrive version
# python3 $GITHUB_WORKSPACE/ci_scripts/newgddeploy.py
- uses: actions/upload-artifact@v4
if: "contains(github.event.head_commit.message, '[deploy]')"
with:
name: sigil-installer
path: ${{runner.workspace}}/build/bin/Sigil.tar.xz
retention-days: 5