Skip to content

Conversation

@b3nw
Copy link
Owner

@b3nw b3nw commented Oct 16, 2025

This PR includes the following changes:\n\n- Version Bump: Bumps the version to 2.16.3 for the new release.\n- CI Enhancements: \n - Modifies the Flatpak workflow to upload the bundle as an artifact.\n - Modifies the Ubuntu workflow to create and upload a archive as an artifact.\n- Documentation: Updates the memory bank () to reflect the new CI/CD artifact process.\n\nThe v2.16.3 release has already been created and populated with the new artifacts from this branch. Merging this PR will incorporate these improvements into the main branch for future development.

b3nw added 30 commits October 10, 2025 22:29
- Update checkout actions from v2 to v4 across all workflows
- Fix Flatpak build: update container from gnome-40 to gnome-45, upgrade flatpak-builder to v5, add cache-key
- Fix MSys2 build: standardize on windows-2022 runner, add update: true, add debug output
- Update Ubuntu build: upgrade from ubuntu-20.04 to ubuntu-22.04
- Add fix/workflow-builds branch to all workflow triggers for testing
- Improve error reporting and debug capabilities across workflows
- Fix Ubuntu build: change -Dtext=true to -Dtext-frontend=true for correct Meson option
- Fix MSYS2 build: replace unavailable mingw-w64-x86_64-python3-cffi with python and python-pip, install cffi via pip
- Fix Flatpak build: initialize shared-modules submodule to resolve parse error
- Initialize flatpak/shared-modules git submodule for proper build dependencies
- Fix Flatpak build: update submodule checkout to recursive mode to properly fetch shared-modules
- Update Flatpak runtime version from 40 to 45 to match gnome-45 container
- Fix Ubuntu build: change Python version requirement from >= 3.17 to >= 3.8 to match available Python versions
- Fix Flatpak JSON parse error in lua-5.3.5.json (tab character)
- Add workflow_dispatch triggers for testing
- MSYS2 Python cffi dependencies already correct
- Fix Flatpak JSON parse error via runtime sed command (submodule issue)
- Fix MSYS2 Python cffi install with --break-system-packages flag
Disable recursive submodule checkout to avoid pointer issues
Clone shared-modules manually in workflow step
Apply JSON fix for lua-5.3.5.json tab character
- Add retry mechanism with exponential backoff for flatpak-builder
- Force HTTPS for 0pointer.de to avoid HTTP/port80 failures
- Remove cache-key to avoid 400 errors from cache service
- Clone shared-modules manually with proper JSON fixes
- Add network error resilience with 3 attempt retries
- Use mingw-w64-x86_64-python instead of default python
- Add mingw-w64-x86_64-python-pip for proper pip
- Add mingw-w64-x86_64-python-cffi for pre-built cffi wheel
- Set PATH to /mingw64/bin first for MinGW environment
- Avoid sys/select.h issue by using pre-built MinGW packages
- Fix Flatpak: use correct manifest path and add bundle creation
- Fix MSYS2: disable NLS translations to avoid msgfmt ITS rules error
- Both workflows should now complete successfully
- Fix Flatpak: use correct manifest path and add bundle creation step
- Fix MSYS2: add ITS rules to appdata.xml for proper translation support
- Maintains translation support instead of disabling it
- Both workflows should now complete successfully
- Install mingw-w64-x86_64-gettext package for ITS rules
- Set GETTEXTDATADIRS environment variable for ITS rules location
- Should resolve 'cannot locate ITS rules' error in appdata.xml
- Replace reference to shared-modules/libcanberra/libcanberra.json
- Add inline libcanberra module using Ubuntu Launchpad tarball
- Use SHA256: ae7da6220d7720fc327ceeed54b57b306812ee598b39c6609641178c48dee742
- Avoids 0pointer.de network failures by using reliable Launchpad mirror
- Fixed URL to correct Ubuntu primary archive source
- Updated SHA256: c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72
- Updated status documentation: 75% success rate achieved
- MSYS2, Windows, and Ubuntu builds fully working
- Flatpak now has all technical fixes applied
- Remove buildsystem: meson from libcanberra module (uses autotools)
- Add proper autotools config-opts from shared-modules
- Remove 3-retry mechanism causing 25+ minute build times
- Build time reduced from 25+ minutes to ~5-8 minutes
- Remove shared-modules/lua5.3/lua-5.3.5.json (1-2 minute build time saved)
- Update HexChat config to use runtime Lua (-Dwith-lua=true)
- GTK2, dbus-glib, and themes must remain (not available in runtime)
- Realistic target: ~14-15 minutes vs previous 16+ minutes
- Install ccache on all platforms (Ubuntu, Windows, MSYS2, Flatpak)
- Configure cache directories with proper hash keys based on source files
- Set up ccache with 1GB cache size limit
- Add ccache statistics reporting to verify cache hit rates
- Use platform-specific paths and configurations for each build system
- Remove all ccache-related steps (install, cache, setup, stats)
- Remove CCACHE_PATH environment variable that was causing MSBuild conflicts
- Remove UseClangCl flag that was incompatible with /clr compilation
- Fixes "/clr and /EHs command-line options are incompatible" errors
- Fixes "/clr and /ZW command-line options are incompatible" errors

The Windows MSBuild toolchain doesn't need ccache and it was breaking
the Visual Studio C++ compilation with incompatible compiler flags.
- Add sed command to remove /lib/pkgconfig from lua5.1 cleanup section
- This preserves lua51.pc and related pkg-config files needed by lgi module
- Enables successful build of lgi Lua GObjectIntrospection binding
- Change -Dwith-lua=true to -Dwith-lua=lua51 in Flatpak manifest
- Previous configuration passed literal "true" as dependency name
- Now properly references lua51 pkg-config name for Lua plugin
- Combined with previous lgi module fixes, resolves Lua dependency issues

Build will fail with "Dependency true not found" without this fix.
The build-bundle command was failing with:
"Refspec 'app/io.github.Hexchat/x86_64/master' not found"

Added --runtime-repo parameter to specify Flathub repository:
--runtime-repo=https://flathub.org/repo/flathub.flatpakrepo

This allows the bundle creation to locate the required runtime components.
…mmand

- Added 'stable' branch parameter to flatpak build-bundle command
- Resolves 'Refspec app/io.github.Hexchat/x86_64/master not found' error
- Matches the branch specified in flatpak manifest (stable)
- Removed file from git index with git rm --cached
- Added to .gitignore to prevent future tracking
- File will remain locally but not be tracked by git
The flatpak-builder --ccache flag stores its cache in
flatpak_app/.flatpak-builder/ccache/, not ~/.ccache. Updated the
workflow to cache the correct directory for proper ccache persistence.

Changes:
- Updated cache path from ~/.ccache to flatpak_app/.flatpak-builder/ccache
- Removed redundant ccache setup commands (handled by flatpak-builder)
- Added statistics display showing cache size and file count
The --force-clean flag removes flatpak_app directory but ccache is
stored at workspace root .flatpak-builder/ccache, not in the build
directory. Also removed unnecessary ccache setup commands since
flatpak-builder handles ccache configuration internally.

Changes:
- Updated cache path to .flatpak-builder/ccache (workspace root)
- Removed ccache --set-config and --zero-stats (handled by flatpak-builder)
- Added diagnostic output to locate ccache directory if not found
Added comprehensive documentation of the ccache investigation and fix:
- Identified cache path mismatch issue
- Fixed by updating to .flatpak-builder/ccache
- Verified 38% build time improvement (18m -> 11m)
- Documented cache size (127-128 MB, 4000+ files)
Resolved conflicts in CI workflows to include artifact upload steps.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant