Nut/.github/workflows/qt.yml

115 lines
3.6 KiB
YAML

name: CI build
on: [push]
jobs:
build:
strategy:
fail-fast: false
matrix:
version:
- 5.15.0
platform:
- gcc_64
- android
- msvc2019
- msvc2019_64
- winrt_x64_msvc2019
- winrt_x86_msvc2019
- winrt_armv7_msvc2019
- mingw81_64
- mingw81_32
- clang_64
- ios
include:
- platform: gcc_64
os: ubuntu-latest
- platform: android
os: ubuntu-latest
- platform: msvc2019_64
os: windows-latest
- platform: msvc2019
os: windows-latest
- platform: winrt_x64_msvc2019
os: windows-latest
- platform: winrt_x86_msvc2019
os: windows-latest
- platform: winrt_armv7_msvc2019
os: windows-latest
- platform: mingw81_64
os: windows-latest
- platform: mingw81_32
os: windows-latest
- platform: clang_64
os: macos-latest
- platform: ios
os: macos-latest
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
- uses: actions/setup-python@v1
- uses: Skycoder42/action-setup-qt@master
id: qt
with:
version: ${{matrix.version}}
platform: ${{matrix.platform}}
packages: qt.tools.ifw.32
- name: install packagekit
if: matrix.platform == 'gcc_64'
run: |
sudo apt-get -qq install packagekit
export PKG_CONFIG_PATH=${{steps.qt.outputs.qtdir}}/lib/pkgconfig/:$PKG_CONFIG_PATH
echo "::set-env name=PKG_CONFIG_PATH::$PKG_CONFIG_PATH"
- name: build PackageKit-Qt
if: steps.cache-qt.outputs.cache-hit != 'true' && matrix.platform == 'gcc_64'
run: |
sed -i 's/set(BUILD_SHARED_LIBS ON)/set(BUILD_SHARED_LIBS OFF)/g' CMakeLists.txt
export CMAKE_PREFIX_PATH=${{steps.qt.outputs.qtdir}}:$CMAKE_PREFIX_PATH
mkdir build && cd build
cmake \
"-DCMAKE_INSTALL_PREFIX=$(qmake -query QT_INSTALL_PREFIX)" \
"-DCMAKE_INSTALL_LIBDIR=$(qmake -query QT_INSTALL_LIBS)" \
"-DCMAKE_INSTALL_INCLUDEDIR=$(qmake -query QT_INSTALL_HEADERS)" \
".."
${{steps.qt.outputs.make}}
${{steps.qt.outputs.make}} install
pkg-config --exists packagekitqt5
working-directory: src/3rdparty/PackageKit-Qt
- name: qmake
run: |
qmake CONFIG+=install_ok QT_PLATFORM=${{matrix.platform}} "QT_TOOL_PATH=${{steps.qt.outputs.qtdir}}/Tools"
${{steps.qt.outputs.make}} qmake_all
- name: upload module to releases
uses: Skycoder42/action-upload-release@master
if: startsWith(github.ref, 'refs/tags/')
with:
repo_token: ${{secrets.GITHUB_TOKEN}}
directory: ${{steps.qt.outputs.outdir}}
platform: ${{matrix.platform}}
asset_name: qtautoupdater-${{matrix.platform}}-${{matrix.version}}
tag: ${{github.ref}}
overwrite: true
deploy:
if: startsWith(github.ref, 'refs/tags/')
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
submodules: recursive
path: source
- uses: actions/setup-python@v1
- uses: Skycoder42/action-deploy-qt@master
with:
token: ${{secrets.GITHUB_TOKEN}}
version: 5.15.0
host: ${{secrets.SSHFS_HOST}}
key: ${{secrets.SSHFS_KEY}}
port: ${{secrets.SSHFS_PORT}}