add release checklist
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
This commit is contained in:
parent
d6a4048793
commit
c170bff720
@ -19,6 +19,8 @@ change warranting a new major release:
|
|||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
|
|
||||||
|
- Single sourcing the version information into `CMakeLists.txt`. The `git describe` functionality
|
||||||
|
is only used to retrieve the git SHA hash now. Also removed `OBSWVersion.h` accordingly.
|
||||||
- Build system: Fixed small bug, where the version itself was
|
- Build system: Fixed small bug, where the version itself was
|
||||||
stored as the git SHA hash in `commonConfig.h`. This will be
|
stored as the git SHA hash in `commonConfig.h`. This will be
|
||||||
an empty string now for regular versions.
|
an empty string now for regular versions.
|
||||||
|
@ -9,9 +9,9 @@
|
|||||||
# ##############################################################################
|
# ##############################################################################
|
||||||
cmake_minimum_required(VERSION 3.13)
|
cmake_minimum_required(VERSION 3.13)
|
||||||
|
|
||||||
set(OBSW_VERSION_MAJOR_IF_GIT_FAILS 1)
|
set(OBSW_VERSION_MAJOR 1)
|
||||||
set(OBSW_VERSION_MINOR_IF_GIT_FAILS 25)
|
set(OBSW_VERSION_MINOR 25)
|
||||||
set(OBSW_VERSION_REVISION_IF_GIT_FAILS 0)
|
set(OBSW_VERSION_REVISION 0)
|
||||||
|
|
||||||
# set(CMAKE_VERBOSE TRUE)
|
# set(CMAKE_VERBOSE TRUE)
|
||||||
|
|
||||||
@ -168,12 +168,12 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
|
|||||||
set(GIT_INFO
|
set(GIT_INFO
|
||||||
${GIT_INFO}
|
${GIT_INFO}
|
||||||
CACHE STRING "Version information retrieved with git describe")
|
CACHE STRING "Version information retrieved with git describe")
|
||||||
list(GET GIT_INFO 1 OBSW_VERSION_MAJOR)
|
# CMakeLists.txt is now single source of information. list(GET GIT_INFO 1
|
||||||
list(GET GIT_INFO 2 OBSW_VERSION_MINOR)
|
# OBSW_VERSION_MAJOR) list(GET GIT_INFO 2 OBSW_VERSION_MINOR) list(GET
|
||||||
list(GET GIT_INFO 3 OBSW_VERSION_REVISION)
|
# GIT_INFO 3 OBSW_VERSION_REVISION)
|
||||||
list(LENGTH GIT_INFO LIST_LEN)
|
list(LENGTH GIT_INFO LIST_LEN)
|
||||||
if(LIST_LEN GREATER 4)
|
if(LIST_LEN GREATER 4)
|
||||||
list(GET GIT_INFO 4 OBSW_VERSION_CST_GIT_SHA1)
|
list(GET GIT_INFO 4 OBSW_VERSION_CST_GIT_SHA1)
|
||||||
endif()
|
endif()
|
||||||
if(NOT OBSW_VERSION_MAJOR)
|
if(NOT OBSW_VERSION_MAJOR)
|
||||||
set(OBSW_VERSION_MAJOR ${OBSW_VERSION_MAJOR_IF_GIT_FAILS})
|
set(OBSW_VERSION_MAJOR ${OBSW_VERSION_MAJOR_IF_GIT_FAILS})
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
#define FSFWCONFIG_OBSWCONFIG_H_
|
#define FSFWCONFIG_OBSWCONFIG_H_
|
||||||
|
|
||||||
#include "commonConfig.h"
|
#include "commonConfig.h"
|
||||||
#include "OBSWVersion.h"
|
|
||||||
|
|
||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
/** All of the following flags should be enabled for mission code */
|
/** All of the following flags should be enabled for mission code */
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
#include "commonConfig.h"
|
#include "commonConfig.h"
|
||||||
#include "q7sConfig.h"
|
#include "q7sConfig.h"
|
||||||
#include "OBSWVersion.h"
|
|
||||||
|
|
||||||
/*******************************************************************/
|
/*******************************************************************/
|
||||||
/** All of the following flags should be enabled for mission code */
|
/** All of the following flags should be enabled for mission code */
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#include <fsfw/ipc/QueueFactory.h>
|
#include <fsfw/ipc/QueueFactory.h>
|
||||||
#include <fsfw/tasks/TaskFactory.h>
|
#include <fsfw/tasks/TaskFactory.h>
|
||||||
|
|
||||||
#include "OBSWVersion.h"
|
#include "commonConfig.h"
|
||||||
#include "fsfw/serviceinterface/ServiceInterface.h"
|
#include "fsfw/serviceinterface/ServiceInterface.h"
|
||||||
#include "fsfw/timemanager/Stopwatch.h"
|
#include "fsfw/timemanager/Stopwatch.h"
|
||||||
#include "fsfw/version.h"
|
#include "fsfw/version.h"
|
||||||
@ -179,6 +179,11 @@ ReturnValue_t CoreController::initializeAfterTaskCreation() {
|
|||||||
ReturnValue_t CoreController::executeAction(ActionId_t actionId, MessageQueueId_t commandedBy,
|
ReturnValue_t CoreController::executeAction(ActionId_t actionId, MessageQueueId_t commandedBy,
|
||||||
const uint8_t *data, size_t size) {
|
const uint8_t *data, size_t size) {
|
||||||
switch (actionId) {
|
switch (actionId) {
|
||||||
|
case (ANNOUNCE_VERSION): {
|
||||||
|
// uint32_t p1=
|
||||||
|
triggerEvent(VERSION_INFO);
|
||||||
|
return HasActionsIF::EXECUTION_FINISHED;
|
||||||
|
}
|
||||||
case (LIST_DIRECTORY_INTO_FILE): {
|
case (LIST_DIRECTORY_INTO_FILE): {
|
||||||
return actionListDirectoryIntoFile(actionId, commandedBy, data, size);
|
return actionListDirectoryIntoFile(actionId, commandedBy, data, size);
|
||||||
}
|
}
|
||||||
@ -673,9 +678,9 @@ ReturnValue_t CoreController::initVersionFile() {
|
|||||||
sif::warning << "CoreController::versionFileInit: Retrieving uname line failed" << std::endl;
|
sif::warning << "CoreController::versionFileInit: Retrieving uname line failed" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string fullObswVersionString = "OBSW: v" + std::to_string(SW_VERSION) + "." +
|
std::string fullObswVersionString = "OBSW: v" + std::to_string(common::OBSW_VERSION_MAJOR) + "." +
|
||||||
std::to_string(SW_SUBVERSION) + "." +
|
std::to_string(common::OBSW_VERSION_MINOR) + "." +
|
||||||
std::to_string(SW_REVISION);
|
std::to_string(common::OBSW_VERSION_REVISION);
|
||||||
char versionString[16] = {};
|
char versionString[16] = {};
|
||||||
fsfw::FSFW_VERSION.getVersion(versionString, sizeof(versionString));
|
fsfw::FSFW_VERSION.getVersion(versionString, sizeof(versionString));
|
||||||
std::string fullFsfwVersionString = "FSFW: v" + std::string(versionString);
|
std::string fullFsfwVersionString = "FSFW: v" + std::string(versionString);
|
||||||
|
@ -74,6 +74,8 @@ class CoreController : public ExtendedControllerBase {
|
|||||||
static constexpr dur_millis_t DEFAULT_SD_CARD_CHECK_TIMEOUT = 60000;
|
static constexpr dur_millis_t DEFAULT_SD_CARD_CHECK_TIMEOUT = 60000;
|
||||||
|
|
||||||
static constexpr ActionId_t LIST_DIRECTORY_INTO_FILE = 0;
|
static constexpr ActionId_t LIST_DIRECTORY_INTO_FILE = 0;
|
||||||
|
static constexpr ActionId_t ANNOUNCE_VERSION = 1;
|
||||||
|
static constexpr ActionId_t ANNOUNCE_CURRENT_IMAGE = 2;
|
||||||
static constexpr ActionId_t SWITCH_REBOOT_FILE_HANDLING = 5;
|
static constexpr ActionId_t SWITCH_REBOOT_FILE_HANDLING = 5;
|
||||||
static constexpr ActionId_t RESET_REBOOT_COUNTERS = 6;
|
static constexpr ActionId_t RESET_REBOOT_COUNTERS = 6;
|
||||||
static constexpr ActionId_t SWITCH_IMG_LOCK = 7;
|
static constexpr ActionId_t SWITCH_IMG_LOCK = 7;
|
||||||
@ -109,6 +111,12 @@ class CoreController : public ExtendedControllerBase {
|
|||||||
//! [EXPORT] : [COMMENT] No SD card was active. Core controller will attempt to re-initialize
|
//! [EXPORT] : [COMMENT] No SD card was active. Core controller will attempt to re-initialize
|
||||||
//! a SD card.
|
//! a SD card.
|
||||||
static constexpr Event NO_SD_CARD_ACTIVE = event::makeEvent(SUBSYSTEM_ID, 4, severity::HIGH);
|
static constexpr Event NO_SD_CARD_ACTIVE = event::makeEvent(SUBSYSTEM_ID, 4, severity::HIGH);
|
||||||
|
//! [EXPORT] : [COMMENT]
|
||||||
|
//! P1: Byte 0: Major, Byte 1: Minor, Byte 2: Patch, Byte 3: Has Git Hash
|
||||||
|
//! P2: First four letters of Git SHA is the last byte of P1 is set.
|
||||||
|
static constexpr Event VERSION_INFO = event::makeEvent(SUBSYSTEM_ID, 5, severity::INFO);
|
||||||
|
//! [EXPORT] : [COMMENT] P1: Current Chip, P2: Current Copy
|
||||||
|
static constexpr Event CURRENT_IMAGE_INFO = event::makeEvent(SUBSYSTEM_ID, 6, severity::INFO);
|
||||||
|
|
||||||
CoreController(object_id_t objectId);
|
CoreController(object_id_t objectId);
|
||||||
virtual ~CoreController();
|
virtual ~CoreController();
|
||||||
|
@ -1,10 +0,0 @@
|
|||||||
#ifndef COMMON_CONFIG_OBSWVERSION_H_
|
|
||||||
#define COMMON_CONFIG_OBSWVERSION_H_
|
|
||||||
|
|
||||||
const char* const SW_NAME = "eive";
|
|
||||||
|
|
||||||
#define SW_VERSION 1
|
|
||||||
#define SW_SUBVERSION 12
|
|
||||||
#define SW_REVISION 1
|
|
||||||
|
|
||||||
#endif /* COMMON_CONFIG_OBSWVERSION_H_ */
|
|
2
fsfw
2
fsfw
@ -1 +1 @@
|
|||||||
Subproject commit 84dc7ac0ce4f16d93a6a5a5fcd453b2fde206dba
|
Subproject commit 84bbef016712096147e8cf3f2cec87f317d9e7e7
|
@ -58,7 +58,7 @@ void AcsSubsystem::handleEventMessages() {
|
|||||||
case EventMessage::EVENT_MESSAGE:
|
case EventMessage::EVENT_MESSAGE:
|
||||||
if (event.getEvent() == acs::SAFE_RATE_VIOLATION) {
|
if (event.getEvent() == acs::SAFE_RATE_VIOLATION) {
|
||||||
CommandMessage msg;
|
CommandMessage msg;
|
||||||
ModeMessage::setCmdModeModeMessage(msg, acs::CtrlSubmode::DETUMBLE, 0);
|
ModeMessage::setCmdModeMessage(msg, acs::CtrlSubmode::DETUMBLE, 0);
|
||||||
ReturnValue_t result = commandQueue->sendMessage(commandQueue->getId(), &msg);
|
ReturnValue_t result = commandQueue->sendMessage(commandQueue->getId(), &msg);
|
||||||
if (result != returnvalue::OK) {
|
if (result != returnvalue::OK) {
|
||||||
sif::error << "AcsSubsystem: sending DETUMBLE mode cmd to self has failed" << std::endl;
|
sif::error << "AcsSubsystem: sending DETUMBLE mode cmd to self has failed" << std::endl;
|
||||||
@ -66,7 +66,7 @@ void AcsSubsystem::handleEventMessages() {
|
|||||||
}
|
}
|
||||||
if (event.getEvent() == acs::SAFE_RATE_RECOVERY) {
|
if (event.getEvent() == acs::SAFE_RATE_RECOVERY) {
|
||||||
CommandMessage msg;
|
CommandMessage msg;
|
||||||
ModeMessage::setCmdModeModeMessage(msg, acs::CtrlSubmode::SAFE, 0);
|
ModeMessage::setCmdModeMessage(msg, acs::CtrlSubmode::SAFE, 0);
|
||||||
ReturnValue_t result = commandQueue->sendMessage(commandQueue->getId(), &msg);
|
ReturnValue_t result = commandQueue->sendMessage(commandQueue->getId(), &msg);
|
||||||
if (result != returnvalue::OK) {
|
if (result != returnvalue::OK) {
|
||||||
sif::error << "AcsSubsystem: sending IDLE mode cmd to self has failed" << std::endl;
|
sif::error << "AcsSubsystem: sending IDLE mode cmd to self has failed" << std::endl;
|
||||||
|
12
release_checklist.md
Normal file
12
release_checklist.md
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
OBSW Release Checklist
|
||||||
|
=========
|
||||||
|
|
||||||
|
# Pre-Release
|
||||||
|
|
||||||
|
1. Update version in `CMakeLists.txt`
|
||||||
|
2. Verify that the Q7S, Q7S EM and Host build are working
|
||||||
|
3. Wait for CI/CD results
|
||||||
|
|
||||||
|
# Post-Release
|
||||||
|
|
||||||
|
1. Create a new release with tag on `EGit`
|
@ -76,4 +76,4 @@ class CoreController {
|
|||||||
SdCardManager* sdcMan = nullptr;
|
SdCardManager* sdcMan = nullptr;
|
||||||
RebootFile rebootFile = {};
|
RebootFile rebootFile = {};
|
||||||
bool doPerformRebootFileHandling = true;
|
bool doPerformRebootFileHandling = true;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user