Files
tracy/.github/workflows/linux-cli.yml
2026-08-06 22:36:59 +02:00

68 lines
2.6 KiB
YAML

name: linux-cli
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
workflow_call:
env:
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm-cache
jobs:
build-linux-cli:
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 git ca-certificates curl
- 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: Build update
run: |
cmake -B update/build -S update -DCMAKE_BUILD_TYPE=Release -DNO_ISA_EXTENSIONS=ON -DGIT_REV=${{ github.sha }}
cmake --build update/build --parallel
- name: Build capture
run: |
cmake -B capture/build -S capture -DCMAKE_BUILD_TYPE=Release -DNO_ISA_EXTENSIONS=ON -DGIT_REV=${{ github.sha }}
cmake --build capture/build --parallel
- name: Build csvexport
run: |
cmake -B csvexport/build -S csvexport -DCMAKE_BUILD_TYPE=Release -DNO_ISA_EXTENSIONS=ON -DGIT_REV=${{ github.sha }}
cmake --build csvexport/build --parallel
- name: Build import
run: |
cmake -B import/build -S import -DCMAKE_BUILD_TYPE=Release -DNO_ISA_EXTENSIONS=ON -DGIT_REV=${{ github.sha }}
cmake --build import/build --parallel
- name: Build merge
run: |
cmake -B merge/build -S merge -DCMAKE_BUILD_TYPE=Release -DNO_ISA_EXTENSIONS=ON -DGIT_REV=${{ github.sha }}
cmake --build merge/build --parallel
- name: Stage release files
run: |
mkdir -p ${{ github.workspace }}/linux-cli
cp update/build/tracy-update ${{ github.workspace }}/linux-cli/
cp capture/build/tracy-capture ${{ github.workspace }}/linux-cli/
cp capture/build/tracy-capture-daemon ${{ github.workspace }}/linux-cli/
cp csvexport/build/tracy-csvexport ${{ github.workspace }}/linux-cli/
cp import/build/tracy-import-chrome ${{ github.workspace }}/linux-cli/
cp import/build/tracy-import-fuchsia ${{ github.workspace }}/linux-cli/
cp merge/build/tracy-merge ${{ github.workspace }}/linux-cli/
strip ${{ github.workspace }}/linux-cli/tracy-*
- uses: actions/upload-artifact@v4
with:
name: linux-cli
path: ${{ github.workspace }}/linux-cli