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
5 changes: 3 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,11 @@
# See ARCHITECTURE.md for the rationale behind the framework/apps split.

cmake_minimum_required(VERSION 3.20)
project(Phyriad LANGUAGES CXX VERSION 1.0.0)
project(Phyriad LANGUAGES CXX VERSION 1.0.3) # x-release-please-version
# Pre-release tag — applied to PhyriadConfigVersion.cmake as text after the
# semver triple. Empty for final releases. See framework/_meta/include/phyriad/version.hpp.
set(PHYRIAD_VERSION_PRERELEASE "rc2")
# release-please drives the VERSION above; this stays empty for stable releases.
set(PHYRIAD_VERSION_PRERELEASE "")

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
Expand Down
2 changes: 1 addition & 1 deletion apps/ayama/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
# AYAMA_BUILD_UI — build ayama-ui standalone window (default ON)
#
cmake_minimum_required(VERSION 3.20)
project(Ayama LANGUAGES CXX VERSION 0.1.0)
project(Ayama LANGUAGES CXX VERSION 0.1.3) # x-release-please-version

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
Expand Down
29 changes: 29 additions & 0 deletions apps/ayama/core/include/ayama/version.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// apps/ayama/core/include/ayama/version.hpp
// Ayama — compile-time version constants.
//
// Mirrors the layout of phyriad/version.hpp. Ayama and Phyriad version
// independently: a fix in Ayama bumps AYAMA_VERSION_PATCH without touching
// PHYRIAD_VERSION_*, and vice versa.
//
// release-please maintains the numeric MAJOR/MINOR/PATCH and the string
// AYAMA_VERSION_STRING in sync automatically. The marker comments
// immediately after each value are how release-please locates the line
// to bump; do not remove them.
//
// Consumers (ayama-ui's version-check feature) compare AYAMA_VERSION_STRING
// against the GitHub Releases API to detect when a newer ayama-vX.Y.Z tag
// is available.
//
#pragma once

#define AYAMA_VERSION_MAJOR 0 // x-release-please-major
#define AYAMA_VERSION_MINOR 1 // x-release-please-minor
#define AYAMA_VERSION_PATCH 3 // x-release-please-patch

#define AYAMA_MAKE_VERSION(maj, min, patch) \
(((maj) << 16) | ((min) << 8) | (patch))

#define AYAMA_VERSION \
AYAMA_MAKE_VERSION(AYAMA_VERSION_MAJOR, AYAMA_VERSION_MINOR, AYAMA_VERSION_PATCH)

#define AYAMA_VERSION_STRING "0.1.3" // x-release-please-version
13 changes: 9 additions & 4 deletions framework/_meta/include/phyriad/version.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,16 @@
// static_assert(PHYRIAD_VERSION >= PHYRIAD_MAKE_VERSION(1, 0, 0),
// "Phyriad 1.0.0 or newer required");
//
// The numeric MAJOR/MINOR/PATCH and the string PHYRIAD_VERSION_STRING are
// kept in sync automatically by release-please. The marker comments
// immediately after each value are how release-please locates the line
// to bump; do not remove them.
//
#pragma once

#define PHYRIAD_VERSION_MAJOR 1
#define PHYRIAD_VERSION_MINOR 0
#define PHYRIAD_VERSION_PATCH 0
#define PHYRIAD_VERSION_MAJOR 1 // x-release-please-major
#define PHYRIAD_VERSION_MINOR 0 // x-release-please-minor
#define PHYRIAD_VERSION_PATCH 3 // x-release-please-patch

// Optional pre-release tag. Empty for a final release.
// "rc1", "rc2" — release candidates: feature-complete but pending
Expand All @@ -24,4 +29,4 @@
#define PHYRIAD_VERSION \
PHYRIAD_MAKE_VERSION(PHYRIAD_VERSION_MAJOR, PHYRIAD_VERSION_MINOR, PHYRIAD_VERSION_PATCH)

#define PHYRIAD_VERSION_STRING "1.0.0"
#define PHYRIAD_VERSION_STRING "1.0.3" // x-release-please-version
41 changes: 39 additions & 2 deletions release-please-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
"draft": false,
"prerelease": false,

"pull-request-title-pattern": "chore${scope}: release ${component} ${version}",
"pull-request-header": ":robot: I have created a release *beep* *boop*",
"separate-pull-requests": false,

"_packages_doc": [
"Two release trains in this monorepo:",
" - phyriad framework → tag prefix 'v' (matches release.yml on push.tags v*.*.*)",
Expand All @@ -27,6 +31,21 @@
" chore / ci / docs / refactor / test / style / build → no bump"
],

"_extra_files_doc": [
"Each path listed in a package's `extra-files` is rewritten on every",
"release. The lines that get rewritten are tagged with marker comments",
"that release-please scans for:",
" CMakeLists.txt:",
" project(... VERSION X.Y.Z) # x-release-please-version",
" framework/_meta/include/phyriad/version.hpp + ayama/version.hpp:",
" #define ..._VERSION_MAJOR X // x-release-please-major",
" #define ..._VERSION_MINOR Y // x-release-please-minor",
" #define ..._VERSION_PATCH Z // x-release-please-patch",
" #define ..._VERSION_STRING \"X.Y.Z\" // x-release-please-version",
"Without these markers the file is left untouched. Keep them in sync",
"between the config below and the actual files."
],

"packages": {
".": {
"component": "phyriad",
Expand All @@ -37,15 +56,33 @@
"exclude-paths": [
"apps/ayama"
],
"extra-files": []
"extra-files": [
{
"type": "generic",
"path": "CMakeLists.txt"
},
{
"type": "generic",
"path": "framework/_meta/include/phyriad/version.hpp"
}
]
},
"apps/ayama": {
"component": "ayama",
"package-name": "ayama",
"include-component-in-tag": true,
"changelog-path": "CHANGELOG.md",
"release-type": "simple",
"extra-files": []
"extra-files": [
{
"type": "generic",
"path": "CMakeLists.txt"
},
{
"type": "generic",
"path": "core/include/ayama/version.hpp"
}
]
}
}
}
Loading