name: appimage on: push: branches: [ master ] pull_request: branches: [ master ] workflow_dispatch: workflow_call: permissions: contents: read concurrency: group: appimage-${{ github.ref }} cancel-in-progress: true env: CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm-cache jobs: build-appimage: runs-on: ubuntu-latest container: ubuntu:24.04 steps: - name: Install dependencies run: | apt-get update DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ build-essential cmake ninja-build meson pkg-config git ca-certificates \ curl file desktop-file-utils nodejs patchelf \ libegl-dev libxkbcommon-dev libdbus-1-dev libssl-dev \ libffi-dev libexpat1-dev - name: Trust git repo run: git config --global --add safe.directory '*' - uses: actions/checkout@v4 - name: Cache CPM packages uses: actions/cache@v4 with: path: ${{ env.CPM_SOURCE_CACHE }} key: ${{ runner.os }}-cpm-${{ hashFiles('**/vendor.cmake', '**/CMakeLists.txt') }} restore-keys: ${{ runner.os }}-cpm- - name: Cache wayland uses: actions/cache@v4 with: path: profiler/build-appimage/wayland key: ${{ runner.os }}-wayland-${{ hashFiles('profiler/appimage/build.sh') }} - name: Build AppImage run: profiler/appimage/build.sh env: GIT_REV: ${{ github.sha }} - uses: actions/upload-artifact@v4 with: name: appimage path: profiler/build-appimage/tracy-profiler-x86_64.AppImage