Fix fpm-deployment CI: pin action versions and fix lcov example exclusion#1191
Open
Copilot wants to merge 2 commits into
Open
Fix fpm-deployment CI: pin action versions and fix lcov example exclusion#1191Copilot wants to merge 2 commits into
Copilot wants to merge 2 commits into
Conversation
…sion - Pin fortran-lang/setup-fortran@main to @v1.6.2 in both deploy and coverage jobs to avoid breakages from HEAD changes - Update actions/checkout@v2.3.1 -> @v4 and setup-python@v1 -> @v5 in deploy job to use current supported versions - Fix lcov --remove pattern for example file exclusion: * lcov 2.x (Ubuntu 24.04) changed * glob to NOT match / * The old pattern */example/* only matched absolute paths with one path component before example and one after (not recursive) * fpm stores source paths as relative (e.g. example/ascii/file.f90), which the old pattern never matched * Add example/** to cover relative paths at any depth * Add --ignore-errors unused,mismatch to handle edge cases This ensures example programs (compiled but never run by fpm test) are excluded from the coverage denominator, preventing newly-added examples from diluting the stdlib source coverage metric.
Copilot
AI
changed the title
[WIP] Fix CI failures for fpm-deployment workflow and coverage
Fix fpm-deployment CI: pin action versions and fix lcov example exclusion
Jun 24, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1191 +/- ##
==========================================
+ Coverage 68.81% 68.84% +0.02%
==========================================
Files 408 408
Lines 13726 13726
Branches 1552 1552
==========================================
+ Hits 9446 9450 +4
+ Misses 4280 4276 -4 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
jalvesz
approved these changes
Jun 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
fpm-deploymentcoverage job was failing to exclude example files from the coverage report, causing newly-added examples (0% covered byfpm test) to dilute the stdlib source coverage metric. The deploy job also usedsetup-fortran@main, an unstable floating ref.Root cause
lcov 2.0 (Ubuntu 24.04 / current
ubuntu-latest) changed*glob semantics — it no longer matches/. The existing filter:lcov --remove coverage.info '*/example/*' ...never matched fpm's relative source paths (e.g.
example/ascii/example_ascii_to_lower.f90) because the leading*requires at least one path component beforeexample/. All 100+ example files remained in the uploadedcoverage.info, each with 0% line coverage.Changes
lcov --removepattern — addexample/**to cover relative paths at any depth; keep*/example/*for absolute paths; add--ignore-errors unused,mismatch:fortran-lang/setup-fortran@main→@v1.6.2in bothdeployandcoveragejobs to prevent silent breakage from upstream HEAD changesdeployjob:actions/checkout@v2.3.1→@v4,actions/setup-python@v1→@v5