Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
24 changes: 15 additions & 9 deletions docs/README-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,19 @@ Release Procedure for Caffeine
3. Validate correctness testing has been performed across all supported systems and supported
versions of external dependencies
4. Complete release related chores in repository files
1. Update all instances of the copyright year embedded in: [LICENSE.txt](../LICENSE.txt),
1. Update all instances of the copyright year embedded in:
[LICENSE.txt](../LICENSE.txt)
[manifest/fpm.toml.template](../manifest/fpm.toml.template)
2. Update all instances of the release package version number embedded in:
[manifest/fpm.toml.template](../manifest/fpm.toml.template), [install.sh](../install.sh), [caffeine-version.h](../include/caffeine-version.h)
2. Update all instances of the release package version number embedded in:
[install.sh](../install.sh)
[manifest/fpm.toml.template](../manifest/fpm.toml.template)
[include/caffeine-version.h](../include/caffeine-version.h)
3. Update the author list embedded in: [manifest/fpm.toml.template](../manifest/fpm.toml.template)
4. Review top-level [README.md](../README.md) and other user-facing documentation for any
necessary changes
5. Update [docs/implementation-status.md](../docs/implementation-status.md) with current status
6. If the PRIF specification revision is changing, search and update all instances of the old revision,
including `CAF_PRIF_VERSION_{MAJOR,MINOR}` in [caffeine-version.h](../include/caffeine-version.h)
including `CAF_PRIF_VERSION_{MAJOR,MINOR}` in [include/caffeine-version.h](../include/caffeine-version.h)
7. Temporarily hardcode version of gasnet installer in [install.sh](../install.sh) as the
last commit in the release. Set GASNET_VERSION flag to the latest gasnet release
5. Produce the ChangeLog
Expand All @@ -35,14 +38,17 @@ Release Procedure for Caffeine
2. When testing on Perlmutter, use the following steps:
1. Build source and tests on the login node using the desired compiler
2. Get a dedicated node: `salloc -t 10 -N 2 -n 8 -q interactive -A PROJECT_ID -C cpu`
3. Launch the parallel job to run the tests: `env SUBJOB_PREFIX=skip GASNET_SPAWN_VERBOSE=1 GASNET_SUPERNODE_MAXSIZE=2 CAF_IMAGES=8 build/run-fpm.sh test --verbose`
8. Create annotated tag (only after release candidate has been checked by team members)
3. Launch the parallel job to run the tests:
`env SUBJOB_PREFIX=skip GASNET_SPAWN_VERBOSE=1 GASNET_SUPERNODE_MAXSIZE=2 CAF_IMAGES=8 build/run-fpm.sh test --verbose`
8. Create annotated tag (only after release candidate has been checked by team members)
For example `git tag -a #.#.# -m "release version #.#.#"`, then `git push origin #.#.#`
9. Publish the release
9. Publish the release on GitHub UI
10. Post release chores
1. Git revert the commit that hardcoded the gasnet version or manually edit
2. Update patch number of the version number embedded in:
[manifest/fpm.toml.template](../manifest/fpm.toml.template), [install.sh](../install.sh), [caffeine-version.h](../include/caffeine-version.h)
2. Update patch number of the version number embedded in:
[install.sh](../install.sh)
[manifest/fpm.toml.template](../manifest/fpm.toml.template)
[include/caffeine-version.h](../include/caffeine-version.h)
Update to an odd number to indicate that the `main` branch is currently a snapshot of something
that is beyond the offical release
3. PR a version bump to the Caffeine version in [LFortran third-party CI](https://github.com/lfortran/lfortran/blob/main/ci/test_third_party_codes.sh) and the [LFortran end-to-end tests](https://github.com/lfortran/lfortran/blob/main/ci/test_caffeine.sh)
Expand Down
2 changes: 1 addition & 1 deletion include/caffeine-version.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# /* Caffeine software package versioning */
#define CAF_RELEASE_VERSION_MAJOR 0
#define CAF_RELEASE_VERSION_MINOR 8
#define CAF_RELEASE_VERSION_PATCH 2
#define CAF_RELEASE_VERSION_PATCH 3
#define CAF_RELEASE_VERSION (1000*CAF_RELEASE_VERSION_MAJOR + 100*CAF_RELEASE_VERSION_MINOR + CAF_RELEASE_VERSION_PATCH)

#if 0
Expand Down
4 changes: 2 additions & 2 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ EOF
# ---------------------------------------------------------------
# Global variables

GASNET_VERSION="2025.8.0"
GASNET_VERSION="stable"
GASNET_SOURCE_URL="https://github.com/BerkeleyLab/gasnet/releases/download/gex-$GASNET_VERSION/GASNet-$GASNET_VERSION.tar.gz"
ASSERT_GIT=$(awk -F'"' '/^assert =/ {print $2}' manifest/fpm.toml.template)
ASSERT_VERSION=$(awk -F'"' '/^assert =/ {print $4}' manifest/fpm.toml.template)
Expand Down Expand Up @@ -794,7 +794,7 @@ CAFFEINE_RUNCMD="${GASNET_RUNNER_ARG//'${CAF_IMAGES'*'}'/\$CAF_IMAGES}"
Name: caffeine
Description: The CoArray Fortran Framework of Efficient Interfaces to Network Environments (Caffeine) implements the Parallel Runtime Interface for Fortran (PRIF), providing runtime support for multi-image features in modern Fortran compilers.
URL: https://go.lbl.gov/caffeine
Version: 0.8.2
Version: 0.8.3
Requires: gasnet-$GASNET_CONDUIT-$GASNET_THREADMODE
Cflags: \${CAFFEINE_CFLAGS}
Libs: \${CAFFEINE_LDFLAGS} -lcaffeine-$GASNET_CONDUIT-$GASNET_THREADMODE $APPEND_LDFLAGS
Expand Down
2 changes: 1 addition & 1 deletion manifest/fpm.toml.template
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name = "caffeine"
version = "0.8.2"
version = "0.8.3"
license = "BSD-3-Clause-LBNL"
author = ["Damian Rouson", "Brad Richardson", "Katherine Rasmussen", "Dan Bonachea"]
maintainer = "fortran@lbl.gov"
Expand Down
Loading