Scroll fw bck smoothy #707
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
jobs: | |
native: | |
name: build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
steps: | |
- name: Checkout onto ${{ runner.os }} | |
uses: actions/checkout@v3.5.3 | |
- name: Setup C++ environment | |
uses: kurocha/setup-cpp@v1 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3.2.1 | |
- name: Version | |
run: echo "::set-output name=version::$(head -n 1 ./QtVsPlayer.pro| cut -d ' ' -f 3)" | |
id: version | |
- name: Rel | |
run: echo "::set-output name=rel::$(grep "%global Rel" ./QtVsPlayermga8wally.spec | cut -d ' ' -f 3)" | |
id: rel | |
- name: Update Version and Release | |
run: | | |
sed -i 's/\(VERSION = \).*/\1 ${{ steps.version.outputs.version }}/' QtVsPlayer.pro | |
sed -i 's/\(RELEASE = \).*/\1 ${{ steps.Rel.outputs.rel }}/' QtVsPlayer.pro | |
- name: Prepare install dir | |
run: | | |
sudo apt update | |
sudo apt install -y chrpath libopenal-dev | |
mkdir -p .debpkg | |
# create DEBIAN directory if you want to add other pre/post scripts | |
mkdir -p .debpkg/DEBIAN | |
cat <<'EOF' > .debpkg/DEBIAN/postinst | |
if [ ! -d "/usr/lib64/QtVsPlayer" ]; | |
then | |
ln -sr /usr/lib64/QtVsPlayer /usr/lib/ | |
fi | |
if [ -f "/usr/lib64/QtVsPlayer/libopenal.so.1" ]; | |
then | |
rm -fr /usr/lib64/QtVsPlayer/libopenal.so.1 | |
fi | |
ln -sr $(whereis "libopenal.so.1" | sed "s|.* \(.*libopenal.so.1\).*|\1|") /usr/lib64/QtVsPlayer | |
cat <<'EOT' > /etc/ld.so.conf.d/QtVsPlayer.conf | |
/usr/lib64/QtVsPlayer/ | |
/usr/lib64/QtVsPlayer/HCNetSDKCom/ | |
EOT | |
/sbin/ldconfig | |
/sbin/ldconfig /usr/lib64/QtVsPlayer/ | |
add-apt-repository ppa:surfzoid/hikvision -y | |
EOF | |
cat <<'EOF' > .debpkg/DEBIAN/prerm | |
if [ -f "/usr/lib64/QtVsPlayer/libopenal.so.1" ]; | |
then | |
rm -fr /usr/lib64/QtVsPlayer/libopenal.so.1 | |
fi | |
EOF | |
chmod +x .debpkg/DEBIAN/postinst | |
chmod +x .debpkg/DEBIAN/prerm | |
echo -e "Automatic build from GitHub action, see QtVsPlayermga8wally.spec for change log" > CHANGELOG | |
- name: qmake | |
run: PREFIX=.debpkg/usr/share; qmake | |
env: | |
PREFIX: .debpkg/usr/share | |
INSTALL_ROOT: .debpkg/usr/share | |
- name: make | |
run: make | |
- name: make check | |
run: make check | |
- name: make install | |
run: INSTALL_ROOT=.debpkg/usr/share; make install | |
- name: build-deb-action | |
uses: jiro4989/build-deb-action@v2.1.0 | |
with: | |
package: QtVsPlayer | |
package_root: .debpkg | |
maintainer: surfzoid | |
version: ${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} # ${{ github.ref }} # refs/tags/v*.*.* | |
arch: 'amd64' | |
depends: 'libqt5multimedia5, libqt5multimediawidgets5' #libc6 (>= 2.2.1), | |
desc: 'QtVsPlayer can read local video files of Hikvision and display blue, green and red vector.' | |
- name: del DEBIAN | |
run: | | |
sudo rm -fr .debpkg/DEBIAN | |
- name: Build RPM package | |
run: | | |
set -x | |
rm -fr /tmp/work | |
mkdir /tmp/work | |
mv .debpkg/usr/share/doc/QtVsPlayer .debpkg/usr/share/doc/QtVsPlayer-${{ steps.version.outputs.version }} | |
mv .debpkg/usr/share/licenses/QtVsPlayer .debpkg/usr/share/licenses/QtVsPlayer-${{ steps.version.outputs.version }} | |
cp -rp .debpkg /tmp/work/QtVsPlayer-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} | |
mkdir -p ~/rpmbuild/{SRPMS,SOURCES,SPECS,tmp} | |
cp -pf QtVsPlayermga8wally.spec ~/rpmbuild/SPECS | |
cp -pf QtVsPlayer-fix.patch ~/rpmbuild/SPECS | |
sed -i 's/\(Source0:\).*/\1 tmp.tar.gz/' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
# sed -i 's/"%autosetup -n %{name}-%{version}-%{Rel}"/"%autosetup -n %{name}-%{version}"/' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
# sed -i 's/\(Release:\).*/\1 1/' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/VERSION = /d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/RELEASE = /d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/^BuildRequires/d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/^Requires/d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/^%qmake_qt5/d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/^%make_build/d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i 's/\(make_install\).*/\1\ncp -fr %{_builddir}\/QtVsPlayer-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}\/* %{buildroot}/' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/^%make_install/d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/^rm -rf %{buildroot}%{_datadir}/d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -ir '/\%post/adnf copr enable surfzoid/HikNetExtractor' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -ir '/\%post/adnf copr enable surfzoid/QtVsPlayer' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
cd /tmp/work | |
tar czf tmp.tar.gz QtVsPlayer-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}/ | |
mv tmp.tar.gz ~/rpmbuild/SOURCES | |
rpmbuild -ba ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
cp -f ~/rpmbuild/RPMS/x86_64/QtVsPlayer-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}* ${{ github.workspace }} | |
cp -f ~/rpmbuild/SRPMS/QtVsPlayer-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}* ${{ github.workspace }} | |
- name: Rename package with te good arch/distro | |
run: | | |
for f in $(find ./|grep -i "deb$"); do | |
echo -e $f | |
echo ${f//amd64/${{ matrix.os }}-amd64} | |
ef=${f//amd64/${{ matrix.os }}-amd64} | |
echo $ef | |
mv $f $ef | |
done | |
- name: Create Github Release | |
uses: ncipollo/release-action@v1.11.1 | |
id: create_release | |
with: | |
artifacts: "QtVsPlayer-${{ steps.version.outputs.version }}*,QtVsPlayer_${{ steps.version.outputs.version }}*,QtVsPlayer-debuginfo*" | |
replacesArtifacts: true | |
token: ${{ github.TOKEN }} | |
allowUpdates: true | |
name: ${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} | |
tag: ${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} | |
body: "Automatic build from GitHub action, see [QtVsPlayermga8wally.spec](https://github.com/surfzoid/QtVsPlayer/blob/main/QtVsPlayermga8wally.spec#L138) for change log" | |
- name: clean | |
run: | |
rm -fr .debpkg | |
- name: irc push | |
uses: rectalogic/notify-irc@v1 | |
if: github.event_name == 'push' | |
with: | |
channel: "#QtVsPlayer" | |
server: "irc.libera.chat" | |
nickname: my-github-notifier | |
message: | | |
${{ github.actor }} pushed ${{ github.event.ref }} ${{ github.event.compare }} | |
${{ join(github.event.commits.*.message) }} | |
- name: irc pull request | |
uses: rectalogic/notify-irc@v1 | |
if: github.event_name == 'pull_request' | |
with: | |
channel: "#QtVsPlayer" | |
server: "irc.libera.chat" | |
nickname: my-github-notifier | |
message: | | |
${{ github.actor }} opened PR ${{ github.event.pull_request.html_url }} | |
- name: irc tag created | |
uses: rectalogic/notify-irc@v1 | |
if: github.event_name == 'create' && github.event.ref_type == 'tag' | |
with: | |
channel: "#QtVsPlayer" | |
server: "irc.libera.chat" | |
nickname: my-github-notifier | |
message: | | |
${{ github.actor }} tagged ${{ github.repository }} ${{ github.event.ref }} | |
cross: | |
name: RPI_P400-ARM64 | |
runs-on: [self-hosted, Linux, ARM64] | |
steps: | |
- uses: actions/checkout@v3.5.3 | |
- name: Version | |
run: echo "::set-output name=version::$(head -n 1 ./QtVsPlayer.pro| cut -d ' ' -f 3)" | |
id: version | |
- name: Rel | |
run: echo "::set-output name=rel::$(grep "%global Rel" ./QtVsPlayermga8wally.spec | cut -d ' ' -f 3)" | |
id: rel | |
- name: Update Version and Release | |
run: | | |
sed -i 's/\(VERSION = \).*/\1 ${{ steps.version.outputs.version }}/' QtVsPlayer.pro | |
sed -i 's/\(RELEASE = \).*/\1 ${{ steps.Rel.outputs.rel }}/' QtVsPlayer.pro | |
- name: Prepare install dir | |
run: | | |
# create DEBIAN directory if you want to add other pre/post scripts | |
mkdir -p .debpkg/DEBIAN | |
cat <<'EOF' > .debpkg/DEBIAN/postinst | |
if [ ! -d "/usr/lib64/QtVsPlayer" ]; | |
then | |
ln -sr /usr/lib64/QtVsPlayer /usr/lib/ | |
fi | |
if [ -f "/usr/lib64/QtVsPlayer/libopenal.so.1" ]; | |
then | |
rm -fr /usr/lib64/QtVsPlayer/libopenal.so.1 | |
fi | |
ln -sr $(whereis "libopenal.so.1" | sed "s|.* \(.*libopenal.so.1\).*|\1|") /usr/lib64/QtVsPlayer | |
cat <<'EOT' > /etc/ld.so.conf.d/QtVsPlayer.conf | |
/usr/lib64/QtVsPlayer/ | |
/usr/lib64/QtVsPlayer/HCNetSDKCom/ | |
EOT | |
/sbin/ldconfig | |
/sbin/ldconfig /usr/lib64/QtVsPlayer/ | |
add-apt-repository ppa:surfzoid/hikvision -y | |
EOF | |
cat <<'EOF' > .debpkg/DEBIAN/prerm | |
if [ -f "/usr/lib64/QtVsPlayer/libopenal.so.1" ]; | |
then | |
rm -fr /usr/lib64/QtVsPlayer/libopenal.so.1 | |
fi | |
EOF | |
chmod +x .debpkg/DEBIAN/postinst | |
chmod +x .debpkg/DEBIAN/prerm | |
echo -e "Automatic build from GitHub action, see QtVsPlayermga8wally.spec for change log" > CHANGELOG | |
- name: qmake | |
run: PREFIX=.debpkg/usr/share; qmake | |
env: | |
PREFIX: .debpkg/usr/share | |
INSTALL_ROOT: .debpkg/usr/share | |
- name: make | |
run: make | |
- name: make check | |
run: make check | |
- name: make install | |
run: INSTALL_ROOT=.debpkg/usr/share; make install | |
- name: Installed-Size | |
run: echo "::set-output name=installed::$(echo `du -s .debpkg/usr` | awk '{print $1;}')" | |
id: size | |
- name: Build control file | |
run: | | |
cat << 'EOF' > .debpkg/DEBIAN/control | |
Package: QtVsPlayer | |
Version: ${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} | |
Installed-Size: ${{ steps.installed.outputs.size }} | |
Architecture: arm64 | |
Maintainer: surfzoid | |
Depends: libc6 (>= 2.31),libqt5multimedia5:arm64, libqt5multimediawidgets5:arm64 | |
Description: QtVsPlayer can read local video files of Hikvision and display blue, green and red vector. | |
EOF | |
- name: Build debian package | |
run: | | |
dpkg-deb -b .debpkg QtVsPlayer_${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}_`lsb_release -cs`-arm64.deb | |
- name: del DEBIAN | |
run: sudo rm -fr .debpkg/DEBIAN | |
- name: Build RPM package | |
run: | | |
set -x | |
rm -fr /home/pi/rpmbuild/RPMS/aarch64/* | |
rm -fr /home/pi/rpmbuild/SRPMS/* | |
rm -fr /tmp/work | |
mkdir /tmp/work | |
mv .debpkg/usr/share/doc/QtVsPlayer .debpkg/usr/share/doc/QtVsPlayer-${{ steps.version.outputs.version }} | |
mv .debpkg/usr/share/licenses/QtVsPlayer .debpkg/usr/share/licenses/QtVsPlayer-${{ steps.version.outputs.version }} | |
cp -rp .debpkg /tmp/work/QtVsPlayer-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} | |
mkdir -p ~/rpmbuild/{SRPMS,SOURCES,SPECS,tmp} | |
cp -pf QtVsPlayermga8wally.spec ~/rpmbuild/SPECS | |
cp -pf QtVsPlayer-fix.patch ~/rpmbuild/SPECS | |
sed -i 's/\(Source0:\).*/\1 tmp.tar.gz/' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
# sed -i 's/"%autosetup -n %{name}-%{version}-%{Rel}"/"%autosetup -n %{name}-%{version}"/' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
# sed -i 's/\(Release:\).*/\1 1/' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/VERSION = /d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/RELEASE = /d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/^BuildRequires/d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/^Requires/d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/^%qmake_qt5/d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/^%make_build/d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i 's/\(make_install\).*/\1\ncp -fr %{_builddir}\/QtVsPlayer-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}\/* %{buildroot}/' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/^%make_install/d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -i '/^rm -rf %{buildroot}%{_datadir}/d' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -ir '/\%post/adnf copr enable surfzoid/HikNetExtractor' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
sed -ir '/\%post/adnf copr enable surfzoid/QtVsPlayer' ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
cd /tmp/work | |
tar czf tmp.tar.gz QtVsPlayer-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}/ | |
mv tmp.tar.gz ~/rpmbuild/SOURCES | |
rpmbuild -ba ~/rpmbuild/SPECS/QtVsPlayermga8wally.spec | |
cp -f ~/rpmbuild/RPMS/aarch64/QtVsPlayer-${{ steps.version.outputs.version }}* ${{ github.workspace }} | |
cp -f ~/rpmbuild/SRPMS/QtVsPlayer-${{ steps.version.outputs.version }}* ${{ github.workspace }} | |
- name: Create Github Release | |
uses: ncipollo/release-action@v1.11.1 | |
id: create_release | |
with: | |
artifacts: "QtVsPlayer-${{ steps.version.outputs.version }}*,QtVsPlayer_${{ steps.version.outputs.version }}*,QtVsPlayer-debuginfo*" | |
replacesArtifacts: true | |
token: ${{ github.TOKEN }} | |
allowUpdates: true | |
name: ${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} | |
tag: ${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} | |
body: "Automatic build from GitHub action, see [QtVsPlayermga8wally.spec](https://github.com/surfzoid/QtVsPlayer/blob/main/QtVsPlayermga8wally.spec#L138) for change log" | |
windoze: | |
# The type of runner that the job will run on | |
name: ${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.os }} | |
env: | |
CC: gcc | |
CXX: g++ | |
Qt5_DIR: $GITHUB_WORKSPACE/qt/Qt/5.15.2/{arch}/bin | |
#QMAKESPEC: "%QTDIR%\/mkspecs\/win32-g++" | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { | |
name: "Windows Latest MinGW", | |
os: windows-2019, | |
#artifact: "windows_mingw.7z", | |
#build_type: "Release", | |
cc: "gcc", | |
cxx: "g++", | |
#archiver: "7z a", | |
#generators: "Ninja" | |
} | |
steps: | |
- uses: actions/checkout@v3.5.3 | |
- name: Version | |
run: echo "::set-output name=version::$(head -n 1 ./QtVsPlayer.pro| cut -d ' ' -f 3)" | |
id: version | |
- name: Rel | |
run: echo "::set-output name=rel::$(grep "%global Rel" ./QtVsPlayermga8wally.spec | cut -d ' ' -f 3)" | |
id: rel | |
- name: Update Version and Release | |
run: | | |
sed -i 's/\(VERSION = \).*/\1 ${{ steps.version.outputs.version }}/' QtVsPlayer.pro | |
sed -i 's/\(RELEASE = \).*/\1 ${{ steps.Rel.outputs.rel }}/' QtVsPlayer.pro | |
- name: Check Version | |
run: echo ${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3.2.1 | |
with: | |
version: '5.15.2' | |
#host: 'windows' | |
#target: 'desktop' | |
dir: 'qt' | |
arch: 'win64_mingw81' | |
tools: 'tools_qtcreator,qt.tools.qtcreator' | |
- name: Install QT IFW (Windows) | |
if: runner.os == 'Windows' | |
run: | | |
python -m aqt install-tool windows desktop tools_ifw --outputdir C:/Qt | |
echo "C:/Qt/Tools/QtInstallerFramework/4.7/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
echo $env:GITHUB_PATH | |
echo $env:PATH | |
- name: qmake | |
run: | | |
#setx QMAKESPEC="%QTDIR%\mkspecs\/win64-g++" /M | |
#qmake -Wnone -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug" | |
qmake -Wnone -spec win32-g++ "CONFIG+=release" "CONFIG+=qml_debug" | |
- name: make & install | |
run: | | |
#remove double return | |
#sed -i ':a;N;$!ba;s/\n\n/\n/g' Makefile.Release | |
#sed -i ':a;N;$!ba;s/-Wextra -Wextra/-Wextra/g' Makefile.Release | |
#cat Makefile.Release | |
#make --debug | |
make | |
#dir debug | |
#dir release | |
mkdir application | |
cp release/QtVsPlayer.exe application/ | |
cp lib/w86_64/* application/ | |
cp lib/w86_64/HCNetSDKCom/* application/HCNetSDKCom/ | |
dir application/ | |
cp install-win.md application/README.TXT | |
cp README.md application/ | |
cp QtVsPlayer_fr_FR.qm application/ | |
cp LICENSE application/LICENSE.txt | |
cp Licenses_playctrl_linux.txt application/ | |
rm application/PlayCtrl.lib | |
qtenv2.bat | |
windeployqt application/QtVsPlayer.exe --debug --compiler-runtime --libdir application/ | |
cp qt/Qt/5.15.2/mingw81_64/bin/libgcc_s_seh-1.dll application/ | |
cp qt/Qt/5.15.2/mingw81_64/bin/libstdc++-6.dll application/ | |
cp qt/Qt/5.15.2/mingw81_64/bin/libwinpthread-1.dll application/ | |
Compress-Archive -Path application\* -DestinationPath QtVsPlayer-win64-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}.zip | |
- name: Create windows setup | |
run: | | |
cp -r application/ windeploy/packages/com.surfzoid.QtVsPlayer/data/ | |
mv windeploy/packages/com.surfzoid.QtVsPlayer/data/LICENSE.txt windeploy/packages/com.surfzoid.QtVsPlayer/meta | |
cd windeploy | |
sed "/Version/s/>[^<]*</>${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}</" packages/com.surfzoid.QtVsPlayer/meta/package.xml | |
sed "/ReleaseDate/s/>[^<]*</>date/T</" packages/com.surfzoid.QtVsPlayer/meta/package.xml | |
sed "/Version/s/>[^<]*</>${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}</" config/config.xml | |
C:/Qt/Tools/QtInstallerFramework/4.7/bin/binarycreator.exe -c config/config.xml -p packages -f QtVsPlayerSetup-win64-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} --verbose | |
mv QtVsPlayerSetup-win64-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}.exe ../ | |
- name: Create Github Release | |
uses: ncipollo/release-action@v1.11.1 | |
id: create_release | |
with: | |
artifacts: "QtVsPlayer-win64-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}.zip,QtVsPlayerSetup-win64*" | |
replacesArtifacts: true | |
token: ${{ github.TOKEN }} | |
allowUpdates: true | |
name: ${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} | |
tag: ${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} | |
body: "Automatic build from GitHub action, see [QtVsPlayermga8wally.spec](https://github.com/surfzoid/QtVsPlayer/blob/main/QtVsPlayermga8wally.spec#L138) for change log" | |
Mac: | |
# The type of runner that the job will run on | |
name: ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
env: | |
CC: gcc | |
CXX: g++ | |
Qt5_DIR: $GITHUB_WORKSPACE/qt/Qt/5.15.2/{arch}/bin | |
QT_PLUGIN_PATH: $GITHUB_WORKSPACE/qt/Qt/5.15.2/{arch}/plugins/ | |
strategy: | |
matrix: | |
os: [macos-11, macos-12] | |
steps: | |
- uses: actions/checkout@v3.5.3 | |
- name: Version | |
run: echo "::set-output name=version::$(head -n 1 ./QtVsPlayer.pro| cut -d ' ' -f 3)" | |
id: version | |
- name: Rel | |
run: echo "::set-output name=rel::$(grep "%global Rel" ./QtVsPlayermga8wally.spec | cut -d ' ' -f 3)" | |
id: rel | |
- name: Update Version and Release | |
run: | | |
sed -ie 's/\(VERSION = \).*/\1 ${{ steps.version.outputs.version }}/' QtVsPlayer.pro | |
sed -ie 's/\(RELEASE = \).*/\1 ${{ steps.Rel.outputs.rel }}/' QtVsPlayer.pro | |
- name: MacVersion | |
run: echo "::set-output name=version::$(sw_vers -productVersion)" | |
id: MacVersion | |
- name: Check Version | |
run: echo ${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} | |
- name: py setup | |
run: | | |
pip3 install --upgrade pip | |
pip3 install --upgrade setuptools | |
pip3 install wheel | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3.2.1 | |
with: | |
version: '5.15.2' | |
dir: 'qt' | |
env: | |
PREFIX: ~/QtVsPlayer-mac64-${{ steps.MacVersion.outputs.version }}-${{ steps.version.outputs.version }}/usr/share | |
INSTALL_ROOT: ~/QtVsPlayer-mac64-${{ steps.MacVersion.outputs.version }}-${{ steps.version.outputs.version }}/usr/share | |
- name: qmake | |
run: | | |
PREFIX=~/QtVsPlayer-mac64-${{ steps.MacVersion.outputs.version }}-${{ steps.version.outputs.version }}/usr/share; qmake -Wnone | |
- name: make | |
run: | | |
make | |
- name: make check | |
run: make check | |
- name: make install | |
run: | | |
cp lib/macX86_64/*.dylib qtvsplayer.app/Contents/MacOS/ | |
install_name_tool -change /usr/local/lib/libSystemTranform.dylib qtvsplayer.app/Contents/MacOS/libSystemTransform.dylib qtvsplayer.app/Contents/MacOS/libHCNetSDK.dylib | |
install_name_tool -change /usr/local/lib/libSystemTranform.dylib qtvsplayer.app/Contents/MacOS/libSystemTransform.dylib qtvsplayer.app/Contents/MacOS/QtVsPlayer | |
#mkdir macbuild | |
#mv qtvsplayer.app macbuild/ | |
#cd macbuild/ | |
pkgbuild --root ./qtvsplayer.app --version ${{ steps.version.outputs.version }} --identifier com.github.QtVsPlayer.app --install-location /Applications QtVsPlayer-mac64-${{ steps.MacVersion.outputs.version }}-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}.pkg | |
macdeployqt "QtVsPlayer.app" -dmg -always-overwrite -no-plugins | |
mv QtVsPlayer.dmg QtVsPlayer-mac64-${{ steps.MacVersion.outputs.version }}-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}.dmg | |
tar -czf QtVsPlayer-mac64-${{ steps.MacVersion.outputs.version }}-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}.tgz qtvsplayer.app | |
- name: Create Github Release | |
uses: ncipollo/release-action@v1.11.1 | |
id: create_release | |
with: | |
artifacts: "QtVsPlayer-mac64-${{ steps.MacVersion.outputs.version }}-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}.pkg,QtVsPlayer-mac64-${{ steps.MacVersion.outputs.version }}-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}.tgz,QtVsPlayer-mac64-${{ steps.MacVersion.outputs.version }}-${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }}.dmg" | |
replacesArtifacts: true | |
token: ${{ github.TOKEN }} | |
allowUpdates: true | |
name: ${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} | |
tag: ${{ steps.version.outputs.version }}-${{ steps.Rel.outputs.rel }} | |
body: "Automatic build from GitHub action, see [QtVsPlayermga8wally.spec](https://github.com/surfzoid/QtVsPlayer/blob/main/QtVsPlayermga8wally.spec#L138) for change log" |