geode/.github/actions/build-debug-info-post/action.yml
2024-06-27 22:25:21 +03:00

33 lines
1.3 KiB
YAML

name: Prepare for Build Debug Info
description: Provides debug info for the build process
inputs:
target:
description: 'Target platform: win, mac, android32 or android64'
required: true
runs:
using: "composite"
steps:
- name: Preprocess
shell: bash
run: |
mkdir build-debug-info-preprocessed
cd build
sed 's/\\\\/\//g' compile_commands.json | sed 's/D:\//\/d\//' > uni_compile_commands.json
pip install compile-commands --break-system-packages
compile-commands --file=uni_compile_commands.json --filter_files='.*info\.rc.*' --filter='(.*) -o (.*)((?:/|\\).*)\.(?:obj|o) -c (.*)' --replacement="$BASH"' --noprofile --norc -c "mkdir -p ../build-debug-info-preprocessed/\g<2> && \g<1> -o ../build-debug-info-preprocessed/\g<2>\g<3>.i -E \g<4>"' -o ../build-debug-info/preprocess_commands.json --run --verbose
- name: Upload Build Debug Info
uses: actions/upload-artifact@v4
with:
name: geode-build-debug-info-${{ inputs.target }}
path: ./build-debug-info/*
if: success() || failure()
- name: Upload Preprocessed Files
uses: actions/upload-artifact@v4
with:
name: geode-build-debug-info-preprocessed-${{ inputs.target }}
path: ./build-debug-info-preprocessed/*
if: success() || failure()