-
Notifications
You must be signed in to change notification settings - Fork 108
169 lines (152 loc) · 7.08 KB
/
build.yaml
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
name: Build and Deploy
on:
push:
paths-ignore:
- 'LICENSE'
- 'README.md'
jobs:
linux-gcc:
runs-on: ubuntu-20.04
strategy:
matrix:
arch: [x86_64]
env:
CMAKE_BUILD_TYPE: Release
QT_PPA: beineri/opt-qt-5.15.4-focal
QT_VER: 515
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Setup QT
run: |
sudo add-apt-repository -y ppa:$QT_PPA
sudo apt-get update -qq
sudo apt-get install -y git build-essential cmake python3-dev python3-pip libpython3-stdlib zlib1g-dev libssl-dev libffi-dev libx11-dev mesa-common-dev
sudo apt-get install -y qt${QT_VER}-meta-minimal qt${QT_VER}declarative qt${QT_VER}imageformats qt${QT_VER}multimedia qt${QT_VER}tools qt${QT_VER}svg qt${QT_VER}x11extras qt${QT_VER}xmlpatterns
sudo pip3 install -Iv setuptools==41.0.1
sudo pip3 install ssh2-python
- name: Install Dependencies
run: |
source /opt/qt${QT_VER}/bin/qt${QT_VER}-env.sh
- name: Build and Install
run: |
mkdir build
cd build
git clone https://github.com/Orochimarufan/PythonQt
cd PythonQt
git checkout 18d4c24
cmake . -DCMAKE_INSTALL_PREFIX=/usr -DPythonQt_Python3=ON -DPYTHONQT_WITH_WEBKIT=OFF -DBUILD_SHARED_LIBS=ON
sudo cmake --build . --config $CMAKE_BUILD_TYPE --target install
- name: Deploy Linux
run: |
mkdir appdir
make install DESTDIR=appdir
sudo mkdir -p appdir/usr/lib/python3.4
sudo cp -r /usr/lib/python3.4/* appdir/usr/lib/python3.4/
sudo mkdir -p appdir/usr/local/lib/python3.4/dist-packages/ssh2
sudo cp -r /usr/local/lib/python3.4/dist-packages/ssh2/* appdir/usr/local/lib/python3.4/dist-packages/ssh2/
sudo chown -R $(id -nu) appdir
wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
chmod a+x linuxdeployqt-continuous-x86_64.AppImage
wget -c -nv "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
chmod a+x appimagetool-x86_64.AppImage
unset QTDIR; unset QT_PLUGIN_PATH; unset LD_LIBRARY_PATH
./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/*.desktop -bundle-non-qt-libs
unlink appdir/AppRun
cp ../res/screencloud.sh appdir/AppRun
rm -r appdir/usr/plugins/bearer
rm -r appdir/usr/plugins/mediaservice
rm -r appdir/usr/plugins/platforminputcontexts
rm -r appdir/usr/plugins/printsupport
rm -r appdir/usr/plugins/sqldrivers
rm -r appdir/usr/plugins/xcbglintegrations
./appimagetool-x86_64.AppImage appdir
mkdir .snapcraft
mkdir snap
cp ../deploy/linux/snapcraft.yaml snap/snapcraft.yaml
openssl aes-256-cbc -K ${{ secrets.SNAPCRAFT_KEY }} -iv ${{ secrets.SNAPCRAFT_IV }} -in ../.snapcraft/ci_snapcraft.cfg -out .snapcraft/snapcraft.cfg -d
docker run -v $(pwd):$(pwd) -t yakshaveinc/snapcraft:core18 sh -c "cd $(pwd) && snapcraft"
curl -v --upload-file $(ls | grep screencloud | grep .snap) https://oshi.at
curl -v --upload-file $(ls | grep ScreenCloud | grep .AppImage) https://oshi.at
macos-xcode9:
runs-on: macos-13
env:
CMAKE_BUILD_TYPE: Release
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Install Dependencies
run: |
brew install qt quazip
export PATH="$(brew --prefix qt)/bin:$PATH"
sudo easy_install pip
sudo pip install ssh2-python
- name: Build and Install
run: |
mkdir build
cd build
git clone https://github.com/Orochimarufan/PythonQt
cd PythonQt
git checkout 18d4c24
sudo cmake . -DCMAKE_PREFIX_PATH="$(brew --prefix qt)" -DPYTHON_INCLUDE_DIR=./pythonincludes -DPythonQt_Python3=OFF -DPYTHONQT_WITH_WEBKIT=OFF -DBUILD_SHARED_LIBS=ON
sudo cmake --build . --config $CMAKE_BUILD_TYPE --target install
- name: Deploy macOS
run: |
sudo make install
sudo cp -R /usr/local/lib/python2.7/site-packages/ssh2/. screencloud.app/Contents/Resources/modules/ssh2
sudo macdeployqt screencloud.app -verbose=3
sudo chown -R $(id -nu) screencloud.app
mkdir -p dmgdir/ScreenCloud.app
cp -r screencloud.app/* dmgdir/ScreenCloud.app/
ln -s /Applications dmgdir/Applications
hdiutil create -volname ScreenCloud-$VERSION -srcfolder dmgdir -ov -format UDZO ScreenCloud-$VERSION.dmg
curl -v --upload-file $(ls | grep ScreenCloud | grep .dmg) https://oshi.at
windows-vs2017:
runs-on: windows-latest
env:
PLATFORM: Win32
TOOLCHAIN: win32_msvc2017
CMAKE_BUILD_TYPE: Release
PYTHON_BASE_DIR: "'/c/Python37'"
PYTHON_PACKAGE: "'python3 --version 3.7.0 --forcex86'"
OPENSSL_LIB_SUFFIX: ""
QT_VERSION: 5.12.9
QT5_BASE_DIR: "'/c/Qt/5.12.9/msvc2017'"
WIX_PATH: "'/c/Program Files (x86)/WiX Toolset v3.11/bin'"
MSBUILD_PATH: "'/c/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/MSBuild/15.0/Bin'"
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Install Dependencies
run: |
powershell Install-WindowsFeature Net-Framework-Core
choco install python --version 3.7.0
choco install wixtoolset
.\tools\install-qt.sh --toolchain ${TOOLCHAIN} --version ${QT_VERSION} qtbase qttools qtmultimedia qtsvg qtwinextras qtimageformats qt3d qtquickcontrols qtquickcontrols2 qtdeclarative qtxmlpatterns
git clone --branch 1.1.1g-20200510 https://github.com/janbar/openssl-cmake
mkdir openssl-cmake/build
cd openssl-cmake/build
cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd) -DCMAKE_GENERATOR_PLATFORM=${PLATFORM} -DBUILD_SHARED_LIBS=ON
cmake --build . --config $CMAKE_BUILD_TYPE --target install
mv bin/libcrypto*.dll bin/libcrypto-1_1${OPENSSL_LIB_SUFFIX}.dll
mv bin/libssl*.dll bin/libssl-1_1${OPENSSL_LIB_SUFFIX}.dll
rm ${PYTHON_BASE_DIR}/DLLs/libssl*.dll
rm ${PYTHON_BASE_DIR}/DLLs/libcrypto*.dll
cp bin/libcrypto*.dll ${PYTHON_BASE_DIR}/DLLs/
cp bin/libssl*.dll ${PYTHON_BASE_DIR}/DLLs/
- name: Build and Install
run: |
mkdir build
cd build
git clone https://github.com/Orochimarufan/PythonQt
cd PythonQt
git checkout 18d4c24
cmake . -DCMAKE_INSTALL_PREFIX=$(pwd) -DCMAKE_GENERATOR_PLATFORM=${PLATFORM} -DPythonQt_Python3=ON -DPYTHONQT_WITH_WEBKIT=OFF -DBUILD_SHARED_LIBS=ON -DPYTHON_INCLUDE_DIR=${PYTHON_BASE_DIR}/include -DPYTHON_LIBRARY=${PYTHON_BASE_DIR}/libs/python37.lib
cmake --build . --config $CMAKE_BUILD_TYPE --target install
- name: Deploy Windows
run: |
cp -r ${PYTHON_BASE_DIR}/DLLs DLLs
cp -r ${PYTHON_BASE_DIR}/Lib/site-packages/ssh2 modules/ssh2
7z a -tzip -mx=9 python37.zip ${PYTHON_BASE_DIR}/Lib/*
cmake --build . --config $CMAKE_BUILD_TYPE --target install
curl -v --upload-file $(ls | grep ScreenCloud | grep .msi) https://oshi.at