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()