update workflows #1359
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: Ubuntu | |
on: | |
workflow_dispatch: | |
push: | |
paths: | |
- '*.txt' | |
- 'src/**' | |
- 'example/**' | |
- 'scripts/**' | |
- '.github/workflows/ubuntu.yml' | |
pull_request: | |
paths: | |
- '*.txt' | |
- 'src/**' | |
- 'example/**' | |
- 'scripts/**' | |
- '.github/workflows/ubuntu.yml' | |
jobs: | |
build: | |
name: Build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
qt_ver: [6.6.2] | |
qt_arch: [gcc_64] | |
env: | |
targetName: example | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ matrix.qt_ver }} | |
cache: ${{steps.cache-qt.outputs.cache-hit}} | |
arch: ${{ matrix.qt_arch }} | |
modules: 'qt5compat qtmultimedia qtshadertools qtimageformats qt3d' | |
- name: Set up Ninja | |
uses: seanmiddleditch/gha-setup-ninja@v3 | |
with: | |
version: 1.10.2 | |
- name: ubuntu install GL library | |
run: sudo apt-get install -y libxcb-cursor0 libgl1-mesa-dev libxcb1-dev libgtk-3-dev libxkbcommon-x11-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-sync-dev libxcb-render-util0-dev libxcb-shm0-dev | |
- name: ubuntu install libfuse2 | |
run: sudo apt install libfuse2 | |
- name: build ubuntu | |
run: | | |
ninja --version | |
cmake --version | |
mkdir build | |
cd build | |
cmake -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_PREFIX_PATH=/home/runner/work/FluentUI/Qt/${{ matrix.qt_ver }}/gcc_64 -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -GNinja .. | |
cmake --build . --target all --config Release --parallel | |
- name: install QT linux deploy | |
uses: miurahr/install-linuxdeploy-action@v1 | |
with: | |
plugins: qt appimage | |
- name: Check if svg file exists | |
run: if [ ! -f "${targetName}.svg" ]; then echo "File not found, creating..."; touch ${targetName}.svg; fi | |
- name: package | |
run: | | |
# make sure Qt plugin finds QML sources so it can deploy the imported files | |
export QML_SOURCES_PATHS=./ | |
# 拷贝依赖 | |
linuxdeploy-x86_64.AppImage --plugin=qt --output=appimage --create-desktop-file --icon-file=${targetName}.svg --executable=bin/Release/${targetName} --appdir bin/release/ | |
mv ${{ env.targetName }}-*.AppImage ${{ env.targetName }}.AppImage | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.targetName }}_${{ matrix.os }}_${{matrix.qt_ver}} | |
path: ${{ env.targetName }}.AppImage | |
- name: uploadRelease | |
if: startsWith(github.event.ref, 'refs/tags/') | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: ${{ env.targetName }}.AppImage | |
asset_name: ${{ env.targetName }}_${{ github.ref_name }}_${{ matrix.os }}_Qt${{ matrix.qt_ver }}.AppImage | |
tag: ${{ github.ref }} | |
overwrite: true |