forked from SevenTV/chatterino7
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'SevenTV:chatterino7' into chatterino7
- Loading branch information
Showing
109 changed files
with
4,942 additions
and
3,529 deletions.
There are no files selected for viewing
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
--- | ||
name: Test MacOS | ||
|
||
on: | ||
pull_request: | ||
workflow_dispatch: | ||
merge_group: | ||
|
||
env: | ||
TWITCH_PUBSUB_SERVER_IMAGE: ghcr.io/chatterino/twitch-pubsub-server-test:v1.0.6 | ||
QT_QPA_PLATFORM: minimal | ||
|
||
concurrency: | ||
group: test-macos-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
test-macos: | ||
name: "Test ${{ matrix.os }}, Qt ${{ matrix.qt-version }}" | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [macos-13] | ||
qt-version: [5.15.2, 6.5.0] | ||
plugins: [false] | ||
fail-fast: false | ||
env: | ||
C2_BUILD_WITH_QT6: ${{ startsWith(matrix.qt-version, '6.') && 'ON' || 'OFF' }} | ||
QT_MODULES: ${{ startsWith(matrix.qt-version, '6.') && 'qt5compat qtimageformats' || '' }} | ||
|
||
steps: | ||
- name: Enable plugin support | ||
if: matrix.plugins | ||
run: | | ||
echo "C2_PLUGINS=ON" >> "$GITHUB_ENV" | ||
- name: Set BUILD_WITH_QT6 | ||
if: startsWith(matrix.qt-version, '6.') | ||
run: | | ||
echo "C2_BUILD_WITH_QT6=ON" >> "$GITHUB_ENV" | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: recursive | ||
fetch-depth: 0 # allows for tags access | ||
|
||
- name: Install Qt | ||
uses: jurplel/install-qt-action@v3.3.0 | ||
with: | ||
cache: true | ||
cache-key-prefix: ${{ runner.os }}-QtCache-${{ matrix.qt-version }}-v2 | ||
modules: ${{ env.QT_MODULES }} | ||
version: ${{ matrix.qt-version }} | ||
|
||
- name: Install dependencies | ||
run: | | ||
brew install boost openssl rapidjson p7zip create-dmg cmake tree docker colima | ||
- name: Setup Colima | ||
run: | | ||
colima start | ||
- name: Build | ||
run: | | ||
mkdir build-test | ||
cd build-test | ||
cmake \ | ||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \ | ||
-DBUILD_TESTS=On \ | ||
-DBUILD_APP=OFF \ | ||
-DUSE_PRECOMPILED_HEADERS=OFF \ | ||
-DCHATTERINO_PLUGINS="$C2_PLUGINS" \ | ||
-DBUILD_WITH_QT6="$C2_BUILD_WITH_QT6" \ | ||
.. | ||
make -j"$(sysctl -n hw.logicalcpu)" | ||
- name: Test | ||
timeout-minutes: 30 | ||
run: | | ||
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 | ||
ctest --repeat until-pass:4 --output-on-failure --exclude-regex ClassicEmoteNameFiltering | ||
working-directory: build-test | ||
|
||
- name: Post Setup Colima | ||
if: always() | ||
run: | | ||
colima stop | ||
working-directory: build-test |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
--- | ||
name: Test Windows | ||
|
||
on: | ||
pull_request: | ||
workflow_dispatch: | ||
merge_group: | ||
|
||
env: | ||
TWITCH_PUBSUB_SERVER_TAG: v1.0.7 | ||
QT_QPA_PLATFORM: minimal | ||
# Last known good conan version | ||
# 2.0.3 has a bug on Windows (conan-io/conan#13606) | ||
CONAN_VERSION: 2.0.2 | ||
|
||
concurrency: | ||
group: test-windows-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
test-windows: | ||
name: "Test ${{ matrix.os }}, Qt ${{ matrix.qt-version }}" | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [windows-latest] | ||
qt-version: [5.15.2, 6.5.0] | ||
plugins: [false] | ||
skip-artifact: [false] | ||
skip-crashpad: [false] | ||
fail-fast: false | ||
env: | ||
C2_BUILD_WITH_QT6: ${{ startsWith(matrix.qt-version, '6.') && 'ON' || 'OFF' }} | ||
QT_MODULES: ${{ startsWith(matrix.qt-version, '6.') && 'qt5compat qtimageformats' || '' }} | ||
|
||
steps: | ||
- name: Enable plugin support | ||
if: matrix.plugins | ||
run: | | ||
echo "C2_PLUGINS=ON" >> "$Env:GITHUB_ENV" | ||
- name: Set Crashpad | ||
if: matrix.skip-crashpad == false | ||
run: | | ||
echo "C2_ENABLE_CRASHPAD=ON" >> "$Env:GITHUB_ENV" | ||
- name: Set BUILD_WITH_QT6 | ||
if: startsWith(matrix.qt-version, '6.') | ||
run: | | ||
echo "C2_BUILD_WITH_QT6=ON" >> "$Env:GITHUB_ENV" | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: recursive | ||
fetch-depth: 0 # allows for tags access | ||
|
||
- name: Install Qt | ||
uses: jurplel/install-qt-action@v3.3.0 | ||
with: | ||
cache: true | ||
cache-key-prefix: ${{ runner.os }}-QtCache-${{ matrix.qt-version }}-v2 | ||
modules: ${{ env.QT_MODULES }} | ||
version: ${{ matrix.qt-version }} | ||
|
||
- name: Enable Developer Command Prompt | ||
uses: ilammy/msvc-dev-cmd@v1.12.1 | ||
|
||
- name: Setup conan variables | ||
if: startsWith(matrix.os, 'windows') | ||
run: | | ||
"C2_USE_OPENSSL3=$(if ($Env:C2_BUILD_WITH_QT6 -eq "on") { "True" } else { "False" })" >> "$Env:GITHUB_ENV" | ||
"C2_CONAN_CACHE_SUFFIX=$(if ($Env:C2_BUILD_WITH_QT6 -eq "on") { "-QT6" } else { "`" })" >> "$Env:GITHUB_ENV" | ||
- name: Setup sccache | ||
# sccache v0.5.3 | ||
uses: nerixyz/ccache-action@9a7e8d00116ede600ee7717350c6594b8af6aaa5 | ||
with: | ||
variant: sccache | ||
# only save on the default (master) branch | ||
save: ${{ github.event_name == 'push' }} | ||
key: sccache-test-${{ matrix.os }}-${{ matrix.qt-version }}-${{ matrix.skip-crashpad }} | ||
restore-keys: | | ||
sccache-test-${{ matrix.os }}-${{ matrix.qt-version }} | ||
- name: Cache conan packages | ||
uses: actions/cache@v3 | ||
with: | ||
key: ${{ runner.os }}-conan-user-${{ hashFiles('**/conanfile.py') }}${{ env.C2_CONAN_CACHE_SUFFIX }} | ||
path: ~/.conan2/ | ||
|
||
- name: Install Conan | ||
run: | | ||
python3 -c "import site; import sys; print(f'{site.USER_BASE}\\Python{sys.version_info.major}{sys.version_info.minor}\\Scripts')" >> "$Env:GITHUB_PATH" | ||
pip3 install --user "conan==${{ env.CONAN_VERSION }}" | ||
- name: Setup Conan | ||
run: | | ||
conan --version | ||
conan profile detect -f | ||
- name: Install dependencies | ||
run: | | ||
mkdir build-test | ||
cd build-test | ||
conan install .. ` | ||
-s build_type=RelWithDebInfo ` | ||
-c tools.cmake.cmaketoolchain:generator="NMake Makefiles" ` | ||
-b missing ` | ||
--output-folder=. ` | ||
-o with_openssl3="$Env:C2_USE_OPENSSL3" | ||
- name: Build | ||
run: | | ||
cmake ` | ||
-G"NMake Makefiles" ` | ||
-DCMAKE_BUILD_TYPE=RelWithDebInfo ` | ||
-DBUILD_TESTS=On ` | ||
-DBUILD_APP=OFF ` | ||
-DCMAKE_TOOLCHAIN_FILE="conan_toolchain.cmake" ` | ||
-DUSE_PRECOMPILED_HEADERS=On ` | ||
-DBUILD_WITH_CRASHPAD="$Env:C2_ENABLE_CRASHPAD" ` | ||
-DCHATTERINO_PLUGINS="$Env:C2_PLUGINS" ` | ||
-DBUILD_WITH_QT6="$Env:C2_BUILD_WITH_QT6" ` | ||
.. | ||
set cl=/MP | ||
nmake /S /NOLOGO | ||
working-directory: build-test | ||
|
||
- name: Download and extract Twitch PubSub Server Test | ||
run: | | ||
mkdir pubsub-server-test | ||
Invoke-WebRequest -Uri "https://github.com/Chatterino/twitch-pubsub-server-test/releases/download/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/server-${{ env.TWITCH_PUBSUB_SERVER_TAG }}-windows-amd64.zip" -outfile "pubsub-server.zip" | ||
Expand-Archive pubsub-server.zip -DestinationPath pubsub-server-test | ||
rm pubsub-server.zip | ||
cd pubsub-server-test | ||
Invoke-WebRequest -Uri "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.crt" -outfile "server.crt" | ||
Invoke-WebRequest -Uri "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.key" -outfile "server.key" | ||
cd .. | ||
- name: Cargo Install httpbox | ||
run: | | ||
cargo install --git https://github.com/kevinastone/httpbox --rev 89b971f | ||
- name: Test | ||
timeout-minutes: 30 | ||
run: | | ||
httpbox --port 9051 & | ||
cd ..\pubsub-server-test | ||
.\server.exe 127.0.0.1:9050 & | ||
cd ..\build-test | ||
ctest --repeat until-pass:4 --output-on-failure --exclude-regex ClassicEmoteNameFiltering | ||
working-directory: build-test | ||
|
||
- name: Clean Conan cache | ||
run: conan cache clean --source --build --download "*" |
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
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
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
Submodule miniaudio
updated
14 files
Oops, something went wrong.