Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
1c5fe46
fix macos build
bas524 Oct 7, 2024
4ce5c51
try to fix cmake option for qt5
bas524 Oct 7, 2024
338d0ee
fix qt5 path for brew
bas524 Oct 7, 2024
9af145b
fedora_latest:s390x and fedora_latest:ppc64le doesn't exist
bas524 Oct 8, 2024
bbd4efc
disable fedira build on non x86 platforms
bas524 Oct 8, 2024
37b87e1
update action functions versions
bas524 Oct 8, 2024
d9348da
add CLAUDE.md and performance/correctness task plan
bas524 May 28, 2026
1ae85f7
fix thread-safety bug in fillExportTable (task-01)
bas524 May 28, 2026
64952e9
fix ln -s failing on incremental builds on macOS
bas524 May 28, 2026
bc56300
re-sign app bundle after macdeployqt to fix launch crash on macOS 15+
bas524 May 28, 2026
5c7e132
mark task-02 done (resolved by task-01 rewrite)
bas524 May 28, 2026
3a921fc
mark task-03 done (resolved by task-01 rewrite)
bas524 May 28, 2026
2af24a1
batch widget updates in fillDependency, replace QColor("red") (task-0…
bas524 May 28, 2026
520ab42
cache dynamic_cast result in demanglerules (task-06)
bas524 May 28, 2026
e30498b
eliminate double string build in getInfo (task-07)
bas524 May 28, 2026
aa8c91b
fix copyExportItem always copying currentRow (task-08)
bas524 May 28, 2026
2faf587
remove QDir::setCurrent global state mutation (task-09)
bas524 May 28, 2026
a3b9748
remove completed task files and tasks section from CLAUDE.md
bas524 May 28, 2026
c88fd3b
fix deprecation warnings, bump C++17, refresh CI (plan: drifting-spla…
bas524 May 28, 2026
a59042a
Unify Nautilus extension to single file supporting all API versions
bas524 May 28, 2026
71575ae
Fix three CI failures: s390x ubuntu version, centos image, fedora pac…
bas524 May 28, 2026
0125472
update gitignore
bas524 May 28, 2026
f562f38
Make lsb_release optional; drop unavailable lsb packages from CI
bas524 May 28, 2026
a2ab160
Fall back to /etc/os-release when lsb_release is unavailable
bas524 May 28, 2026
7395ed2
Fix artifact name containing slashes for quay.io/centos/centos:stream9
bas524 May 28, 2026
3b90f25
Bump version to 1.3.0, fix artifact name sanitization, add workflow c…
bas524 May 28, 2026
4c0773c
Pin all non-x86 ubuntu matrix entries to ubuntu22.04
bas524 May 28, 2026
746f6e5
Add ulimit -s unlimited before build in non-x86 QEMU jobs
bas524 May 28, 2026
62fd679
Add libc6-dev to non-x86 ubuntu install to provide pthread.h
bas524 May 28, 2026
48a3ea5
Limit non-x86 QEMU builds to -j1 to prevent GCC ICE
bas524 May 28, 2026
853365e
add libpthread-stubs0-dev and glibc-devel. The package libc6-dev is i…
bas524 May 29, 2026
00f9119
add glibc-dev
bas524 May 29, 2026
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
142 changes: 41 additions & 101 deletions .github/workflows/action-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,15 @@ jobs:
matrix:
include:
- arch: aarch64
distro: ubuntu_latest
distro: ubuntu22.04
- arch: ppc64le
distro: ubuntu_latest
distro: ubuntu22.04
- arch: s390x
distro: ubuntu_latest
distro: ubuntu22.04
- arch: riscv64
distro: ubuntu_latest
distro: ubuntu22.04
- arch: aarch64
distro: fedora_latest
- arch: ppc64le
distro: fedora_latest
- arch: s390x
distro: fedora_latest
steps:
- name: Get current date
id: date
Expand All @@ -31,7 +27,7 @@ jobs:
- name: Set artifacts dir
id: artifacts
run: echo "artifacts=$(echo $PWD/artifacts)" >> $GITHUB_OUTPUT
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: uraimo/run-on-arch-action@v2
name: Run commands
id: configure-and-build
Expand All @@ -50,16 +46,17 @@ jobs:
install: |
case "${{ matrix.distro }}" in
ubuntu*|jessie|stretch|buster|bullseye)
apt-get update -y && apt-get install -yq binutils python3-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release
apt-get update -y && apt-get install -yq binutils python3-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release libc6-dev libpthread-stubs0-dev glibc-dev
;;
fedora*)
yum update -y && yum install -yq binutils python3-nautilus qt5-qtbase-devel qt5-qttools rpm-build redhat-lsb
yum update -y && yum install -yq binutils nautilus-python qt5-qtbase-devel qt5-qttools rpm-build glibc-devel
;;
esac
run: |
ulimit -s unlimited &&
mkdir cmake-build-release &&
cmake -DCOMMITTER_DATE="${{ steps.date.outputs.date }}" -DCOMMITTER_FULLSHA="${{ steps.git_sha.outputs.git_sha }}" -DCOMMITTER_SHORTSHA="$(echo ${{ steps.git_sha.outputs.git_sha }} | cut -c1-7)" -DCMAKE_BUILD_TYPE=Release -Bcmake-build-release -H. &&
cmake --build cmake-build-release/ --target all &&
cmake --build cmake-build-release/ --target all -- -j1 &&
[[ "$(lsb_release -i -s)" == "Ubuntu" ]] && export CPACK_FORMAT=DEB || export CPACK_FORMAT=RPM &&
[[ "$(lsb_release -i -s)" == "Ubuntu" ]] && export PKG_FORMAT=deb || export PKG_FORMAT=rpm &&
cd cmake-build-release && cpack -G ${CPACK_FORMAT} && cd .. &&
Expand All @@ -70,7 +67,7 @@ jobs:
id: get-version
run: echo "prj_ver=$(cat ${PWD}/artifacts/VERSION.txt)" >> $GITHUB_OUTPUT
- name: Upload Qldd binary
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ format('Qldd-{0}.{1}-{2}', steps.get-version.outputs.prj_ver, matrix.distro, matrix.arch) }}
path: ${{ format('{0}/Qldd-{1}-{2}.???', steps.artifacts.outputs.artifacts ,steps.get-version.outputs.prj_ver, matrix.arch) }}
Expand All @@ -85,6 +82,7 @@ jobs:
matrix:
container:
- ubuntu:22.04
- ubuntu:24.04

container:
image: ${{ matrix.container }}
Expand All @@ -96,7 +94,7 @@ jobs:
- name: Get commit sha
id: git_sha
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT
- uses: actions/checkout@v3
- uses: actions/checkout@v4
# install dependencies
- name: devel-pkgs
run: apt-get update -y && apt-get install -yq binutils python3-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release
Expand All @@ -115,69 +113,15 @@ jobs:
- name: cpack
run: cd cmake-build-release && cpack -G DEB && cd ..
# upload artifact
- uses: mad9000/actions-find-and-replace-string@3
id: container
with:
source: ${{ matrix.container }}
find: ':' # we want to remove : from container name
replace: '-' # and replace it with -

- name: Upload Qldd binary
uses: actions/upload-artifact@v3
with:
name: ${{ format('Qldd-{0}.{1}', steps.get-version.outputs.prj_ver, steps.container.outputs.value) }}
path: cmake-build-release/${{ format('Qldd-{0}-x86_64.???', steps.get-version.outputs.prj_ver) }}
ubuntu-20-04:
runs-on: ubuntu-latest
name: Build on ${{ matrix.container }} x86_64
strategy:
#
# matrix for containers
#
matrix:
container:
- ubuntu:20.04

container:
image: ${{ matrix.container }}

steps:
- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_OUTPUT
- name: Get commit sha
id: git_sha
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT
- uses: actions/checkout@v3
# install dependencies
- name: devel-pkgs
run: |
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections &&
apt-get update -y && apt-get install -yq python-nautilus binutils make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release
# build project
- name: mkdir
run: mkdir cmake-build-release
- name: cmake cmake-build-release
run: cmake -DCOMMITTER_DATE="${{ steps.date.outputs.date }}" -DCOMMITTER_FULLSHA="${{ steps.git_sha.outputs.git_sha }}" -DCOMMITTER_SHORTSHA="$(echo ${{ steps.git_sha.outputs.git_sha }} | cut -c1-7)" -DCMAKE_BUILD_TYPE=Release -Bcmake-build-release -H.
- name: cmake make
run: cmake --build cmake-build-release/ --target all
env:
MAKEFLAGS: "-j2"
- name: get-version
id: get-version
run: echo "prj_ver=$(cat ./VERSION.txt)" >> $GITHUB_OUTPUT
- name: cpack
run: cd cmake-build-release && cpack -G DEB && cd ..
# upload artifact
- uses: mad9000/actions-find-and-replace-string@3
- uses: mad9000/actions-find-and-replace-string@5
id: container
with:
source: ${{ matrix.container }}
find: ':' # we want to remove : from container name
replace: '-' # and replace it with -

- name: Upload Qldd binary
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ format('Qldd-{0}.{1}', steps.get-version.outputs.prj_ver, steps.container.outputs.value) }}
path: cmake-build-release/${{ format('Qldd-{0}-x86_64.???', steps.get-version.outputs.prj_ver) }}
Expand All @@ -202,7 +146,7 @@ jobs:
- name: Get commit sha
id: git_sha
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT
- uses: actions/checkout@v3
- uses: actions/checkout@v4
# install dependencies
- name: devel-pkgs
run: apt-get update -y && apt-get install -yq binutils python3-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release
Expand All @@ -221,19 +165,19 @@ jobs:
- name: cpack
run: cd cmake-build-release && cpack -G DEB && cd ..
# upload artifact
- uses: mad9000/actions-find-and-replace-string@3
- uses: mad9000/actions-find-and-replace-string@5
id: container
with:
source: ${{ matrix.container }}
find: ':' # we want to remove : from container name
replace: '-' # and replace it with -

- name: Upload Qldd binary
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ format('Qldd-{0}.{1}', steps.get-version.outputs.prj_ver, steps.container.outputs.value) }}
path: cmake-build-release/${{ format('Qldd-{0}-x86_64.???', steps.get-version.outputs.prj_ver) }}
debian-buster:
debian-bookworm:
runs-on: ubuntu-latest
name: Build on ${{ matrix.container }} x86_64
strategy:
Expand All @@ -242,7 +186,7 @@ jobs:
#
matrix:
container:
- debian:buster
- debian:bookworm

container:
image: ${{ matrix.container }}
Expand All @@ -254,10 +198,10 @@ jobs:
- name: Get commit sha
id: git_sha
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT
- uses: actions/checkout@v3
- uses: actions/checkout@v4
# install dependencies
- name: devel-pkgs
run: apt-get update -y && apt-get install -yq binutils python-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release
run: apt-get update -y && apt-get install -yq binutils python3-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release
# build project
- name: mkdir
run: mkdir cmake-build-release
Expand All @@ -273,15 +217,15 @@ jobs:
- name: cpack
run: cd cmake-build-release && cpack -G DEB && cd ..
# upload artifact
- uses: mad9000/actions-find-and-replace-string@3
- uses: mad9000/actions-find-and-replace-string@5
id: container
with:
source: ${{ matrix.container }}
find: ':' # we want to remove : from container name
replace: '-' # and replace it with -

- name: Upload Qldd binary
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ format('Qldd-{0}.{1}', steps.get-version.outputs.prj_ver, steps.container.outputs.value) }}
path: cmake-build-release/${{ format('Qldd-{0}-x86_64.???', steps.get-version.outputs.prj_ver) }}
Expand All @@ -294,7 +238,7 @@ jobs:
#
matrix:
container:
- centos:latest
- quay.io/centos/centos:stream9

container:
image: ${{ matrix.container }}
Expand All @@ -306,16 +250,15 @@ jobs:
- name: Get commit sha
id: git_sha
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT
- uses: actions/checkout@v3
- uses: actions/checkout@v4
# install dependencies
- name: devel-pkgs
run: |
cd /etc/yum.repos.d/ &&
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* &&
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* &&
cd / &&
yum update -y && yum install -yq epel-next-release &&
yum update -y && yum install -yq binutils python3-nautilus qt5-qtbase-devel qt5-qttools rpm-build redhat-lsb-core
yum install -y dnf-plugins-core &&
yum config-manager --set-enabled crb &&
yum install -y epel-release epel-next-release &&
yum update -y &&
yum install -yq binutils nautilus-python qt5-qtbase-devel qt5-qttools rpm-build
# build project
- name: mkdir
run: mkdir cmake-build-release
Expand All @@ -331,15 +274,12 @@ jobs:
- name: cpack
run: cd cmake-build-release && cpack -G RPM && cd ..
# upload artifact
- uses: mad9000/actions-find-and-replace-string@3
- name: Sanitize container name for artifact
id: container
with:
source: ${{ matrix.container }}
find: ':' # we want to remove : from container name
replace: '-' # and replace it with -
run: echo "value=$(echo '${{ matrix.container }}' | tr ':/' '--')" >> $GITHUB_OUTPUT

- name: Upload Qldd binary
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ format('Qldd-{0}.{1}', steps.get-version.outputs.prj_ver, steps.container.outputs.value) }}
path: cmake-build-release/${{ format('Qldd-{0}-x86_64.???', steps.get-version.outputs.prj_ver) }}
Expand All @@ -364,10 +304,10 @@ jobs:
- name: Get commit sha
id: git_sha
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT
- uses: actions/checkout@v3
- uses: actions/checkout@v4
# install dependencies
- name: devel-pkgs
run: yum update -y && yum install -yq binutils python3-nautilus qt5-qtbase-devel qt5-qttools rpm-build redhat-lsb
run: yum update -y && yum install -yq binutils nautilus-python qt5-qtbase-devel qt5-qttools rpm-build
# build project
- name: mkdir
run: mkdir cmake-build-release
Expand All @@ -383,21 +323,21 @@ jobs:
- name: cpack
run: cd cmake-build-release && cpack -G RPM && cd ..
# upload artifact
- uses: mad9000/actions-find-and-replace-string@3
- uses: mad9000/actions-find-and-replace-string@5
id: container
with:
source: ${{ matrix.container }}
find: ':' # we want to remove : from container name
replace: '-' # and replace it with -

- name: Upload Qldd binary
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ format('Qldd-{0}.{1}', steps.get-version.outputs.prj_ver, steps.container.outputs.value) }}
path: cmake-build-release/${{ format('Qldd-{0}-x86_64.???', steps.get-version.outputs.prj_ver) }}
macos-clang-cmake:
runs-on: macos-latest
name: Build on macos-latest x86_64
name: Build on macos-latest

steps:
- name: Get current date
Expand All @@ -406,15 +346,15 @@ jobs:
- name: Get commit sha
id: git_sha
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT
- uses: actions/checkout@v3
- uses: actions/checkout@v4
# install dependencies
- name: brew-pkgs
run: brew install qt@5
# build project
- name: mkdir
run: mkdir cmake-build-release
- name: cmake cmake-build-release
run: cmake -DCMAKE_PREFIX_PATH=$(brew --prefix)/opt/qt5 -DCOMMITTER_DATE="${{ steps.date.outputs.date }}" -DCOMMITTER_FULLSHA="${{ steps.git_sha.outputs.git_sha }}" -DCOMMITTER_SHORTSHA="$(echo ${{ steps.git_sha.outputs.git_sha }} | cut -c1-7)" -DCMAKE_BUILD_TYPE=Release -Bcmake-build-release -H.
run: cmake -DCMAKE_PREFIX_PATH=$(brew --prefix)/opt/qt@5 -DCOMMITTER_DATE="${{ steps.date.outputs.date }}" -DCOMMITTER_FULLSHA="${{ steps.git_sha.outputs.git_sha }}" -DCOMMITTER_SHORTSHA="$(echo ${{ steps.git_sha.outputs.git_sha }} | cut -c1-7)" -DCMAKE_BUILD_TYPE=Release -Bcmake-build-release -H.
- name: cmake make
run: cmake --build cmake-build-release/ --target all
env:
Expand All @@ -424,7 +364,7 @@ jobs:
run: echo "prj_ver=$(cat ./VERSION.txt)" >> $GITHUB_OUTPUT
- name: cpack
run: cd cmake-build-release && cpack -G DragNDrop && cd ..
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: ${{ format('Qldd-{0}-Darwin.dmg', steps.get-version.outputs.prj_ver) }}
path: cmake-build-release/${{ format('Qldd-{0}-Darwin.dmg', steps.get-version.outputs.prj_ver) }}
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ VERSION.txt
/.DS_Store
/CMakeLists.txt.user
/cmake-vsc-build/
/build/
/.qtcreator/
Loading
Loading