From e6fb675650972335a3a92dcc955daa66dc5f5731 Mon Sep 17 00:00:00 2001 From: Wissididom <30803034+Wissididom@users.noreply.github.com> Date: Sat, 16 Dec 2023 13:59:47 +0100 Subject: [PATCH 01/10] Drop Docker and Colima --- .github/workflows/test-macos.yml | 37 ++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index 4d9b8c55af5..773fc3d991f 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -7,7 +7,7 @@ on: merge_group: env: - TWITCH_PUBSUB_SERVER_IMAGE: ghcr.io/chatterino/twitch-pubsub-server-test:v1.0.6 + TWITCH_PUBSUB_SERVER_TAG: v1.0.7 QT_QPA_PLATFORM: minimal concurrency: @@ -54,11 +54,7 @@ jobs: - name: Install dependencies run: | - brew install boost openssl rapidjson p7zip create-dmg cmake tree docker colima - - - name: Setup Colima - run: | - colima start + brew install boost openssl rapidjson p7zip create-dmg cmake tree - name: Build run: | @@ -74,18 +70,27 @@ jobs: .. make -j"$(sysctl -n hw.logicalcpu)" + - name: Download and extract Twitch PubSub Server Test + run: | + mkdir pubsub-server-test + curl -o pubsub-server.tar.gz "https://github.com/Chatterino/twitch-pubsub-server-test/releases/download/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/server-${{ env.TWITCH_PUBSUB_SERVER_TAG }}-darwin-amd64.tar.gz" + tar -xzf pubsub-server.tar.gz -C pubsub-server-test + rm pubsub-server.tar.gz + cd pubsub-server-test + curl -o server.crt "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.crt" + curl -o server.key "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.key" + cd .. + + - name: Cargo Install httpbox + run: | + cargo install --git https://github.com/kevinastone/httpbox --rev 89b971f + - 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 + httpbox --port 9051 & + cd ../pubsub-server-test + ./server 127.0.0.1:9050 & + cd ../build-test 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 From 995ad510e2b48ff029cacb45d3713d016a9367ba Mon Sep 17 00:00:00 2001 From: Wissididom <30803034+Wissididom@users.noreply.github.com> Date: Sat, 16 Dec 2023 14:27:57 +0100 Subject: [PATCH 02/10] Make Mac tests extra verbose for now --- .github/workflows/test-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index 773fc3d991f..4db12856cb4 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -92,5 +92,5 @@ jobs: cd ../pubsub-server-test ./server 127.0.0.1:9050 & cd ../build-test - ctest --repeat until-pass:4 --output-on-failure --exclude-regex ClassicEmoteNameFiltering + ctest --repeat until-pass:4 --output-on-failure --exclude-regex ClassicEmoteNameFiltering -VV working-directory: build-test From 35b7dd5a50e5ef3ba303cac0fa71d5f5cf318ec0 Mon Sep 17 00:00:00 2001 From: Wissididom <30803034+Wissididom@users.noreply.github.com> Date: Sat, 16 Dec 2023 15:11:45 +0100 Subject: [PATCH 03/10] Add tree to see if the executable files are there --- .github/workflows/test-macos.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index 4db12856cb4..c9589b7a774 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -80,6 +80,7 @@ jobs: curl -o server.crt "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.crt" curl -o server.key "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.key" cd .. + tree - name: Cargo Install httpbox run: | From 7548606acc7cbd20133c1b0f86ce86d823640596 Mon Sep 17 00:00:00 2001 From: Wissididom <30803034+Wissididom@users.noreply.github.com> Date: Sat, 16 Dec 2023 16:02:38 +0100 Subject: [PATCH 04/10] Replace tree by ls -la in correct folder --- .github/workflows/test-macos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index c9589b7a774..6b10b5c431e 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -54,7 +54,7 @@ jobs: - name: Install dependencies run: | - brew install boost openssl rapidjson p7zip create-dmg cmake tree + brew install boost openssl rapidjson p7zip create-dmg cmake - name: Build run: | @@ -77,10 +77,10 @@ jobs: tar -xzf pubsub-server.tar.gz -C pubsub-server-test rm pubsub-server.tar.gz cd pubsub-server-test + ls -la curl -o server.crt "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.crt" curl -o server.key "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.key" cd .. - tree - name: Cargo Install httpbox run: | From 67de73d53f23787428389b91fa6c956cde7af962 Mon Sep 17 00:00:00 2001 From: Wissididom <30803034+Wissididom@users.noreply.github.com> Date: Sat, 16 Dec 2023 17:12:15 +0100 Subject: [PATCH 05/10] Add ls -la to see if the pubsub server download worked --- .github/workflows/test-macos.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index 6b10b5c431e..558ac23d7fd 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -74,6 +74,7 @@ jobs: run: | mkdir pubsub-server-test curl -o pubsub-server.tar.gz "https://github.com/Chatterino/twitch-pubsub-server-test/releases/download/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/server-${{ env.TWITCH_PUBSUB_SERVER_TAG }}-darwin-amd64.tar.gz" + ls -la tar -xzf pubsub-server.tar.gz -C pubsub-server-test rm pubsub-server.tar.gz cd pubsub-server-test From 50c74d6186bc852eba079f4ce3b090fd13f0ccfd Mon Sep 17 00:00:00 2001 From: Wissididom <30803034+Wissididom@users.noreply.github.com> Date: Sat, 16 Dec 2023 17:34:49 +0100 Subject: [PATCH 06/10] Use gh to download release file --- .github/workflows/test-macos.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index 558ac23d7fd..6acefb73cd5 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -73,7 +73,8 @@ jobs: - name: Download and extract Twitch PubSub Server Test run: | mkdir pubsub-server-test - curl -o pubsub-server.tar.gz "https://github.com/Chatterino/twitch-pubsub-server-test/releases/download/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/server-${{ env.TWITCH_PUBSUB_SERVER_TAG }}-darwin-amd64.tar.gz" + # curl -o pubsub-server.tar.gz "https://github.com/Chatterino/twitch-pubsub-server-test/releases/download/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/server-${{ env.TWITCH_PUBSUB_SERVER_TAG }}-darwin-amd64.tar.gz" + gh release download ${{ env.TWITCH_PUBSUB_SERVER_TAG }} -R Chatterino/twitch-pubsub-server-test -o pubsub-server.tar.gz -p server-${{ env.TWITCH_PUBSUB_SERVER_TAG }}-darwin-amd64.tar.gz ls -la tar -xzf pubsub-server.tar.gz -C pubsub-server-test rm pubsub-server.tar.gz From 76ca726767795bb04a9a4e652968d02dec3054fb Mon Sep 17 00:00:00 2001 From: Wissididom <30803034+Wissididom@users.noreply.github.com> Date: Sat, 16 Dec 2023 17:45:28 +0100 Subject: [PATCH 07/10] Tell curl to follow redirects --- .github/workflows/test-macos.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index 6acefb73cd5..1bd6bbd37b9 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -73,8 +73,7 @@ jobs: - name: Download and extract Twitch PubSub Server Test run: | mkdir pubsub-server-test - # curl -o pubsub-server.tar.gz "https://github.com/Chatterino/twitch-pubsub-server-test/releases/download/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/server-${{ env.TWITCH_PUBSUB_SERVER_TAG }}-darwin-amd64.tar.gz" - gh release download ${{ env.TWITCH_PUBSUB_SERVER_TAG }} -R Chatterino/twitch-pubsub-server-test -o pubsub-server.tar.gz -p server-${{ env.TWITCH_PUBSUB_SERVER_TAG }}-darwin-amd64.tar.gz + curl -fsSL -o pubsub-server.tar.gz "https://github.com/Chatterino/twitch-pubsub-server-test/releases/download/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/server-${{ env.TWITCH_PUBSUB_SERVER_TAG }}-darwin-amd64.tar.gz" ls -la tar -xzf pubsub-server.tar.gz -C pubsub-server-test rm pubsub-server.tar.gz From 3ab915bbe5094193d964bcf65889c67579120cd8 Mon Sep 17 00:00:00 2001 From: Wissididom <30803034+Wissididom@users.noreply.github.com> Date: Sat, 16 Dec 2023 18:06:12 +0100 Subject: [PATCH 08/10] Add `-fsSL` to the private and public key download --- .github/workflows/test-macos.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index 1bd6bbd37b9..53482400376 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -74,13 +74,12 @@ jobs: run: | mkdir pubsub-server-test curl -fsSL -o pubsub-server.tar.gz "https://github.com/Chatterino/twitch-pubsub-server-test/releases/download/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/server-${{ env.TWITCH_PUBSUB_SERVER_TAG }}-darwin-amd64.tar.gz" - ls -la tar -xzf pubsub-server.tar.gz -C pubsub-server-test rm pubsub-server.tar.gz cd pubsub-server-test ls -la - curl -o server.crt "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.crt" - curl -o server.key "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.key" + curl -fsSL -o server.crt "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.crt" + curl -fsSL -o server.key "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.key" cd .. - name: Cargo Install httpbox From f695a34527e656c912487c9907ed42127080f401 Mon Sep 17 00:00:00 2001 From: Wissididom <30803034+Wissididom@users.noreply.github.com> Date: Sat, 16 Dec 2023 18:20:58 +0100 Subject: [PATCH 09/10] Change `-fsSL` to just `-L` and remove `-VV` from ctest --- .github/workflows/test-macos.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index 53482400376..530f1169bf0 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -73,13 +73,12 @@ jobs: - name: Download and extract Twitch PubSub Server Test run: | mkdir pubsub-server-test - curl -fsSL -o pubsub-server.tar.gz "https://github.com/Chatterino/twitch-pubsub-server-test/releases/download/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/server-${{ env.TWITCH_PUBSUB_SERVER_TAG }}-darwin-amd64.tar.gz" + curl -L -o pubsub-server.tar.gz "https://github.com/Chatterino/twitch-pubsub-server-test/releases/download/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/server-${{ env.TWITCH_PUBSUB_SERVER_TAG }}-darwin-amd64.tar.gz" tar -xzf pubsub-server.tar.gz -C pubsub-server-test rm pubsub-server.tar.gz cd pubsub-server-test - ls -la - curl -fsSL -o server.crt "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.crt" - curl -fsSL -o server.key "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.key" + curl -L -o server.crt "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.crt" + curl -L -o server.key "https://github.com/Chatterino/twitch-pubsub-server-test/raw/${{ env.TWITCH_PUBSUB_SERVER_TAG }}/cmd/server/server.key" cd .. - name: Cargo Install httpbox @@ -93,5 +92,5 @@ jobs: cd ../pubsub-server-test ./server 127.0.0.1:9050 & cd ../build-test - ctest --repeat until-pass:4 --output-on-failure --exclude-regex ClassicEmoteNameFiltering -VV + ctest --repeat until-pass:4 --output-on-failure --exclude-regex ClassicEmoteNameFiltering working-directory: build-test From b1b86bb43de3f9046ba66874b744531402896e93 Mon Sep 17 00:00:00 2001 From: Wissididom <30803034+Wissididom@users.noreply.github.com> Date: Sat, 16 Dec 2023 19:25:12 +0100 Subject: [PATCH 10/10] Add changelog entry --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c44ffde0280..b82b1aae75f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -84,7 +84,7 @@ - Dev: Refactor `IrcMessageHandler`, removing a bunch of clang-tidy warnings & changing its public API. (#4927) - Dev: `Details` file properties tab is now populated on Windows. (#4912) - Dev: Removed `Outcome` from network requests. (#4959) -- Dev: Added Tests for Windows and MacOS in CI. (#4970) +- Dev: Added Tests for Windows and MacOS in CI. (#4970, #5032) - Dev: Move `clang-tidy` checker to its own CI job. (#4996) - Dev: Refactored the Image Uploader feature. (#4971) - Dev: Fixed deadlock and use-after-free in tests. (#4981)