ref: 028e7af7d161550973faec64d839372171b8e9bf
parent: e141da1d9456ecb57357d4881045ec5728ea6ec0
author: ISSOtm <[email protected]>
date: Tue Mar 9 19:06:32 EST 2021
Prepare release candidates We'll use "-rcX" instead of "-pre" to allow multiple ones, jic Additionally, they will be able to be detected using __RGBDS_RC__ Finally, adapt everything version-related to this new system
--- a/.github/workflows/create-release-artifacts.yaml
+++ b/.github/workflows/create-release-artifacts.yaml
@@ -86,7 +86,7 @@
Once that's done, replace this text with the changelog, un-draft the release, and update the `release` branch.
By the way, if you forgot to update `include/version.h`, RGBASM's version test is gonna fail in the tag's regression testing! (Use `git push --delete origin <tag>` to delete it)
draft: true # Don't publish the release quite yet...
- prerelease: ${{ endsWith(github.ref, '-pre') }}
+ prerelease: ${{ contains(github.ref, '-rc') }}
files: |
rgbds-${{ env.version }}-win32.zip
rgbds-${{ env.version }}-win64.zip
--- a/include/version.h
+++ b/include/version.h
@@ -12,6 +12,7 @@
#define PACKAGE_VERSION_MAJOR 0
#define PACKAGE_VERSION_MINOR 4
#define PACKAGE_VERSION_PATCH 2
+// #define PACKAGE_VERSION_RC 1
const char *get_package_version_string(void);
--- a/src/asm/rgbasm.5
+++ b/src/asm/rgbasm.5
@@ -855,7 +855,7 @@
A symbol cannot have the same name as a reserved keyword.
.Pp
Constants and string equates
-.Em must not
+.Em must not
have any whitespace before their name when they are defined;
otherwise
.Nm
@@ -1215,6 +1215,7 @@
.It Dv __RGBDS_MAJOR__ Ta Ic EQU Ta Major version number of RGBDS
.It Dv __RGBDS_MINOR__ Ta Ic EQU Ta Minor version number of RGBDS
.It Dv __RGBDS_PATCH__ Ta Ic EQU Ta Patch version number of RGBDS
+.It Dv __RGBDS_RC__ Ta Ic EQU Ta Release candidate ID of RGBDS, not defined for final releases
.El
.Pp
The current time values will be taken from the
--- a/src/version.c
+++ b/src/version.c
@@ -17,9 +17,16 @@
// The following conditional should be simplified by the compiler.
if (strlen(BUILD_VERSION_STRING) == 0) {
// Fallback if version string can't be obtained from Git
+#ifndef PACKAGE_VERSION_RC
return "v" EXPAND_AND_STR(PACKAGE_VERSION_MAJOR)
"." EXPAND_AND_STR(PACKAGE_VERSION_MINOR)
"." EXPAND_AND_STR(PACKAGE_VERSION_PATCH);
+#else
+ return "v" EXPAND_AND_STR(PACKAGE_VERSION_MAJOR)
+ "." EXPAND_AND_STR(PACKAGE_VERSION_MINOR)
+ "." EXPAND_AND_STR(PACKAGE_VERSION_PATCH)
+ "-rc" EXPAND_AND_STR(PACKAGE_VERSION_RC);
+#endif
} else {
return BUILD_VERSION_STRING;
}
--- a/test/asm/test.sh
+++ b/test/asm/test.sh
@@ -39,7 +39,11 @@
# Add the version constants test, outputting the closest tag to the HEAD
if git describe --tags --abbrev=0 > version.out; then
cat > version.asm <<EOF
-PRINTLN "v{d:__RGBDS_MAJOR__}.{d:__RGBDS_MINOR__}.{d:__RGBDS_PATCH__}"
+IF !DEF(__RGBDS_RC__)
+ PRINTLN "v{d:__RGBDS_MAJOR__}.{d:__RGBDS_MINOR__}.{d:__RGBDS_PATCH__}"
+ELSE
+ PRINTLN "v{d:__RGBDS_MAJOR__}.{d:__RGBDS_MINOR__}.{d:__RGBDS_PATCH__}-rc{d:__RGBDS_RC__}"
+ENDC
EOF
else
echo "${bold}${orange}Warning: cannot run version test!${rescolors}${resbold}"