This repo contains an example GitHub Action that builds a Windows C++ application and uses symbol-upload to publish symbols to BugSplat. You can either use this template repo, or follow the steps below to configure an existing application.
- Create a new BugSplat database
- Generate an OAuth2 Client ID and Client Secret pair on the Integrations page
- Create a repository secret in your GitHub repo with the key
BUGSPLAT_DATABASE
and your BugSplat database name as the value - Create repository secrets for
SYMBOL_UPLOAD_CLIENT_ID
andSYMBOL_UPLOAD_CLIENT_SECRET
- Configure BugSplat according to the docs for your specific platform.
- If you're using preprocessor definitions to supply a value for
BUGSPLAT_DATABASE
, be sure to configure your project file as seen here. - Create a GitHub Action that builds your project an uploads symbols. Here's a copy of the action used by this repo
name: Build myConsoleCrasher Project
on: [push]
jobs:
build:
name: Build myConsoleCrasher
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup MSBuild path
uses: microsoft/setup-msbuild@v1.1
- name: Build myConsoleCrasher project
env:
BUGSPLAT_DATABASE: ${{ secrets.BUGSPLAT_DATABASE }}
run: msbuild .\Samples\myConsoleCrasher\myConsoleCrasher.vcxproj /p:configuration=release /p:DefineConstants=BUGSPLAT_DATABASE=%BUGSPLAT_DATABASE%
- name: Symbols 📦
uses: BugSplat-Git/symbol-upload@main
with:
clientId: "${{ secrets.SYMBOL_UPLOAD_CLIENT_ID }}"
clientSecret: "${{ secrets.SYMBOL_UPLOAD_CLIENT_SECRET }}"
database: "${{ secrets.BUGSPLAT_DATABASE }}"
application: "MyConsoleCrasher"
version: "1.0.0"
files: "*.{pdb,exe,dll}"
directory: "BugSplat\\Win32\\release"
node-version: "20"
- Trigger a build and navigate to BugSplat's Versions page to verify symbols were uploaded.
- Run your application and generate a crash report to test your BugSplat integration.
If you have any additional questions, please email our support team, join us on Discord, or reach out via the chat in our web application.