mirror of
https://github.com/Xevion/Pac-Man.git
synced 2025-12-15 02:12:29 -06:00
Dependabot PRs lack access to repository secrets, causing workflow failures. This change adds token availability checks with informative warnings, allowing CI to complete successfully while skipping deployment steps that require secrets. Coverage generation still runs to maintain build verification, but upload is conditional on token availability.
74 lines
1.9 KiB
YAML
74 lines
1.9 KiB
YAML
name: Code Coverage
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
RUST_TOOLCHAIN: nightly
|
|
|
|
jobs:
|
|
coverage:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v5
|
|
|
|
- name: Install Rust toolchain
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: ${{ env.RUST_TOOLCHAIN }}
|
|
components: llvm-tools-preview
|
|
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v2
|
|
|
|
- name: Cache vcpkg
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: target/vcpkg
|
|
key: A-vcpkg-${{ runner.os }}-${{ hashFiles('Cargo.toml', 'Cargo.lock') }}
|
|
restore-keys: |
|
|
A-vcpkg-${{ runner.os }}-
|
|
|
|
- name: Vcpkg Linux Dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libltdl-dev
|
|
|
|
- name: Vcpkg
|
|
run: |
|
|
cargo install cargo-vcpkg
|
|
cargo vcpkg -v build
|
|
working-directory: pacman
|
|
|
|
- uses: taiki-e/install-action@cargo-llvm-cov
|
|
- uses: taiki-e/install-action@nextest
|
|
- uses: taiki-e/install-action@just
|
|
|
|
- name: Generate coverage report
|
|
run: |
|
|
just coverage
|
|
working-directory: pacman
|
|
|
|
- name: Check Coveralls Token
|
|
run: |
|
|
if [ -z "${{ secrets.COVERALLS_REPO_TOKEN }}" ]; then
|
|
echo "::warning::COVERALLS_REPO_TOKEN not available - coverage upload skipped (common for Dependabot PRs)"
|
|
else
|
|
echo "COVERALLS_REPO_TOKEN is available - will upload coverage"
|
|
fi
|
|
|
|
- name: Coveralls upload
|
|
if: ${{ secrets.COVERALLS_REPO_TOKEN != '' }}
|
|
uses: coverallsapp/github-action@v2
|
|
with:
|
|
github-token: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
|
path-to-lcov: lcov.info
|
|
debug: true
|