Skip to content

Basic ghactions ci#197

Merged
caitlinross merged 3 commits into
masterfrom
basic-ghactions-ci
May 19, 2026
Merged

Basic ghactions ci#197
caitlinross merged 3 commits into
masterfrom
basic-ghactions-ci

Conversation

@caitlinross
Copy link
Copy Markdown
Member

@caitlinross caitlinross commented May 19, 2026

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:

  • 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

@caitlinross caitlinross force-pushed the basic-ghactions-ci branch from dcca58c to 7ddb2ac Compare May 19, 2026 23:01
@caitlinross caitlinross merged commit 270dfce into master May 19, 2026
1 check 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