Commit Graph

189 Commits

Author SHA1 Message Date
8a166a9824 Fixed the macOS x86_64 CI build pipeline by adding the missing install step (meson install -C build-macos-x86_64) immediately after compilation, so the staged binary exists before makebundle.sh runs. This resolves the Cannot find main binary: .../stage/x86_64/bin/zoitechat packaging failure path. 2026-02-19 13:49:14 -07:00
7ab4b8d2eb Updated the macOS x86_64 GitHub Actions job to use runs-on: macos-15-intel instead of macos-13, which addresses unsupported macOS runner configuration issues. 2026-02-19 13:43:09 -07:00
deepend-tildeclub
29f1ac31ec Update macOS build workflow for arm64 and x86_64
Refactor macOS build workflow to support arm64 and x86_64 architectures. Add steps for staging dependencies and packaging unsigned apps for both architectures.
2026-02-19 13:30:47 -07:00
deepend-tildeclub
b0c1388d45 Enable darwin-arch-sanity-check in macOS build 2026-02-19 12:37:10 -07:00
5ce88345ee Updated the macOS CI workflow so the x86_64 Meson configure step explicitly passes -Ddarwin-arch-sanity-check=false, preventing the architecture sanity guard from aborting that leg when dependencies are discovered via /opt/homebrew in GitHub-hosted macOS runners. 2026-02-19 12:07:53 -07:00
b3f31004e6 Added universal build support to the macOS bundler script: UNIVERSAL=1 now targets both arm64 and x86_64, can auto-discover per-arch build outputs, and uses lipo -create to produce a universal ZoiteChat-bin before architecture validation.
Updated the macOS GitHub Actions workflow to build both architectures (build-macos-arm64 + build-macos-x86_64), then package a universal app by passing both binaries into osx/makebundle.sh.

Documented the universal build invocation in osx/DEBUGGING.md so local builds can reproduce Intel + Apple Silicon compatibility packaging.
2026-02-19 10:43:16 -07:00
a68a49f394 Fixed the macOS CI packaging step by exporting PREFIX and ENCHANT_PREFIX before the Perl substitutions that rewrite <prefix> entries in osx/zoitechat.bundle. This ensures $ENV{...} is populated during replacement and avoids invalid/empty metadata values that can crash gtk-mac-bundler with the NoneType error. 2026-02-18 14:00:26 -07:00
e9869db82b Updated the macOS GitHub Actions dependency-install step to add a fallback installer for gtk-mac-bundler when neither the CLI executable nor the Python module is already available. The fallback downloads the upstream tarball, extracts it, and runs make install so osx/makebundle.sh can proceed in CI. 2026-02-18 13:12:40 -07:00
125c69c1b0 Updated the macOS CI workflow’s Meson configure step to explicitly disable libcanberra by adding -Dlibcanberra=disabled, which prevents Meson from treating that unavailable macOS dependency as required when -Dauto_features=enabled is set. 2026-02-18 11:34:25 -07:00
55d2dab620 Updated the macOS CI workflow to install gtk-mac-integration instead of gtk-mac-bundler in the Homebrew dependency list, resolving the reported “No available formula” failure during brew install. 2026-02-18 11:16:14 -07:00
590b44946b Updated the macOS GitHub Actions workflow to install enchant instead of the removed enchant-applespell Homebrew formula in the dependency step, which addresses the reported brew failure.
Updated the bundling step to resolve ENCHANT_PREFIX from brew --prefix enchant so packaging remains aligned with the installed formula.
2026-02-18 11:10:48 -07:00
857c8918d8 Fixed the invalid workflow expression by removing secrets.* checks from the job-level if on macos_release_signed (job-level expressions can’t reference secrets in that way).
Added a Check signing secrets availability step that inspects all required Apple signing/notarization secrets and emits a ready output for downstream gating.

Added an explicit skip message step when secrets are missing, and gated all signing/notarization/artifact-upload steps behind steps.signing_secrets.outputs.ready == 'true' so the workflow remains valid while preserving intended behavior.
2026-02-18 11:01:52 -07:00
04b8f1d5fa Added a new GitHub Actions workflow at .github/workflows/macos-build.yml with branch triggers aligned to existing CI (push/pull_request on master) and a two-job structure for unsigned CI build plus optional release signing/notarization.
Implemented the build-only unsigned macOS phase on macos-latest: installs Meson/Ninja/GTK tooling via Homebrew, configures/builds with Meson, installs for bundling, generates the .app zip via the existing macOS bundle script, and uploads the unsigned artifact with retention (14 days).

Implemented the release-grade gated phase: job is gated to push on master and only runs when required Apple signing/notarization secrets are present; it downloads the unsigned artifact, imports Developer ID cert, codesigns, notarizes with Apple API key credentials, staples the ticket, and uploads a signed artifact with retention (30 days).
2026-02-18 10:55:53 -07:00
e8f4044f8c Updated the Solus workflow to grant packages: read (alongside contents: read) at workflow scope, so the Actions token can authenticate for GHCR package pulls.
Added a conditional GHCR login step (docker/login-action@v3) that runs when the selected image is under ghcr.io/*, using ${{ github.actor }} and ${{ github.token }} before docker pull.

Left the existing build/pull flow intact after authentication, so behavior is unchanged except for fixing anonymous-pull denial cases.
2026-02-18 10:44:45 -07:00
fe55334f5c Updated the Debian CI workflow to collect generated package files into a workspace-local artifacts/ directory before upload, avoiding disallowed ../ path traversal patterns in actions/upload-artifact@v4.
Updated the upload step to use path: artifacts/*, which is compatible with v4 artifact path validation rules.
2026-02-16 14:03:59 -07:00
2d61db57ef Updated the Debian GitHub Actions workflow to use Debian packaging tooling/dependencies (including dpkg-dev, debhelper, fakeroot, iso-codes, and liblua5.3-dev) so the job is set up for Debian package builds from debian/.
Replaced the previous direct Meson configure/build/test/install steps with a Debian package build step using dpkg-buildpackage -us -uc -b.
Added artifact upload for generated Debian package outputs (*.deb, *.changes, *.buildinfo).
2026-02-16 03:26:00 -07:00
deepend-tildeclub
fd9cd61991 Simplify build matrix for Windows workflow 2026-02-14 23:43:06 -07:00
deepend-tildeclub
481e7f78bc Update Inno Setup version in Windows build workflow 2026-02-14 23:33:29 -07:00
deepend-tildeclub
45ef0fcd26 Update artifact handling in Windows build workflow 2026-02-14 22:47:42 -07:00
deepend-tildeclub
eaef68f827 Fix artifact paths in Windows build workflow 2026-02-14 22:39:06 -07:00
deepend-tildeclub
e0d22f7f6a Update GTK3 download URL in windows-build.yml 2026-02-14 21:32:01 -07:00
deepend-tildeclub
2a24686f29 Update Windows build workflow for GTK dependencies 2026-02-14 21:28:41 -07:00
deepend-tildeclub
c55b46e67f Remove hcpython3.dll check from Windows build workflow 2026-02-14 20:48:26 -07:00
deepend-tildeclub
15eae4f606 Refactor Python directory setup in Windows build 2026-02-14 20:43:02 -07:00
deepend-tildeclub
a1b339eecf Update Windows build workflow to exclude hcperl.dll
Removed 'hcperl.dll' from the plugin verification process in the Windows build workflow.
2026-02-14 20:17:57 -07:00
874ea99492 win32/copy/copy.vcxproj
Switched hardcoded DLL names to wildcard patterns (ex: atk-1.0-0.dll → *atk-1.0-0.dll, iconv.dll → *iconv*.dll, etc.) so it correctly picks up lib* prefixed builds.
  Made Enchant provider copying resilient by copying lib\enchant\*.dll instead of a single hardcoded libenchant_myspell.dll.
  Added optional copy support for LuaJIT DLLs (luajit*.dll) alongside lua51.dll.

win32/installer/zoitechat.iss.tt
  Updated DLL Source: entries to match real-world names from dependency bundles using wildcards (*glib-2*.dll, *gtk-3*.dll, etc.).
  Added optional LuaJIT inclusion (skip if missing) and wildcarded girepository.

win32/zoitechat.props
  Added env overrides so CI (and humans) can actually control paths:
  ZOITECHAT_DEPS_PATH
  ZOITECHAT_PYTHON3_PATH
  already supported ISCC_EXE and now it actually matters.
  Fixed glib-genmarshal handling to prefer glib-genmarshal.exe if present (and only use Python script path if needed).
  Added library-name auto-detection for MSVC import libs (gtk-3.lib vs gtk-3.0.lib vs libgtk-3.lib, etc.) so linking doesn’t die just because the bundle names differ.
  Ensured InstallerEnabled gets re-evaluated after IsccPath is resolved (GTK3 had the order wrong, so installer builds could be silently disabled).

.github/workflows/windows-build.yml
  Made artifact collection and plugin validation tolerate win32 vs Win32 output directory naming, instead of assuming humans are consistent (they aren’t).
2026-02-14 15:57:41 -07:00
deepend-tildeclub
4c3e9ffad4 Add Lua dependency installation and validation steps 2026-02-14 14:05:17 -07:00
deepend-tildeclub
f5feb7a0de Update Windows build workflow for GTK3 Gvsbuild
Refactor GTK3 Gvsbuild download and extraction logic based on architecture.
2026-02-14 13:14:24 -07:00
deepend-tildeclub
0e3322d4a8 Update download link for GTK3 Gvsbuild archive 2026-02-14 11:49:41 -07:00
deepend-tildeclub
3a5fc95725 Update GTK download link and extraction path 2026-02-14 09:42:03 -07:00
deepend-tildeclub
b7496a4732 Implement error handling for GTK extraction
Added error handling for gtk.7z extraction failure.
2026-02-14 02:58:17 -07:00
deepend-tildeclub
12d805fad4 Add Inno Setup compiler path detection in workflow 2026-02-14 02:08:12 -07:00
deepend-tildeclub
2028a21d14 Update Visual Studio path in Windows build workflow 2026-02-14 01:41:21 -07:00
deepend-tildeclub
08d0b25619 Update Windows build runner to use 2022 version 2026-02-14 01:36:46 -07:00
deepend-tildeclub
ac1065bfa6 Change Windows build runner from 2022 to 2019 2026-02-14 01:17:43 -07:00
deepend-tildeclub
84501d087c Simplify Visual Studio setup in Windows build workflow 2026-02-14 01:14:30 -07:00
deepend-tildeclub
60f2b53866 Enhance Visual Studio setup in Windows build workflow 2026-02-14 01:10:05 -07:00
deepend-tildeclub
c9e8d24e06 Change build environment to Windows 2022
Updated the Windows build workflow to use Visual Studio 2022.
2026-02-14 01:01:25 -07:00
b2d8336dd0 changes to innosetup version / path. changed to precompiled gtk3 binaries. 2026-02-13 21:49:58 -07:00
cfdc275a88 Updated the Windows GitHub Actions workflow to stop cloning/installing gvsbuild and running gvsbuild build for GTK dependencies, and instead download/extract the precompiled GTK archive you specified (gtk-x64-2026.7z).
Preserved the existing Win32 alias junction logic, but now gate it on both the win32 matrix target and the presence of C:\gtk-build\gtk\x86 from the extracted archive.
2026-02-13 21:40:35 -07:00
deepend-tildeclub
e77aca2037 Fix hicolor icon theme package name in build script 2026-02-05 22:31:36 -07:00
deepend-tildeclub
981cf94719 Add luajit and gstreamer to build process 2026-02-05 22:14:47 -07:00
deepend-tildeclub
1eb61cfd24 Update dependencies in openbsd-build.yml
Removed 'libappindicator' from the list of dependencies.
2026-02-05 15:38:02 -07:00
deepend-tildeclub
629f0d6502 Add libappindicator to OpenBSD build dependencies 2026-02-05 10:24:04 -07:00
deepend-tildeclub
b69edb7936 Update GTK version in OpenBSD build workflow 2026-02-05 10:04:20 -07:00
deepend-tildeclub
0b785c8e59 Add enchant library to Windows build process 2026-02-04 23:29:05 -07:00
deepend-tildeclub
fe4abe7d85 Fix formatting and update artifact upload settings 2026-02-04 09:31:40 -07:00
deepend-tildeclub
4f294f4eae Add libxml2 to gvsbuild command in workflow 2026-02-04 08:16:44 -07:00
deepend-tildeclub
3ad525533d Update Windows build workflow to exclude Lua steps
Removed Lua build and extraction steps from the workflow.
2026-02-04 00:08:58 -07:00
deepend-tildeclub
6f1f82a7fb Delete .github/workflows/msys-build.yml 2026-02-03 22:10:35 -07:00