Skip to content

CMake improvements: remove old code#198

Merged
caitlinross merged 5 commits into
ROSS-org:masterfrom
caitlinross:cmake-improvements-remove-old-code
May 20, 2026
Merged

CMake improvements: remove old code#198
caitlinross merged 5 commits into
ROSS-org:masterfrom
caitlinross:cmake-improvements-remove-old-code

Conversation

@caitlinross
Copy link
Copy Markdown
Member

@caitlinross caitlinross commented May 20, 2026

Removing the USE_DAMARIS path in the build since RISA is quite out of date and I highly doubt anyone uses it. Will hopefully do a rewrite of RISA in the future!

Removed old coveralls build and added codecov. Apparently we had it enabled previously, so it is comparing coverage of this PR to 5 years ago, so the comparison is not meaningful. I believe future PRs would then have coverage compared to recent changes after this is merged. We can explore increasing coverage in the future.

Removed the ross-config because AFAICT it's not actually used by CODES. I locally tested a CODES build after removing it and it was fine. As part of this overhaul of CMake and CI, I'll eventually add a contract test in ROSS CI so we can ensure PRs don't break CODES

Also this PR adds an initial CLAUDE.md file as I've been using it for development. FYI @sanjaychari


If this merge represents a feature addition to ROSS, the following items must be completed before the branch will be merged:

  • Document the feature on the blog (See the website Contributing guide).
    Include a link to your blog post in the Pull Request.
  • Builds should cleanly compile with -Wall and -Wextra.
  • One or more TravisCI tests should be created (and they should pass)
  • Through the TravisCI tests, coverage should increase
  • Test with CODES to ensure everything continues to work

@codecov
Copy link
Copy Markdown

codecov Bot commented May 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 47.86%. Comparing base (4e0f8f7) to head (5e14a26).
⚠️ Report is 101 commits behind head on master.

❗ There is a different number of reports uploaded between BASE (4e0f8f7) and HEAD (5e14a26). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (4e0f8f7) HEAD (5e14a26)
2 1
Additional details and impacted files
@@             Coverage Diff             @@
##           master     #198       +/-   ##
===========================================
- Coverage   58.24%   47.86%   -10.39%     
===========================================
  Files          33       37        +4     
  Lines        3561     4745     +1184     
  Branches        0      857      +857     
===========================================
+ Hits         2074     2271      +197     
- Misses       1487     2469      +982     
- Partials        0        5        +5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@caitlinross caitlinross merged commit ad2198d into ROSS-org:master May 20, 2026
3 of 4 checks passed
caitlinross added a commit that referenced this pull request May 22, 2026
Starting improvements in CMake and formalizing a release-process
infrastructure that the rest of the modernization will use.

## CMake minimum bumped to 3.16

`cmake_minimum_required` moves from 3.5 (2016) to 3.16 (late 2019). 3.5
predates a lot of the modern target/install/export machinery the rest of
the modernization plan uses. 3.16 ships with Ubuntu 20.04, RHEL 9, and
is a reasonable floor for current HPC environments.

## Versioning sourced from a tracked `.version` file

The project version is now read from `.version` at the repo root rather
than from `git describe`. Previously, `git describe` returned sentinels
(`GITDIR-NOTFOUND`, etc.) for tarball downloads, shallow clones, and
no-tag builds, and the version-parsing regex would silently produce
empty strings. With `.version` as the source of truth, tarball downloads
from GitHub now report the correct release version. `git describe` is
still consulted, but only to enrich the runtime `ROSS_VERSION` string
with a `-N-g<sha>-dirty` suffix on developer builds.

## Formal release process and changelog

Added
[`Documentation/RELEASE_PROCESS.md`](Documentation/RELEASE_PROCESS.md)
documenting the release workflow end-to-end: how to cut a release, what
gets tagged, what gets pushed where. Previously this was tribal
knowledge and happened by tagging master with release notes written ad
hoc on GitHub.

Also added a changelog-fragment system:

- `CHANGELOG.md` at repo root accumulates per-release notes
- [`Documentation/dev/`](Documentation/dev/README.md) holds per-PR
fragment files named `<slug>.<category>.md` (categories: `feature`,
`bugfix`, `removal`, `build`, `misc`; breaking changes marked inline
with `**[Breaking]**`)
- `scripts/compile-changelog.sh` compiles pending fragments into a new
CHANGELOG section at release time

Two main wins: zero merge conflicts on changelog entries (each PR writes
its own file(s)), and release notes become a review artifact rather than
something written hastily at tag time. Fragments for PRs #197 and #198
are included retroactively so the v9.0.0 release notes will be complete.

The PR template (`.github/PULL_REQUEST_TEMPLATE.md`) is also refreshed:
TravisCI references gone, changelog-fragment requirement added.

---

## Checklist

- [ ] Builds cleanly with `-Wall` and `-Wextra`
- [x] CI is green
- [x] Added a changelog fragment under
[`Documentation/dev/`](Documentation/dev/README.md), unless the change
is invisible to anyone outside the PR (test refactors, internal renames,
comment-only tweaks)
- [x] Confirmed nothing in CODES breaks. Build CODES against this
branch's installed ROSS
- [ ] For new features: blog post on the [ROSS
website](https://github.com/ROSS-org/ross-org.github.io/blob/master/CONTRIBUTING.md),
with link in this PR
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