Basic ghactions ci#197
Merged
Merged
Conversation
dcca58c to
7ddb2ac
Compare
5 tasks
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
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 travis CI died long ago. I'm working on updating CI to github actions. This initial PR will just provide a basic linux build with mpich. In the future I will add more builds.
Also fixes a build error on mac with an incomplete type.
If this merge represents a feature addition to ROSS, the following items must be completed before the branch will be merged:
Include a link to your blog post in the Pull Request.