cpp: Use better hash map implementation in whole talipot codebase #1129
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: appimage-build | |
on: [push, pull_request] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
appimage: | |
name: ${{ matrix.config.name }} | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- name: Talipot AppImage build on CentOS 8 Stream | |
docker-image: tgagor/centos-stream:8 | |
centos-version: centos8 | |
- name: Talipot AppImage build on CentOS 9 Stream | |
docker-image: dokken/centos-stream-9 | |
centos-version: centos9 | |
steps: | |
- name: Checkout Talipot code | |
uses: actions/checkout@v4 | |
- name: Get current date | |
id: get-current-date | |
run: | | |
echo "date=$(date -u "+%Y-%m-%d-%H-%m-%S")" >> $GITHUB_OUTPUT | |
shell: bash | |
- name: Cache files | |
uses: actions/cache@v4 | |
with: | |
path: ~/ccache | |
key: appimage-${{ matrix.config.docker-image }}-ccache-${{ steps.get-current-date.outputs.date }} | |
restore-keys: | | |
appimage-${{ matrix.config.docker-image }}-ccache- | |
save-always: true | |
- name: Pull ${{ matrix.config.docker-image }} docker image | |
run: docker pull ${{ matrix.config.docker-image }} | |
- name: Create ccache docker volume | |
run: docker create | |
-v ~/ccache:/ccache | |
--name ccache | |
${{ matrix.config.docker-image }} | |
- name: Build Talipot AppImage on CentOS | |
run: docker run | |
-e CCACHE_DIR=/ccache | |
--volumes-from ccache | |
--device /dev/fuse | |
--privileged | |
-v `pwd`:/talipot:rw | |
${{ matrix.config.docker-image }} | |
/bin/bash -c "bash -xe /talipot/bundlers/linux/talipot_appimage_centos_build.sh" | |
- name: Install required dependencies to run AppImage | |
run: | | |
sudo apt update | |
sudo apt install qtbase5-dev libpipewire-0.3-0 xvfb libfuse2 | |
shell: bash | |
- name: Check Talipot AppImage can be executed on Ubuntu | |
working-directory: ./build | |
run: xvfb-run bash -c "./$(ls Talipot*.AppImage) --check-application-starts --debug-plugins-load" | |
- name: Check Talipot AppImage can be executed on Fedora | |
uses: addnab/docker-run-action@v3 | |
with: | |
image: fedora | |
shell: bash | |
options: --device /dev/fuse --privileged | |
-v ${{ github.workspace }}:/talipot:rw | |
run: | | |
dnf group install -y gnome-desktop | |
yum install -y xorg-x11-server-Xvfb libglvnd-opengl | |
xvfb-run $(ls /talipot/build/Talipot*.AppImage) --check-application-starts --debug-plugins-load | |
- name: Check Talipot AppImage can be executed on ArchLinux | |
uses: addnab/docker-run-action@v3 | |
with: | |
image: archlinux | |
shell: bash | |
options: --device /dev/fuse --privileged | |
-v ${{ github.workspace }}:/talipot:rw | |
run: | | |
until pacman -Syu --noconfirm fuse gnome qt5-base xorg-server-xvfb | |
do | |
echo "Some packages could not be downloaded, retrying" | |
done | |
xvfb-run $(ls /talipot/build/Talipot*.AppImage) --check-application-starts --debug-plugins-load | |
- name: Check Talipot AppImage can be executed on openSUSE | |
uses: addnab/docker-run-action@v3 | |
with: | |
image: opensuse/tumbleweed | |
shell: bash | |
options: --device /dev/fuse --privileged | |
-v ${{ github.workspace }}:/talipot:rw | |
run: | | |
zypper install -y -t pattern kde kde_plasma | |
zypper install -y fuse-devel xvfb-run | |
xvfb-run $(ls /talipot/build/Talipot*.AppImage) --check-application-starts --debug-plugins-load | |
- name: Upload Taliot AppImage to GitHub Actions artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Talipot-AppImage-${{ matrix.config.centos-version }} | |
path: ./build/Talipot*.AppImage | |
- name: Upload Talipot bundle to dev-latest prerelease | |
if: github.ref == 'refs/tags/dev-latest' | |
uses: ncipollo/release-action@v1 | |
with: | |
allowUpdates: true | |
name: Talipot development build | |
prerelease: true | |
artifacts: ./build/Talipot*.AppImage | |
token: ${{ secrets.GITHUB_TOKEN }} |