ci: gate coverage analysis on whether source code changed
This commit is contained in:
parent
2203c02347
commit
32f9b1a231
|
@ -5,7 +5,20 @@ on:
|
||||||
name: Code coverage with llvm-cov
|
name: Code coverage with llvm-cov
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
Prepare:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
pr_changed_source: ${{ steps.classify_pr.outputs.pr_changed_source }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout Crate
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Determine what files the PR changes.
|
||||||
|
id: classify_pr
|
||||||
|
run: contrib/classify-pr.sh ${{ github.event.pull_request.head.sha }} ${{ github.event.pull_request.base.sha }}
|
||||||
|
|
||||||
Coveralls:
|
Coveralls:
|
||||||
|
needs: Prepare
|
||||||
|
if: needs.Prepare.outputs.pr_changed_source == 'true'
|
||||||
name: Code coverage - stable toolchain
|
name: Code coverage - stable toolchain
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
|
|
|
@ -16,6 +16,10 @@ git fetch origin "$pr_tip":pr_tip
|
||||||
|
|
||||||
pr_base=$(git merge-base master_tip pr_tip)
|
pr_base=$(git merge-base master_tip pr_tip)
|
||||||
|
|
||||||
|
echo "Using master $master_tip"
|
||||||
|
echo "Using PR tip $pr_tip"
|
||||||
|
echo "Using PR base $pr_base"
|
||||||
|
|
||||||
# If something modifies any non-markdown file, it's considered a source code change.
|
# If something modifies any non-markdown file, it's considered a source code change.
|
||||||
if git diff --name-only "$pr_base" "$pr_tip" | grep -qv "^.md$"; then
|
if git diff --name-only "$pr_base" "$pr_tip" | grep -qv "^.md$"; then
|
||||||
echo "pr_changed_source=true" >> "$GITHUB_OUTPUT"
|
echo "pr_changed_source=true" >> "$GITHUB_OUTPUT"
|
||||||
|
|
Loading…
Reference in New Issue