Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
4890ff5
Fix GitHub Actions workflow build issues
b3nw Oct 11, 2025
44bfa19
Fix Ubuntu/MSYS2/Flatpak build configuration issues
b3nw Oct 11, 2025
a986b6c
Additional fixes for Flatpak and Ubuntu builds
b3nw Oct 11, 2025
4c51ca2
Fix remaining workflow build issues
b3nw Oct 11, 2025
081b190
Fix workflow issues with runtime patches
b3nw Oct 11, 2025
bc89d2a
Fix Flatpak workflow: clone shared-modules manually and fix JSON
b3nw Oct 11, 2025
31d6a43
Fix Flatpak build: add retries, HTTPS for downloads, and cache fix
b3nw Oct 11, 2025
bcbcb2c
Fix MSYS2 build: use proper MinGW-w64 Python packages
b3nw Oct 11, 2025
cdd3f42
Fix both workflows for final issues
b3nw Oct 11, 2025
c191cdb
Fix both workflows with proper solutions
b3nw Oct 11, 2025
cbb7060
Fix MSYS2 build: add gettext with ITS rules support
b3nw Oct 11, 2025
5c0e392
Fix Flatpak build: replace shared-module libcanberra with inline module
b3nw Oct 11, 2025
592fb41
Fix Flatpak libcanberra URL and update final status
b3nw Oct 11, 2025
e79c637
Fix Flatpak build: remove incorrect meson buildsystem from libcanberra
b3nw Oct 11, 2025
7297c9d
Optimize Flatpak build: use runtime Lua instead of building from source
b3nw Oct 11, 2025
cc841a4
Add ccache integration to all GitHub Actions workflows
b3nw Oct 11, 2025
936f21b
Fix Windows ccache action: use choco install instead of non-existent …
b3nw Oct 11, 2025
01625b7
Remove ccache integration from Windows workflow fixes compilation
b3nw Oct 12, 2025
1d72330
Fix Flatpak build: keep Lua pkg-config files for lgi dependency
b3nw Oct 12, 2025
30fc9c2
Fix Flatpak build: correct Lua configuration for hexchat plugin
b3nw Oct 13, 2025
bf07f96
Fix Flatpak bundle creation: add runtime repository
b3nw Oct 13, 2025
dc7f738
Fix Flatpak bundle creation: specify stable branch in build-bundle co…
b3nw Oct 14, 2025
ec0bdc6
Remove WORKFLOW_FIXES_STATUS.md from git tracking
b3nw Oct 14, 2025
c231da6
Fix Flatpak ccache: use correct flatpak-builder cache directory
b3nw Oct 14, 2025
82f12a0
Fix Flatpak ccache path: use workspace root .flatpak-builder/ccache
b3nw Oct 14, 2025
9177aa3
Test ccache restoration on Flatpak build - trigger workflow
b3nw Oct 14, 2025
2436ad3
Document Flatpak ccache fix and performance improvements
b3nw Oct 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 52 additions & 6 deletions .github/workflows/flatpak-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,68 @@ on:
push:
branches:
- master
- fix/workflow-builds
pull_request:
branches:
- master
workflow_dispatch:

jobs:
flatpak_build:
runs-on: ubuntu-latest
container:
image: bilelmoussaoui/flatpak-github-actions:gnome-40
image: bilelmoussaoui/flatpak-github-actions:gnome-45
options: --privileged
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: true
submodules: false
token: ${{ secrets.GITHUB_TOKEN }}

- uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v3
- name: Cache flatpak-builder ccache
uses: actions/cache@v4
with:
bundle: hexchat.flatpak
manifest-path: flatpak/io.github.Hexchat.json
path: .flatpak-builder/ccache
key: ${{ runner.os }}-flatpak-ccache-${{ hashFiles('**/*.c', '**/*.h', '**/*.cpp', 'meson.build', 'meson_options.txt', 'flatpak/**/*.json') }}
restore-keys: |
${{ runner.os }}-flatpak-ccache-

- name: Clone and fix shared-modules
run: |
# Clone shared-modules manually
git clone https://github.com/flathub/shared-modules.git flatpak/shared-modules
# Fix the JSON parse error in lua-5.3.5.json
sed -i 's/|LUA_IDSIZE\t60/|LUA_IDSIZE\\t60/g' flatpak/shared-modules/lua5.3/lua-5.3.5.json
sed -i 's/|LUA_IDSIZE\t512/|LUA_IDSIZE\\t512/g' flatpak/shared-modules/lua5.3/lua-5.3.5.json
# Fix lua5.1 module: keep pkg-config files for lgi dependency
sed -i 's|"/lib/pkgconfig",||g' flatpak/shared-modules/lua5.1/lua-5.1.5.json
# Prefer https for 0pointer.de to avoid HTTP/port80 failures
grep -RIl "0pointer.de" flatpak/shared-modules || true | xargs -r sed -i 's|http://0pointer.de/|https://0pointer.de/|g'

- name: Build flatpak
run: |
xvfb-run --auto-servernum flatpak-builder \
--repo=repo \
--disable-rofiles-fuse \
--install-deps-from=flathub \
--force-clean \
--default-branch=stable \
--arch=x86_64 \
--ccache flatpak_app \
flatpak/io.github.Hexchat.json

- name: Show ccache statistics
run: |
if [ -d .flatpak-builder/ccache ]; then
echo "=== Flatpak-builder ccache directory contents ==="
du -sh .flatpak-builder/ccache
echo "Total cached files: $(find .flatpak-builder/ccache -type f | wc -l)"
else
echo "Warning: ccache directory not found at .flatpak-builder/ccache"
echo "Checking alternative locations:"
find . -type d -name ccache 2>/dev/null || echo "No ccache directories found"
fi

- name: Create Flatpak bundle
run: |
flatpak build-bundle repo hexchat.flatpak io.github.Hexchat stable --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
49 changes: 46 additions & 3 deletions .github/workflows/msys-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,71 @@ on:
push:
branches:
- master
- fix/workflow-builds
pull_request:
branches:
- master
workflow_dispatch:

jobs:
msys2_build:
runs-on: windows-latest
runs-on: windows-2022
defaults:
run:
shell: msys2 {0}

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- uses: msys2/setup-msys2@v2
with:
update: true
install: >-
mingw-w64-x86_64-gcc
mingw-w64-x86_64-pkg-config
mingw-w64-x86_64-python3-cffi
mingw-w64-x86_64-meson
mingw-w64-x86_64-gtk2
mingw-w64-x86_64-gtk-update-icon-cache
mingw-w64-x86_64-luajit
mingw-w64-x86_64-desktop-file-utils
mingw-w64-x86_64-python
mingw-w64-x86_64-python-pip
mingw-w64-x86_64-python-cffi
mingw-w64-x86_64-gettext
mingw-w64-x86_64-ccache

- name: Cache ccache directory
uses: actions/cache@v4
with:
path: ~/.ccache
key: ${{ runner.os }}-msys2-ccache-${{ hashFiles('**/*.c', '**/*.h', '**/*.cpp', 'meson.build', 'meson_options.txt') }}
restore-keys: |
${{ runner.os }}-msys2-ccache-

- name: Setup ccache
shell: msys2 {0}
run: |
echo "/mingw64/lib/ccache/bin" >> $GITHUB_PATH
ccache --set-config=max_size='1.0G'
ccache --zero-stats

- name: Show environment (debug)
run: |
echo "MSYSTEM: $MSYSTEM"
echo "PATH: $PATH"
which gcc
which meson
gcc --version
meson --version
pkg-config --version

- name: Set GETTEXTDATADIRS
run: echo "GETTEXTDATADIRS=/usr/share/gettext/its" >> $GITHUB_ENV

- name: Install Python cffi
run: pip install cffi --break-system-packages
env:
PATH: /mingw64/bin:$PATH

- name: Configure
run: >-
Expand All @@ -43,5 +83,8 @@ jobs:
- name: Test
run: ninja -C build test

- name: Show ccache statistics
run: ccache --show-stats

- name: Install
run: ninja -C build install
31 changes: 27 additions & 4 deletions .github/workflows/ubuntu-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,30 +3,53 @@ on:
push:
branches:
- master
- fix/workflow-builds
pull_request:
branches:
- master

jobs:
ubuntu_build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Install Dependencies
- name: Install ccache
run: |
sudo apt-get update
sudo apt-get install -y ccache

- name: Cache ccache directory
uses: actions/cache@v4
with:
path: ~/.ccache
key: ${{ runner.os }}-ccache-${{ hashFiles('**/*.c', '**/*.h', '**/*.cpp', 'meson.build', 'meson_options.txt') }}
restore-keys: |
${{ runner.os }}-ccache-

- name: Setup ccache
run: |
echo "/usr/lib/ccache" >> $GITHUB_PATH
ccache --set-config=max_size='1.0G'
ccache --zero-stats

- name: Install Dependencies
run: |
sudo apt-get install -y meson libcanberra-dev libdbus-glib-1-dev libglib2.0-dev libgtk2.0-dev libluajit-5.1-dev libpci-dev libperl-dev libssl-dev python3-dev python3-cffi mono-devel desktop-file-utils
python3 --version

- name: Configure
run: meson build -Dtext=true -Dtheme-manager=true -Dauto_features=enabled
run: meson build -Dtext-frontend=true -Dtheme-manager=true -Dauto_features=enabled

- name: Build
run: ninja -C build

- name: Test
run: ninja -C build test

- name: Show ccache statistics
run: ccache --show-stats

- name: Install
run: sudo ninja -C build install
3 changes: 2 additions & 1 deletion .github/workflows/windows-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ on:
branches:
- master
- feat/hexchat-python-313-win
- fix/workflow-builds
pull_request:
branches:
branches:
- master
workflow_dispatch:

Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ osx/.HexChat.app
# Node modules and package files
node_modules/
package-lock.json
package.json
package.jsonWORKFLOW_FIXES_STATUS.md
Loading