mirror of
https://github.com/x-tools-author/x-tools.git
synced 2025-09-15 15:28:40 +08:00
107 lines
4.2 KiB
YAML
107 lines
4.2 KiB
YAML
name: build-release
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
jobs:
|
|
update-release:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Delete Release
|
|
run: |
|
|
gh release delete ${{ github.ref_name }} -y || true
|
|
- name: Create Release
|
|
run: |
|
|
gh release create ${{ github.ref_name }} --title "Release ${{ github.ref_name }}" --notes "The version is ready. You can see the changed log: https://github.com/qsaker/QtSwissArmyKnife/blob/master/resources/files/History.txt"
|
|
release-for-windows:
|
|
runs-on: windows-2019
|
|
needs: update-release
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Install Qt
|
|
uses: jurplel/install-qt-action@v3
|
|
with:
|
|
version: '6.5.3'
|
|
target: 'desktop'
|
|
arch: 'win64_msvc2019_64'
|
|
dir: ${{ github.workspace }}
|
|
modules: 'qtcharts qtserialbus qtserialport qtwebsockets'
|
|
- name: Build for Windows
|
|
shell: cmd
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
|
|
cmake -DCMAKE_PREFIX_PATH='${{ github.workspace }}/Qt/6.5.3/win64_msvc2019_64/lib/cmake/Qt6' -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" ../
|
|
cmake --build . --target QtSwissArmyKnife
|
|
dir && dir .\sak && dir .\sak\QtSwissArmyKnife
|
|
- name: Upload Release Asset for Windnows
|
|
run: |
|
|
dir && gh release upload ${{ github.ref_name }} 'build\sak\qtswissarmyknife-windows-amd64.zip'
|
|
release-for-linux:
|
|
runs-on: ubuntu-20.04
|
|
needs: update-release
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Install Qt
|
|
uses: jurplel/install-qt-action@v3
|
|
with:
|
|
version: '6.5.3'
|
|
target: 'desktop'
|
|
arch: 'gcc_64'
|
|
dir: ${{ github.workspace }}
|
|
modules: 'qtcharts qtserialbus qtserialport qtwebsockets'
|
|
- name: install-dependencies
|
|
run: |
|
|
sudo apt-get install -y libxcb-xinerama0 libxcb-cursor-dev
|
|
- name: Build for Linux
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake ../ -DCMAKE_PREFIX_PATH='${{ github.workspace }}/Qt/6.5.3/gcc_64/lib/cmake/Qt6' -DCMAKE_BUILD_TYPE:STRING=Release -DSAK_ENABLE_LINUXDEPLOYQT:BOOL=TRUE -DSAK_ENABLE_LINUXDEPLOYQT_DOWNLOAD:BOOL=TRUE -G "Unix Makefiles"
|
|
cmake --build . --target QtSwissArmyKnife
|
|
dir && dir ./sak && dir ./sak/QtSwissArmyKnife
|
|
- name: Upload Release Asset for Linux
|
|
run: |
|
|
dir && gh release upload ${{ github.ref_name }} 'build/qtswissarmyknife-linux-x86_64.AppImage'
|
|
release-for-macos:
|
|
runs-on: macos-11
|
|
needs: update-release
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
- name: Install Qt
|
|
uses: jurplel/install-qt-action@v3
|
|
with:
|
|
version: '6.5.3'
|
|
target: 'desktop'
|
|
arch: 'clang_64'
|
|
dir: ${{ github.workspace }}
|
|
modules: 'qtcharts qtserialbus qtserialport qtwebsockets'
|
|
- name: Build for macOS
|
|
# 278ERROR: no file at "/usr/local/opt/libiodbc/lib/libiodbc.2.dylib"
|
|
# brew unlink unixodbc
|
|
# brew install libiodbc
|
|
# ERROR: no file at "/Applications/Postgres.app/Contents/Versions/14/lib/libpq.5.dylib"
|
|
# ln -s /usr/local/Cellar/postgresql@14/14.10/lib/postgresql@14/libpq.5.14.dylib /Applications/Postgres.app/Contents/Versions/14/lib/libpq.5.dylib
|
|
run: |
|
|
# brew unlink unixodbc
|
|
# brew install libiodbc
|
|
mkdir -p /Applications/Postgres.app/Contents/Versions/14/lib
|
|
ln -s /usr/local/Cellar/postgresql@14/14.10/lib/postgresql@14/libpq.5.14.dylib /Applications/Postgres.app/Contents/Versions/14/lib/libpq.5.dylib
|
|
mkdir build
|
|
cd build
|
|
cmake ../ -DCMAKE_PREFIX_PATH='${{ github.workspace }}/Qt/6.5.3/clang_64/lib/cmake/Qt6' -DCMAKE_BUILD_TYPE:STRING=Release -G "Unix Makefiles"
|
|
cmake --build . --target QtSwissArmyKnife
|
|
ls && ls ./sak && ls ./sak/QtSwissArmyKnife
|
|
- name: Upload Release Asset for macOS
|
|
run: |
|
|
ls && gh release upload ${{ github.ref_name }} 'build/sak/QtSwissArmyKnife/qtswissarmyknife-macos-11.dmg'
|