From e28271e0cc13b8ee32ce532385d981c203faa8a7 Mon Sep 17 00:00:00 2001 From: guihkx <626206+guihkx@users.noreply.github.com> Date: Thu, 16 Oct 2025 17:35:08 -0300 Subject: [PATCH 1/5] ci(macOS): Update macOS runner to version 15 This updates the macOS runner from version 13 to version 15, because the former is being retired: https://github.blog/changelog/2025-09-19-github-actions-macos-13-runner-image-is-closing-down/ We're switching to the "-intel" variant because I think it makes sense to build for x86_64 for as long as we can, even though Apple is also retiring the architecture. --- .github/workflows/macos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 0c7eaf94..435fe31f 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -15,7 +15,7 @@ jobs: fail-fast: false matrix: include: - - os: macos-13 + - os: macos-15-intel build-type: debug steps: - name: Checkout code @@ -53,7 +53,7 @@ jobs: fail-fast: false matrix: include: - - os: macos-13 + - os: macos-15-intel qt-version: 6.5.2 build-type: release steps: From 60894cf34d0ff51b5d70fbdd6d4193205f9bc255 Mon Sep 17 00:00:00 2001 From: guihkx <626206+guihkx@users.noreply.github.com> Date: Thu, 16 Oct 2025 19:14:31 -0300 Subject: [PATCH 2/5] ci(macOS): Skip installing ninja It's already pre-installed. --- .github/workflows/macos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 435fe31f..83f905e1 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -25,7 +25,7 @@ jobs: - name: Install Qt 6 (homebrew) run: | - brew install ninja qt@6 + brew install qt@6 - name: Setup CLang problem matcher # Technically, this action only supports GCC, but it seems to work well for Clang too. @@ -96,7 +96,7 @@ jobs: - name: Install dependencies run: | - brew install create-dmg ninja + brew install create-dmg - name: Build (${{ matrix.build-type }}) env: From 2ca5266f67d8a6aeac38e540432b1751510b49ac Mon Sep 17 00:00:00 2001 From: guihkx <626206+guihkx@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:05:35 -0300 Subject: [PATCH 3/5] ci(macOS): Remove unused TARGET_ARCH variable This is a leftover of commit bfb0827416bea16875995f15be681dbc8e0a2fd0. --- .github/workflows/macos.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 83f905e1..5125e3e9 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -100,7 +100,6 @@ jobs: - name: Build (${{ matrix.build-type }}) env: - TARGET_ARCH: x86_64;arm64 VERBOSE: 1 run: | export CMAKE_BUILD_PARALLEL_LEVEL=$(sysctl -n hw.logicalcpu) From f779f4ad2ccde5355c084067e243464abb64f8e7 Mon Sep 17 00:00:00 2001 From: guihkx <626206+guihkx@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:05:10 -0300 Subject: [PATCH 4/5] ci(macOS): Remove unneeded CMAKE_BUILD_PARALLEL_LEVEL Ninja builds are always run in parallel, based by default on the number of CPUs the system has. --- .github/workflows/macos.yml | 2 -- docs/build_on_macos.md | 6 ------ 2 files changed, 8 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 5125e3e9..102adc00 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -36,7 +36,6 @@ jobs: env: VERBOSE: 1 run: | - export CMAKE_BUILD_PARALLEL_LEVEL=$(sysctl -n hw.logicalcpu) cmake . --warn-uninitialized --warn-unused-vars \ -G Ninja -B build \ -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \ @@ -102,7 +101,6 @@ jobs: env: VERBOSE: 1 run: | - export CMAKE_BUILD_PARALLEL_LEVEL=$(sysctl -n hw.logicalcpu) cmake . --warn-uninitialized --warn-unused-vars \ -B build -G Ninja \ -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \ diff --git a/docs/build_on_macos.md b/docs/build_on_macos.md index 54e06c0b..3c372f1d 100644 --- a/docs/build_on_macos.md +++ b/docs/build_on_macos.md @@ -26,12 +26,6 @@ git clone https://github.com/nuttyartist/notes.git --recurse-submodules cd notes ``` -Optionally, if you want to dedicate all cores of your CPU to build Notes much faster, set this environment variable: - -```shell -export CMAKE_BUILD_PARALLEL_LEVEL=$(sysctl -n hw.logicalcpu) -``` - After that, we're ready to build Notes! Invoke CMake to configure and build the project into a folder called `build`, in [`Release` mode](https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html): From f1dd087bed99f31faa0989325f1c7732e3ea3f98 Mon Sep 17 00:00:00 2001 From: guihkx <626206+guihkx@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:54:26 -0300 Subject: [PATCH 5/5] ci(windows): Skip installing Inno Setup if already installed GitHub had removed Inno Setup from the Windows Server 2025 image, but now they've recently reintroduced it: https://redirect.github.com/actions/runner-images/issues/12947#issuecomment-3416540769 This new image with Inno Setup pre-installed is not generally available yet, so we still need to keep the "Install latest Inno Setup" CI step around, because our Windows CI runner might be randomly assigned an older version of the Windows 2025 image, where Inno Setup doesn't come pre-installed. To prevent that step from randomly failing, however, we now check if Inno Setup is already installed before invoking "winget install". --- .github/workflows/windows.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index deb95c4b..6acc4063 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -161,9 +161,12 @@ jobs: - name: Install latest Inno Setup run: | - winget install --id JRSoftware.InnoSetup --exact --silent --source winget - # Add to PATH - Add-Content $env:GITHUB_PATH "$env:LOCALAPPDATA\Programs\Inno Setup 6" + # Only installs if Inno Setup's Compiler (ISCC.exe) is not already in the PATH environment variable. + if (-Not (Get-Command ISCC -ErrorAction SilentlyContinue)) { + winget install --id JRSoftware.InnoSetup --exact --silent --source winget + # Add to PATH + Add-Content $env:GITHUB_PATH "$env:LOCALAPPDATA\Programs\Inno Setup 6" + } - name: Create installer run: |