Compare commits

..

2 Commits

Author SHA1 Message Date
Ryan Walters
aaf30efde7 fix: only run coverage upload if secret is available 2025-09-03 08:23:33 -05:00
Ryan Walters
89f1e71568 chore: add 'samply' profiling helper task to Justfile 2025-09-02 15:42:13 -05:00
3 changed files with 12 additions and 2 deletions

View File

@@ -9,6 +9,8 @@ env:
jobs:
coverage:
runs-on: ubuntu-latest
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
steps:
- name: Checkout code
uses: actions/checkout@v5
@@ -49,13 +51,13 @@ jobs:
just coverage
- name: Download Coveralls CLI
if: ${{ env.COVERALLS_REPO_TOKEN != '' }}
run: |
# use GitHub Releases URL instead of coveralls.io because they can't maintain their own files; it 404s
curl -L https://github.com/coverallsapp/coverage-reporter/releases/download/v0.6.15/coveralls-linux-x86_64.tar.gz | tar -xz -C /usr/local/bin
- name: Upload coverage to Coveralls
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
if: ${{ env.COVERALLS_REPO_TOKEN != '' }}
run: |
if [ ! -f "lcov.info" ]; then
echo "Error: lcov.info file not found. Coverage generation may have failed."

1
.gitignore vendored
View File

@@ -18,3 +18,4 @@ coverage.html
# Profiling output
flamegraph.svg
/profile.*

View File

@@ -5,6 +5,8 @@ set windows-shell := ["powershell.exe", "-NoLogo", "-Command"]
# You can use src\\\\..., but the filename alone is acceptable too
coverage_exclude_pattern := "src\\\\app.rs|audio.rs|src\\\\error.rs|platform\\\\emscripten.rs"
binary_extension := if os() == "windows" { ".exe" } else { "" }
# !!! --ignore-filename-regex should be used on both reports & coverage testing
# !!! --remap-path-prefix prevents the absolute path from being used in the generated report
@@ -31,3 +33,8 @@ coverage:
--output-path lcov.info \
--profile coverage \
--no-fail-fast nextest
# Profile the project using 'samply'
samply:
cargo build --profile profile
samply record ./target/profile/pacman{{ binary_extension }}