Skip to content

Added Os::CountingSemaphore osal module (#5173) #86

Added Os::CountingSemaphore osal module (#5173)

Added Os::CountingSemaphore osal module (#5173) #86

Workflow file for this run

# Per-module + global code coverage check for pull requests.
#
# Generates coverage for every module that calls register_fprime_module(),
# compares against the matching coverage/<base_ref> baseline branch, and
# uploads the resulting comment body as a workflow artifact. The
# sticky PR comment itself is posted by a separate workflow_run job
# (.github/workflows/coverage-comment.yml) that runs with
# pull-requests: write under the base repo's token.
#
# This two-stage split is the GitHub-recommended pattern for
# commenting on PRs opened from forks: GitHub strips write permissions
# from GITHUB_TOKEN on fork-triggered pull_request events, so this
# workflow (which runs on fork content) only ever needs read access.
# See nasa/fprime-actions/coverage-comment/README.md for the rationale.
#
# The push-side counterpart that writes the baseline branch lives in
# .github/workflows/coverage-update.yml and runs with contents: write.
#
# See nasa/fprime-actions/coverage-check/README.md for input documentation.
name: "Coverage Check"
on:
pull_request:
branches: [ devel, release/** ]
paths-ignore:
- 'docs/**'
- '**.md'
- '.github/actions/spelling/**'
- '.github/ISSUE_TEMPLATE/**'
- '.github/agents/**'
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
coverage-check:
name: "Coverage [PR]"
# ubuntu-24.04 ships gcov-13, which is required: gcov-11 (Ubuntu
# 22.04 default) has counter-overflow bugs and pathological slowness
# on heavily-templated test code that can turn a 30 s coverage run
# into a 30+ min one. See nasa/fprime-actions/coverage-common's
# README for details.
runs-on: ubuntu-24.04
timeout-minutes: 90
steps:
- name: "Checkout F' Repository"
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- name: "Setup F' Tools"
uses: nasa/fprime-actions/setup@devel
with:
location: ${{ github.workspace }}
- name: "Generate + Build UTs"
uses: nasa/fprime-actions/run-unit-tests@devel
with:
run-check: 'false'
jobs: random
- name: "Coverage (common)"
id: cov
uses: nasa/fprime-actions/coverage-common@devel
with:
working-directory: ${{ github.workspace }}
- name: "Coverage check"
uses: nasa/fprime-actions/coverage-check@devel
with:
working-directory: ${{ github.workspace }}
modules-jsonl: ${{ steps.cov.outputs.modules-jsonl }}