2020-12-26 23:40:47 +01:00
|
|
|
---
|
|
|
|
name: Test
|
|
|
|
|
|
|
|
on:
|
|
|
|
pull_request:
|
2022-06-14 14:48:21 +02:00
|
|
|
workflow_dispatch:
|
2020-12-26 23:40:47 +01:00
|
|
|
|
2022-05-07 17:22:39 +02:00
|
|
|
env:
|
2023-01-31 12:33:17 +01:00
|
|
|
TWITCH_PUBSUB_SERVER_IMAGE: ghcr.io/chatterino/twitch-pubsub-server-test:v1.0.6
|
2023-06-24 15:03:27 +02:00
|
|
|
QT_QPA_PLATFORM: minimal
|
2022-05-07 17:22:39 +02:00
|
|
|
|
2023-01-15 17:27:41 +01:00
|
|
|
concurrency:
|
2022-05-21 11:33:21 +02:00
|
|
|
group: test-${{ github.ref }}
|
|
|
|
cancel-in-progress: true
|
|
|
|
|
2020-12-26 23:40:47 +01:00
|
|
|
jobs:
|
|
|
|
test:
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
|
|
matrix:
|
2023-06-24 23:48:29 +02:00
|
|
|
include:
|
|
|
|
- os: "ubuntu-20.04"
|
|
|
|
qt-version: "5.15.2"
|
|
|
|
- os: "ubuntu-20.04"
|
|
|
|
qt-version: "5.12.12"
|
|
|
|
- os: "ubuntu-22.04"
|
|
|
|
qt-version: "6.2.4"
|
2020-12-26 23:40:47 +01:00
|
|
|
fail-fast: false
|
|
|
|
|
|
|
|
steps:
|
2022-03-04 14:49:51 +01:00
|
|
|
- uses: actions/checkout@v3
|
2020-12-26 23:40:47 +01:00
|
|
|
with:
|
|
|
|
submodules: recursive
|
|
|
|
|
2023-06-24 23:48:29 +02:00
|
|
|
- name: Set BUILD_WITH_QT6
|
|
|
|
if: startsWith(matrix.qt-version, '6.')
|
|
|
|
run: |
|
|
|
|
echo "C2_BUILD_WITH_QT6=ON" >> "$GITHUB_ENV"
|
|
|
|
shell: bash
|
|
|
|
|
|
|
|
- name: Install Qt5
|
|
|
|
if: startsWith(matrix.qt-version, '5.')
|
|
|
|
uses: jurplel/install-qt-action@v3.2.1
|
2020-12-26 23:40:47 +01:00
|
|
|
with:
|
2023-06-24 23:48:29 +02:00
|
|
|
cache: true
|
|
|
|
cache-key-prefix: ${{ runner.os }}-QtCache-${{ matrix.qt-version }}-v2
|
|
|
|
version: ${{ matrix.qt-version }}
|
2020-12-26 23:40:47 +01:00
|
|
|
|
2023-06-24 23:48:29 +02:00
|
|
|
- name: Install Qt6
|
|
|
|
if: startsWith(matrix.qt-version, '6.')
|
2023-05-21 23:47:53 +02:00
|
|
|
uses: jurplel/install-qt-action@v3.2.1
|
2020-12-26 23:40:47 +01:00
|
|
|
with:
|
2022-11-03 20:03:16 +01:00
|
|
|
cache: true
|
2023-06-24 23:48:29 +02:00
|
|
|
cache-key-prefix: ${{ runner.os }}-QtCache-${{ matrix.qt-version }}-v2
|
|
|
|
modules: qt5compat qtimageformats
|
2022-06-14 14:48:21 +02:00
|
|
|
version: ${{ matrix.qt-version }}
|
2020-12-26 23:40:47 +01:00
|
|
|
|
|
|
|
# LINUX
|
|
|
|
- name: Install dependencies (Ubuntu)
|
|
|
|
if: startsWith(matrix.os, 'ubuntu')
|
|
|
|
run: |
|
2023-01-15 17:27:41 +01:00
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get -y install \
|
|
|
|
cmake \
|
|
|
|
rapidjson-dev \
|
|
|
|
libssl-dev \
|
|
|
|
libboost-dev \
|
|
|
|
libboost-system-dev \
|
|
|
|
libboost-filesystem-dev \
|
|
|
|
libpulse-dev \
|
|
|
|
libxkbcommon-x11-0 \
|
|
|
|
libgstreamer-plugins-base1.0-0 \
|
|
|
|
build-essential \
|
|
|
|
libgl1-mesa-dev \
|
|
|
|
libxcb-icccm4 \
|
|
|
|
libxcb-image0 \
|
|
|
|
libxcb-keysyms1 \
|
|
|
|
libxcb-render-util0 \
|
|
|
|
libxcb-xinerama0
|
2020-12-26 23:40:47 +01:00
|
|
|
|
|
|
|
- name: Create build directory (Ubuntu)
|
|
|
|
if: startsWith(matrix.os, 'ubuntu')
|
|
|
|
run: |
|
2023-01-15 17:27:41 +01:00
|
|
|
mkdir build-test
|
2020-12-26 23:40:47 +01:00
|
|
|
shell: bash
|
|
|
|
|
|
|
|
- name: Build (Ubuntu)
|
|
|
|
if: startsWith(matrix.os, 'ubuntu')
|
|
|
|
run: |
|
2023-06-24 23:48:29 +02:00
|
|
|
cmake \
|
|
|
|
-DBUILD_TESTS=On \
|
|
|
|
-DBUILD_APP=OFF \
|
|
|
|
-DBUILD_WITH_QT6="$C2_BUILD_WITH_QT6" \
|
|
|
|
..
|
2023-06-24 15:03:27 +02:00
|
|
|
cmake --build .
|
2020-12-26 23:40:47 +01:00
|
|
|
working-directory: build-test
|
|
|
|
shell: bash
|
|
|
|
|
|
|
|
- name: Test (Ubuntu)
|
|
|
|
if: startsWith(matrix.os, 'ubuntu')
|
|
|
|
run: |
|
2023-01-15 17:27:41 +01:00
|
|
|
docker pull kennethreitz/httpbin
|
|
|
|
docker pull ${{ env.TWITCH_PUBSUB_SERVER_IMAGE }}
|
|
|
|
docker run --network=host --detach ${{ env.TWITCH_PUBSUB_SERVER_IMAGE }}
|
|
|
|
docker run -p 9051:80 --detach kennethreitz/httpbin
|
2023-06-24 15:03:27 +02:00
|
|
|
./bin/chatterino-test || ./bin/chatterino-test || ./bin/chatterino-test
|
2020-12-26 23:40:47 +01:00
|
|
|
working-directory: build-test
|
|
|
|
shell: bash
|