Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
91fd765
feat: Improve code coverage with post-process testing
sbryngelson Nov 4, 2025
f9510d8
clean
sbryngelson Nov 4, 2025
8979ea3
clean again
sbryngelson Nov 4, 2025
b38ac72
chore: Remove experimental cases_fixed.py
sbryngelson Nov 4, 2025
70be5f7
clean
sbryngelson Nov 4, 2025
925975e
feat: Restore all coverage improvement tools and documentation
sbryngelson Nov 4, 2025
20444c0
docs: Add comprehensive branch summary
sbryngelson Nov 4, 2025
7a38e16
chore: Remove README changes
sbryngelson Nov 4, 2025
e73b7aa
chore: remove temporary coverage documentation and scripts
sbryngelson Nov 5, 2025
ec5e8cb
Revert "chore: remove temporary coverage documentation and scripts"
sbryngelson Nov 5, 2025
fc75af0
feat: Implement test suite expansions for improved code coverage
sbryngelson Nov 5, 2025
781a205
ci: Update coverage thresholds and enhance reporting
sbryngelson Nov 5, 2025
d4a2230
docs: Add comprehensive coverage implementation summary
sbryngelson Nov 5, 2025
7d3a926
docs: Consolidate coverage documentation into single guide
sbryngelson Nov 5, 2025
e8accdd
chore: Remove coverage results from git tracking
sbryngelson Nov 5, 2025
cb43fb4
coverage
sbryngelson Nov 5, 2025
e5cf0be
Merge branch 'master' into coverage-improvements
sbryngelson Nov 5, 2025
288a043
fix: Remove trailing whitespace from test suite expansion
sbryngelson Nov 5, 2025
06f77bb
clean typos
sbryngelson Nov 5, 2025
88a4bdc
Add comprehensive_cov*.sh to extend-exclude list
sbryngelson Nov 5, 2025
d43e18d
fix: Remove test expansions that cause failures
sbryngelson Nov 5, 2025
fd8d76d
docs: Document test expansion removal and lessons learned
sbryngelson Nov 5, 2025
bc72d96
chore: Update gitignore
sbryngelson Nov 5, 2025
d36ad05
feat: Add 79 new tests for improved coverage (constraint-aware)
sbryngelson Nov 5, 2025
ceadf1c
docs: Add comprehensive coverage improvements guide
sbryngelson Nov 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ coverage:
status:
project:
default:
target: 1%
threshold: 1%
target: 80% # Based on 83.7% baseline with -a flag
threshold: 2% # Allow 2% drop (81.7% minimum)
patch:
default:
target: 1%
threshold: 1%
target: 70% # New code should be reasonably tested
threshold: 10% # Some flexibility for new features
119 changes: 0 additions & 119 deletions .github/workflows/bench.yml

This file was deleted.

28 changes: 28 additions & 0 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,34 @@ jobs:
- name: Test
run: /bin/bash mfc.sh test -a -j $(nproc)

- name: Generate Coverage Reports
run: |
sudo apt install -y gcovr
gcovr build/staging --root . \
--gcov-executable gcov \
--filter 'src/.*' \
--html --html-details -o coverage_report.html \
--txt -o coverage_summary.txt \
--xml -o coverage.xml \
--print-summary

- name: Upload Coverage Artifacts
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: |
coverage_report.html
coverage_summary.txt
coverage.xml

- name: Comment Coverage Summary
if: github.event_name == 'pull_request'
run: |
echo "## 📊 Coverage Summary" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
cat coverage_summary.txt >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY

- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
with:
Expand Down
72 changes: 3 additions & 69 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,11 @@ jobs:
needs: file-changes
strategy:
matrix:
os: ['ubuntu', 'macos']
os: ['macos']
mpi: ['mpi']
precision: ['']
debug: ['debug', 'no-debug']
intel: [true, false]
exclude:
- os: macos
intel: true

include:
- os: ubuntu
mpi: no-mpi
precision: single
debug: no-debug
intel: false
debug: ['no-debug']
intel: [false]

fail-fast: false
continue-on-error: true
Expand Down Expand Up @@ -92,59 +82,3 @@ jobs:
env:
OPT1: ${{ matrix.mpi == 'mpi' && '--test-all' || '' }}
OPT2: ${{ matrix.debug == 'debug' && '-% 20' || '' }}

self:
name: Self Hosted
if: github.repository == 'MFlowCode/MFC' && needs.file-changes.outputs.checkall == 'true'
needs: file-changes
continue-on-error: false
timeout-minutes: 1400
strategy:
matrix:
device: ['gpu']
interface: ['acc', 'omp']
lbl: ['gt', 'frontier']
include:
- device: 'cpu'
interface: 'none'
lbl: 'gt'
- device: 'cpu'
interface: 'none'
lbl: 'frontier'
exclude:
- device: 'gpu'
interface: 'omp'
lbl: 'frontier'
runs-on:
group: phoenix
labels: ${{ matrix.lbl }}
env:
NODE_OPTIONS: ${{ matrix.lbl == 'gt' && '--max-old-space-size=2048' || '' }}
ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
steps:
- name: Clone
uses: actions/checkout@v4

- name: Build & Test
if: matrix.lbl == 'gt'
run: bash .github/workflows/phoenix/submit.sh .github/workflows/phoenix/test.sh ${{ matrix.device }} ${{ matrix.interface }}

- name: Build
if: matrix.lbl == 'frontier'
run: bash .github/workflows/frontier/build.sh ${{ matrix.device }} ${{ matrix.interface }}

- name: Test
if: matrix.lbl == 'frontier'
run: bash .github/workflows/frontier/submit.sh .github/workflows/frontier/test.sh ${{matrix.device}} ${{ matrix.interface }}

- name: Print Logs
if: always()
run: cat test-${{ matrix.device }}-${{ matrix.interface }}.out

- name: Archive Logs
uses: actions/upload-artifact@v4
if: matrix.lbl == 'frontier'
with:
name: logs-${{ strategy.job-index }}-${{ matrix.device }}-${{ matrix.interface }}
path: test-${{ matrix.device }}-${{ matrix.interface }}.out
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,17 @@ yarn.lock
src/*/include/case.fpp
src/*/autogen/

# Coverage results
coverage_results/
coverage_results_*/
*.gcov
*.gcda
*.gcno
coverage.html
coverage.xml
coverage_summary.txt
coverage_report.html

*.swo
*.swp

Expand Down Expand Up @@ -86,3 +97,6 @@ benchmarks/*.png
*.mov
*.mkv
*.avi


*.log
2 changes: 1 addition & 1 deletion .typos.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ HSA = "HSA"
infp = "infp"

[files]
extend-exclude = ["docs/documentation/references*", "tests/", "toolchain/cce_simulation_workgroup_256.sh"]
extend-exclude = ["docs/documentation/references*", "tests/", "toolchain/cce_simulation_workgroup_256.sh", "monitor_*.sh", "run_*.sh", "comprehensive_cov*.sh"]
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -741,6 +741,7 @@ if (MFC_DOCUMENTATION)
DESTINATION "docs/mfc")
endif()


site_name(SITE_NAME)

configure_file(
Expand Down
Loading
Loading