Skip to content

Commit

Permalink
Refactor ci scripts
Browse files Browse the repository at this point in the history
Signed-off-by: xiaoming <[email protected]>
  • Loading branch information
QQxiaoming committed Aug 21, 2024
1 parent 39b7f2e commit 34aece5
Show file tree
Hide file tree
Showing 4 changed files with 227 additions and 138 deletions.
58 changes: 0 additions & 58 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -96,61 +96,3 @@ jobs:
name: quardCRT_Ubuntu2004
path: |
./dpkg/*.deb
appimage:
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v4

- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '6.5.3'
modules: 'qtwebsockets qtserialport qtmultimedia'
aqtversion: ==3.1.7

- name: Install prerequisites
run: |
sudo apt update
sudo apt install -y make gcc patchelf chrpath qt5-default libxcb-cursor0 build-essential libgtk-3-dev
- name: Install setup python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: build fcitx_qt6
run: |
cd depend
sudo apt install fcitx-libs-dev qtbase5-private-dev libxkbcommon-dev extra-cmake-modules tree
export PATH=$Qt6_DIR/bin:$PATH
export PATH=$Qt6_DIR/../../Qt/Tools/CMake/bin:$PATH
export Qt6GuiTools_DIR=$Qt6_DIR
./build_fcitx_qt6_linux.sh
cp ./fcitx-qt5-1.2.7/build/qt6/platforminputcontext/libfcitxplatforminputcontextplugin-qt6.so ./
- name: build libssh2
run: |
cd depend
export PATH=$Qt6_DIR/bin:$PATH
./build_libssh2.sh
sudo cp -R ./output /usr/local/
- name: Build all
run: |
git fetch --tags --force
sed -i 's/--long --dirty/--long/g' ./tools/generate_info.sh
sed -i 's/QT_DIR=\/opt\/Qt6.2.0\/6.2.0\/gcc_64/QT_DIR=$(cd "$(dirname "$0")";pwd)\/..\/Qt\/6.5.3\/gcc_64/g' build_AppImage.sh
sed -i 's/LIBSSH2_DIR=\/libssh2/LIBSSH2_DIR=\/usr\/local\/output/g' ./lib/qtssh/qtssh.pri
mkdir prebuilt_plugins
python3 ./.github/scripts/get_plugin.py ./.github/scripts/plugin_list.json ./prebuilt_plugins
./build_AppImage.sh
- name: Upload build asserts
uses: actions/upload-artifact@v4
with:
name: quardCRT_AppImage
path: |
./AppImageOut/*.AppImage
99 changes: 99 additions & 0 deletions .github/workflows/linux_appimage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: linux_appimage

on:
push:
branches: [ main ]
paths-ignore:
- 'doc/**'
- 'docs/**'
- 'README.md'
- 'README_zh_CN.md'
- 'README_zh_HK.md'
- 'README_ja_JP.md'
- 'DEVELOPNOTE.md'
- 'DEVELOPNOTE_zh_CN.md'
- 'CHANGELOG.md'
- 'CODE_OF_CONDUCT.md'
- '.github/ISSUE_TEMPLATE/**'
- '.github/PULL_REQUEST_TEMPLATE/**'
- 'TODO.md'
- '.readthedocs.yaml'
tags:
- V**
pull_request:
branches: [ main ]
paths-ignore:
- 'doc/**'
- 'docs/**'
- 'README.md'
- 'README_zh_CN.md'
- 'README_zh_HK.md'
- 'README_ja_JP.md'
- 'DEVELOPNOTE.md'
- 'DEVELOPNOTE_zh_CN.md'
- 'CHANGELOG.md'
- 'CODE_OF_CONDUCT.md'
- '.github/ISSUE_TEMPLATE/**'
- '.github/PULL_REQUEST_TEMPLATE/**'
- 'TODO.md'
- '.readthedocs.yaml'
workflow_dispatch:

jobs:
appimage:
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v4

- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '6.5.3'
modules: 'qtwebsockets qtserialport qtmultimedia'
aqtversion: ==3.1.7

- name: Install prerequisites
run: |
sudo apt update
sudo apt install -y make gcc patchelf chrpath qt5-default libxcb-cursor0 build-essential libgtk-3-dev
- name: Install setup python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: build fcitx_qt6
run: |
cd depend
sudo apt install fcitx-libs-dev qtbase5-private-dev libxkbcommon-dev extra-cmake-modules tree
export PATH=$Qt6_DIR/bin:$PATH
export PATH=$Qt6_DIR/../../Qt/Tools/CMake/bin:$PATH
export Qt6GuiTools_DIR=$Qt6_DIR
./build_fcitx_qt6_linux.sh
cp ./fcitx-qt5-1.2.7/build/qt6/platforminputcontext/libfcitxplatforminputcontextplugin-qt6.so ./
- name: build libssh2
run: |
cd depend
export PATH=$Qt6_DIR/bin:$PATH
./build_libssh2.sh
sudo cp -R ./output /usr/local/
- name: Build all
run: |
git fetch --tags --force
sed -i 's/--long --dirty/--long/g' ./tools/generate_info.sh
sed -i 's/QT_DIR=\/opt\/Qt6.2.0\/6.2.0\/gcc_64/QT_DIR=$(cd "$(dirname "$0")";pwd)\/..\/Qt\/6.5.3\/gcc_64/g' build_AppImage.sh
sed -i 's/LIBSSH2_DIR=\/libssh2/LIBSSH2_DIR=\/usr\/local\/output/g' ./lib/qtssh/qtssh.pri
mkdir prebuilt_plugins
python3 ./.github/scripts/get_plugin.py ./.github/scripts/plugin_list.json ./prebuilt_plugins
./build_AppImage.sh
- name: Upload build asserts
uses: actions/upload-artifact@v4
with:
name: quardCRT_AppImage
path: |
./AppImageOut/*.AppImage
80 changes: 0 additions & 80 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -138,83 +138,3 @@ jobs:
- name: Run tests
run: |
./InnoSetup/build/quardCRT.exe --version
windows_msvc2019:
runs-on: windows-2022

steps:
- uses: actions/checkout@v4

- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
arch: 'win64_msvc2019_64'
version: '6.5.3'
modules: 'qtwebsockets qtserialport qtmultimedia'
aqtversion: '==3.1.7'

- name: Install cmake
uses: crazy-max/ghaction-chocolatey@v3
with:
args: install cmake --no-progress

- name: Install innosetup
uses: crazy-max/ghaction-chocolatey@v3
with:
args: install innosetup --no-progress

- name: Install setup python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: build msvc-libpython
run: |
mkdir msvc-libpython
cp -r $env:Python3_ROOT_DIR/include ./msvc-libpython/
mkdir msvc-libpython/lib
cp $env:Python3_ROOT_DIR/python311.dll ./msvc-libpython/lib/python311.dll
cp $env:Python3_ROOT_DIR/libs/python311.lib ./msvc-libpython/lib/python311.lib
- name: Setup MSVC
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64
toolset: 14.29

- name: Install libssh2
run: |
cd depend
./build_libssh2_msvc.bat
mkdir D:\\libssh2
mkdir D:\\libssh2\\include
mkdir D:\\libssh2\\lib
mkdir D:\\libssh2\\bin
cp -r ./output/include/* D:\\libssh2\\include/
cp -r ./output/lib/* D:\\libssh2\\lib/
cp -r ./output/bin/* D:\\libssh2\\bin/
- name: Build all
run: |
git fetch --tags --force
./tools/sed/sed.exe -i 's/--long --dirty/--long/g' ./tools/generate_info.ps1
./tools/sed/sed.exe -i "s/QT_DIR=C:\/Qt\/Qt6.2.0\/6.2.0\/msvc64\/bin/QT_DIR=%Qt6_DIR%/g" ./build_setup_msvc.bat
./tools/sed/sed.exe -i "s/QT_TOOLS_DIR=C:\/Qt\/Qt6.2.0\/Tools\/msvc64\/bin/QT_TOOLS_DIR=C:\/ProgramData\/Chocolatey\/lib\/mingw\/tools\/install\/msvc64\/bin/g" ./build_setup_msvc.bat
./tools/sed/sed.exe -i "s/LIBSSH2_DIR=\/libssh2/LIBSSH2_DIR=D:\\libssh2/g" ./lib/qtssh/qtssh.pri
./tools/sed/sed.exe -i "s/Python3_DIR=\/python3_root_dir/Python3_DIR=msvc-libpython/g" ./quardCRT.pro
c:/Windows/system32/WindowsPowerShell/v1.0/powershell.exe -ExecutionPolicy Bypass -NoLogo -NoProfile -File "./tools/generate_info.ps1" > ./build_info.inc
mkdir prebuilt_plugins
python3 ./.github/scripts/get_plugin.py ./.github/scripts/plugin_list.json ./prebuilt_plugins msvc
./build_setup_msvc.bat
- name: Upload build asserts
uses: actions/upload-artifact@v4
with:
name: quardCRT_windows_msvc2019
path: |
./output/*.exe
- name: Run tests
run: |
./InnoSetup/build/quardCRT.exe --version
128 changes: 128 additions & 0 deletions .github/workflows/windows_msvc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
name: windows_msvc

on:
push:
branches: [ main ]
paths-ignore:
- 'doc/**'
- 'docs/**'
- 'README.md'
- 'README_zh_CN.md'
- 'README_zh_HK.md'
- 'README_ja_JP.md'
- 'DEVELOPNOTE.md'
- 'DEVELOPNOTE_zh_CN.md'
- 'CHANGELOG.md'
- 'CODE_OF_CONDUCT.md'
- '.github/ISSUE_TEMPLATE/**'
- '.github/PULL_REQUEST_TEMPLATE/**'
- 'TODO.md'
- '.readthedocs.yaml'
tags:
- V**
pull_request:
branches: [ main ]
paths-ignore:
- 'doc/**'
- 'docs/**'
- 'README.md'
- 'README_zh_CN.md'
- 'README_zh_HK.md'
- 'README_ja_JP.md'
- 'DEVELOPNOTE.md'
- 'DEVELOPNOTE_zh_CN.md'
- 'CHANGELOG.md'
- 'CODE_OF_CONDUCT.md'
- '.github/ISSUE_TEMPLATE/**'
- '.github/PULL_REQUEST_TEMPLATE/**'
- 'TODO.md'
- '.readthedocs.yaml'
workflow_dispatch:

jobs:
windows_msvc2019:
runs-on: windows-2022

steps:
- uses: actions/checkout@v4

- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
arch: 'win64_msvc2019_64'
version: '6.5.3'
modules: 'qtwebsockets qtserialport qtmultimedia'
aqtversion: '==3.1.7'

- name: Install cmake
uses: crazy-max/ghaction-chocolatey@v3
with:
args: install cmake --no-progress

- name: Install innosetup
uses: crazy-max/ghaction-chocolatey@v3
with:
args: install innosetup --no-progress

- name: Install setup python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: build msvc-libpython
run: |
mkdir msvc-libpython
cp -r $env:Python3_ROOT_DIR/include ./msvc-libpython/
mkdir msvc-libpython/lib
cp $env:Python3_ROOT_DIR/python311.dll ./msvc-libpython/lib/python311.dll
cp $env:Python3_ROOT_DIR/libs/python311.lib ./msvc-libpython/lib/python311.lib
- name: Setup MSVC
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64
toolset: 14.29

- name: Install libssh2
run: |
cd depend
./build_libssh2_msvc.bat
mkdir D:\\libssh2
mkdir D:\\libssh2\\include
mkdir D:\\libssh2\\lib
mkdir D:\\libssh2\\bin
cp -r ./output/include/* D:\\libssh2\\include/
cp -r ./output/lib/* D:\\libssh2\\lib/
cp -r ./output/bin/* D:\\libssh2\\bin/
- name: Build all
run: |
git fetch --tags --force
./tools/sed/sed.exe -i 's/--long --dirty/--long/g' ./tools/generate_info.ps1
./tools/sed/sed.exe -i "s/QT_DIR=C:\/Qt\/Qt6.2.0\/6.2.0\/msvc64\/bin/QT_DIR=%Qt6_DIR%/g" ./build_setup_msvc.bat
./tools/sed/sed.exe -i "s/QT_TOOLS_DIR=C:\/Qt\/Qt6.2.0\/Tools\/msvc64\/bin/QT_TOOLS_DIR=C:\/ProgramData\/Chocolatey\/lib\/mingw\/tools\/install\/msvc64\/bin/g" ./build_setup_msvc.bat
./tools/sed/sed.exe -i "s/LIBSSH2_DIR=\/libssh2/LIBSSH2_DIR=D:\\libssh2/g" ./lib/qtssh/qtssh.pri
./tools/sed/sed.exe -i "s/Python3_DIR=\/python3_root_dir/Python3_DIR=msvc-libpython/g" ./quardCRT.pro
c:/Windows/system32/WindowsPowerShell/v1.0/powershell.exe -ExecutionPolicy Bypass -NoLogo -NoProfile -File "./tools/generate_info.ps1" > ./build_info.inc
mkdir prebuilt_plugins
python3 ./.github/scripts/get_plugin.py ./.github/scripts/plugin_list.json ./prebuilt_plugins msvc
./build_setup_msvc.bat
- name: Upload build asserts
uses: actions/upload-artifact@v4
with:
name: quardCRT_windows_msvc2019
path: |
./output/*.exe
- name: Upload build asserts
uses: actions/upload-artifact@v4
with:
name: quardCRT_windows_msvc2019
path: |
./build_release/out/quardCRT.exe
- name: Run tests
run: |
./InnoSetup/build/quardCRT.exe --version

0 comments on commit 34aece5

Please sign in to comment.