PDF4QT/.github/workflows/ci.yml

67 lines
1.9 KiB
YAML
Raw Normal View History

2023-12-09 17:22:21 +01:00
name: CI
on:
workflow_dispatch:
jobs:
2023-12-09 17:34:48 +01:00
build_ubuntu:
2023-12-09 17:22:21 +01:00
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
path: pdf4qt
2023-12-09 17:23:19 +01:00
- name: 'VCPKG: Set up VCPKG'
2023-12-09 17:22:21 +01:00
run: |
git clone --depth=1 https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
2023-12-09 17:23:19 +01:00
- name: 'VCPKG: Cache vcpkg dependencies'
2023-12-09 17:22:21 +01:00
uses: actions/cache@v2
with:
path: |
./vcpkg/downloads
./vcpkg/packages
key: ${{ runner.os }}-vcpkg-${{ hashFiles('**/vcpkg.json') }}
restore-keys: |
${{ runner.os }}-vcpkg-
2023-12-09 17:23:19 +01:00
- name: 'VCPKG: Install project dependencies'
2023-12-09 17:22:21 +01:00
run: |
2023-12-09 17:34:48 +01:00
./vcpkg install tbb openssl lcms zlib openjpeg freetype ijg-libjpeg libpng
2023-12-09 17:22:21 +01:00
working-directory: vcpkg
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
version: '6.6.0'
host: 'linux'
target: 'desktop'
dir: '${{ github.workspace }}/qt/'
install-deps: 'true'
2023-12-09 18:20:08 +01:00
modules: 'qtsvg qtxml qtprintsupport qtspeech qttest qtopengl qtopenglwidgets'
2023-12-09 17:22:21 +01:00
cache: 'true'
cache-key-prefix: ${{ runner.os }}-qt-660
- name: Build project
2023-12-09 17:34:48 +01:00
working-directory: pdf4qt
2023-12-09 17:22:21 +01:00
run: |
cmake -B build -S . -DPDF4QT_INSTALL_QT_DEPENDENCIES=0 -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release
cmake --build build -j6
cmake --install build
- name: Make DEB package
2023-12-09 17:34:48 +01:00
working-directory: pdf4qt/build
2023-12-09 17:22:21 +01:00
run: |
sh make-package.sh
- name: Upload DEB package
2023-12-09 17:24:16 +01:00
uses: actions/upload-artifact@v3
with:
name: ubuntu-deb-package
2023-12-09 17:43:16 +01:00
path: ./pdf4qt/build/*.deb
2023-12-09 17:24:16 +01:00
retention-days: 30