Skip to content

Implement automated versioning, release drafting, and CI benchmarks#229

Merged
jameslehoux merged 6 commits intomasterfrom
claude/fix-gpu-wheels-build-yptxM
Mar 29, 2026
Merged

Implement automated versioning, release drafting, and CI benchmarks#229
jameslehoux merged 6 commits intomasterfrom
claude/fix-gpu-wheels-build-yptxM

Conversation

@jameslehoux
Copy link
Copy Markdown

No description provided.

jameslehoux and others added 6 commits March 29, 2026 14:10
- Add Release Drafter config with PR label → changelog category mapping
  and semantic version resolution (major/minor/patch from labels)
- Add Release Drafter workflow triggered on push to master and PR events
- Auto-label PRs by file path (physics, io, docs, devops, gpu, python)
- Sync CMake project VERSION with Git tags instead of hardcoded 0.1.0
- Add fetch-depth: 0 to release.yml checkout for tag visibility
- Update release.yml to preserve Release Drafter notes when attaching SIF

https://claude.ai/code/session_01RKnn97qiD7sbCeABHH3eQk
Add initial draft of OpenImpala paper detailing its framework and advancements.
Added multiple references to the bibliography file including articles on OpenImpala, statistical effective diffusivity estimation, AMReX framework, and Python Battery Mathematical Modelling.
Updated the software architecture section to reflect recent changes and improvements in the OpenImpala framework, including its transition to a Python library and enhancements in computational capabilities.
- Enhance profiling notebook with AMReX TinyProfiler breakdown
  (solver setup vs linear solve vs flux computation) and NVIDIA
  Nsight Systems GPU kernel profiling for Colab T4 runtimes
- Add CI benchmark workflow that runs on PRs touching solver code,
  tests against analytical solutions (uniform block tau=(N-1)/N),
  and posts timing results as PR comments for regression tracking

https://claude.ai/code/session_01RKnn97qiD7sbCeABHH3eQk
The GPU wheel uploads fail because setuptools_scm generates local
version identifiers (e.g. 4.0.2.dev0+ga780d0e87) which PyPI rejects.
Root cause: no v4.x tag exists in the repo (latest is v3.1.0).

Add [tool.setuptools_scm] with local_scheme="no-local-version" to
produce PyPI-compatible versions even on non-tagged commits, and
set fallback_version for builds outside a git repo.

https://claude.ai/code/session_01RKnn97qiD7sbCeABHH3eQk
@jameslehoux jameslehoux merged commit 288c2db into master Mar 29, 2026
4 of 5 checks passed
@jameslehoux jameslehoux deleted the claude/fix-gpu-wheels-build-yptxM branch March 29, 2026 20:39
@github-actions
Copy link
Copy Markdown

Code Coverage Report

------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines     Exec  Cover   Missing
------------------------------------------------------------------------------
src/io/CathodeWrite.cpp                       95       83    87%   40-41,97-100,115-116,182-185
src/io/CathodeWrite.H                          1        1   100%
src/io/DatReader.cpp                         135      105    77%   26-27,30,35,92-93,99-100,107-109,135-137,141,144-148,152-155,162,164,208-209,242,245
src/io/DatReader.H                             1        1   100%
src/io/HDF5Reader.cpp                        344       84    24%   40-41,43-44,46-49,52,54-56,58-59,62,64-66,68-74,92-93,126-128,144-145,154-157,174-180,182-187,204,213-215,217,219-228,230-233,236-238,240-251,253-258,266,266,266,266,266,266,266,270,270,270,270,270,270,270,274,276,278,280,282,288,290,297,297,297,297,297,297,297,301,301,301,301,301,301,301,305,305,305,305,305,305,305-306,306,306,306,306,306,306,309,309,309,309,309,309,309-310,310,310,310,310,310,310-311,311,311,311,311,311,311,313,313,313,313,313,313,313-314,314,314,314,314,314,314-315,315,315,315,315,315,315,319,319,319,319,319,319,319,324,324,324,324,324,324,324-325,325,325,325,325,325,325-326,326,326,326,326,326,326-327,327,327,327,327,327,327,332,332,332,332,332,332,332,337,337,337,337,337,337,337-338,338,338,338,338,338,338,343,343,343,343,343,343,343,350,350,350,350,350,350,350,357-358,432-435,437-440
src/io/HDF5Reader.H                            3        3   100%
src/io/ImageLoader.cpp                        61       42    68%   25,38,48,60-62,64-70,72,77,89-90,92,94
src/io/RawReader.cpp                         266      116    43%   49-50,89-90,111-112,115-117,120-121,140-142,155-157,166-168,174-177,185-186,192-196,200-204,209-212,219-224,231-237,259,263-264,270-271,273-274,276,283-284,301,312,314,318,325,327,331-334,338,346-347,353-355,361-363,365-366,369,372,374,377-380,382-384,386,388-389,391,393-394,396,398-399,401,403-404,406,410-411,413,417-418,420,425,457,463-465,471-472,521-524,526,528-530,532,534-536,538,540-542,544,546-548,550,554-556,558,562-564,566,588
src/io/RawReader.H                             1        1   100%
src/io/TiffReader.cpp                        384      130    33%   59-65,67-69,71-73,75-77,79-80,82-84,86-88,90-92,94-96,98-99,101-103,106-108,111-112,114-117,119,122,124-127,143-144,148-150,152-158,160,186,210,217,226,228-231,240,242-245,248,255,288-293,306,309-317,319-320,323-327,331-335,338-342,344-348,351-357,359-363,367,369,375-377,379-393,396,398-402,404-409,413-418,420-425,428-429,432-434,555-575,577-578,581-588,590,593-609,612-614,670,673-674,677-683,685,689-700,702-703
src/io/TiffReader.H                            5        5   100%
src/props/BoundaryCondition.H                131       74    56%   63,68,70,216,224-229,233-236,238-244,247-249,252-253,255,258-261,264-265,271-272,274-279,285-287,290-296,299,303,365-366,371,373
src/props/ConnectedComponents.cpp             69       67    97%   94-95
src/props/ConnectedComponents.H                4        4   100%
src/props/DeffTensor.cpp                      62       59    95%   122,128-129
src/props/Diffusion.cpp                      510      245    48%   69,73,75-80,82-87,89-90,93-94,97-98,103-104,106-116,118,123-132,134-141,144-150,153-157,159-163,165,168-173,175-177,179,182-184,186-187,190-191,193,195-198,200,202-203,205,288-289,297-298,300,349,359-360,368-371,373-375,404-413,415,453,461,465-467,475,482-483,487-488,490-493,496-497,499-504,507-509,513-516,518-522,524-527,529-537,539,543,545,547,551,553-555,559-564,567,571,573-574,576,578-581,584-591,594,597-601,603-607,609-610,614,617-618,620-622,624-625,627-633,636,638,642-644,646,648-649,735-736,739-740,757-760,771-772,774,786-787,789,791-792,794-801,803-804,818-819,824
src/props/EffDiffFillMtx.H                   120      106    88%   58,216-217,221-225,229,231-235
src/props/EffectiveDiffusivityHypre.cpp      389      347    89%   189-191,193-197,305,367-370,479,612-615,617-619,621-624,633-636,643,672,684-687,689-691,693,705,716,718
src/props/EffectiveDiffusivityHypre.H          7        7   100%
src/props/FloodFill.cpp                       84       82    97%   94-95
src/props/HypreStructSolver.cpp              343      210    61%   87-88,121,133-134,145,299,309,311,314,346,356,358,361,367-370,372-376,378-379,381-385,388-389,391-392,394,397-398,401-402,404-407,409-413,415-416,418-422,425-426,428-429,431,434-435,438-439,441-443,445-451,453-457,460-461,463-464,466,469-470,473,475-477,479-485,487-491,494-495,497-498,500,503-504,507,509-511,513-516,518-522,525-526,528-529,531,534-535,538,541-542,555
src/props/HypreStructSolver.H                  6        6   100%
src/props/MacroGeometry.H                     17       17   100%
src/props/ParticleSizeDistribution.cpp        11       11   100%
src/props/ParticleSizeDistribution.H           6        6   100%
src/props/PercolationCheck.cpp                53       46    86%   32-33,49-51,68,73
src/props/PercolationCheck.H                   4        4   100%
src/props/PhysicsConfig.H                     90       89    98%   150
src/props/ResultsJSON.H                      225      222    98%   242,395,416
src/props/REVStudy.cpp                       151        0     0%   27,32,34-40,42-44,47,49,53-56,58,62,64-65,67-72,74-75,79-80,82-91,93-96,100-101,103,106-109,111-114,120-124,127-136,139-141,143,146-147,149,152-156,158-159,161,163,165-173,175,177-186,188-191,195-197,201,203-204,206,209-222,225-231,233-234,236-237,239-241,243,246-247,249
src/props/SolverConfig.H                      32       20    62%   30,32,37-44,75-76
src/props/SpecificSurfaceArea.cpp             56       55    98%   59
src/props/SpecificSurfaceArea.H                6        6   100%
src/props/ThroughThicknessProfile.cpp         38       38   100%
src/props/ThroughThicknessProfile.H            5        5   100%
src/props/Tortuosity.H                         2        2   100%
src/props/TortuosityDirect.cpp               219      191    87%   81-83,86,100-106,113-114,125,134,140,202-209,226,394,424,433
src/props/TortuosityDirect.H                   5        5   100%
src/props/TortuosityHypre.cpp                784      563    71%   148-149,154-155,239-242,245-247,310,334-336,339-340,342,352-354,357-359,389-392,572,596,600,621,637-638,640-642,644-653,655,658-662,666-668,671-678,680-684,688-690,692-694,696-705,707-711,713-724,726-729,731,741,747-750,752-754,763-766,768-770,786,789-790,813-818,829-832,834,871,876-879,882-884,888-891,893,895-898,900,905-907,909,958,967,972,975-980,996-999,1013-1017,1022-1027,1037-1041,1046-1051,1056-1060,1063-1066,1073-1076,1087,1096,1098,1102,1104,1126,1157-1158,1244-1246,1372-1375
src/props/TortuosityHypre.H                   15       15   100%
src/props/TortuosityHypreFill.H              127       98    77%   85,203,205-212,237-239,241-245,247-248,250,252,255-256,258-262
src/props/TortuosityKernels.H                 97       53    54%   52,56-60,62-65,69-74,76-80,84-85,90,129,143,157,243,245-248,250-253,257-260,262-265
src/props/TortuosityMLMG.cpp                  96       88    91%   153,174-176,178-179,186,199
src/props/TortuosityMLMG.H                     1        1   100%
src/props/TortuositySolverBase.cpp           301      237    78%   70-72,74-75,94-101,104,106,142-145,200,203,205,255,280,298,327,391,394-396,398,406-409,411-417,422,427-429,435-436,438-440,454,460,464-465,467,478,492,496-498,500,502,506
src/props/TortuositySolverBase.H              13       13   100%
src/props/VolumeFraction.cpp                  25       25   100%
src/props/VolumeFraction.H                     4        4   100%
------------------------------------------------------------------------------
TOTAL                                       5404     3592    66%
------------------------------------------------------------------------------


Generated by CI — coverage data from gcovr

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 29, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant