From 857ba80404a6af148ad4a954c569a7f43804fbc0 Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Tue, 13 May 2025 13:33:51 +0200 Subject: [PATCH 01/24] init rfc --- rfcs/0000-release-lifecycle.md | 163 +++++++++++++++++++++++++++++++++ rfcs/0000-template.md | 114 +++++++++++------------ 2 files changed, 220 insertions(+), 57 deletions(-) create mode 100644 rfcs/0000-release-lifecycle.md diff --git a/rfcs/0000-release-lifecycle.md b/rfcs/0000-release-lifecycle.md new file mode 100644 index 000000000..60c35711d --- /dev/null +++ b/rfcs/0000-release-lifecycle.md @@ -0,0 +1,163 @@ +- Feature Name: (fill me in with a unique ident, `release_lifecycle`) +- Start Date: (fill me in with today's date, 2025-05-08) +- RFC PR: [fiskaltrust/middleware#0000](https://github.com/fiskaltrust/middleware/pull/0000) +- Tracking Issue: [fiskaltrust/middleware#0000](https://github.com/fiskaltrust/middleware/issues/0000) + +# Summary + +> One paragraph explanation of the feature. + +# Motivation + +> Why are we doing this? What use cases does it support? What is the expected outcome? + +# Guide-level explanation + +The middleware release process is split up into two main phases. + +1. Deployment +2. Release + +The **deployment phase** is performed in the middleware github repository using issues, milestones, releases, actions, etc. +At the end of the deployment phase all middleware artifacts that are to be released are deployed to the respective targets. +(This includes nuget and zip packages, the release notes documents, etc..) +Most of the artifacts are not yet listed or downloadable anywhere. +This stage is described in the [`RELEASE.md`](../RELEASE.md) file of this repository. +The middleware development team is responsible for handling this part of the release process. + +The **release phase** is performed in the portal admin interface. +It's purpose is to manage the publishing (releasing) of the artifacts that were deployed in the previous phase. +At the begining of this phase the relesae (collection of artifacts related to a middleware version) is deployed on the servers but unlisted and not downloadable. +In the admin interface the release can be reviewed, approved, and published. +A release can have complex visibility states for different environments (sandbox, production and the different markets). +A staggered rollout and rollbacks are possible. +At the end of the release phase the artifacts are listed and downloadable on all servers. +The customer success teams are responsible for handling this part of the release process. + +## Deployment + +### Versions + +The middleware versions use [SemVer v1](https://semver.org/spec/v1.0.0.html) for it's version structure conventions and a modified version of [0ver](https://0ver.org) (called "1ver") for it's semantic conventions. + +Two prerelease identifiers are allowed: +| identifier | description | environments | +|------------|------------------------------------------------------------------------------------------------------|---------------------| +| `-ciX` | "continuous integration" is used for dev releases used for internal testing of features. | sandbox | +| `-rcX` | "release candidate" are used for testing of whole releases and external testing as well as hotfixes. | production, sandbox | + +### Artifacts + +| artifact | target | notes | published in this stage | +|----------------|--------------------------|-----------------------------------------------------------------------------------|-------------------------| +| github tag | middleware github repo | Every released version has a tag that can be used to link the version to a commit | ✅ | +| github release | middleware github repo | This contains the autogenerated github release notes for this package | ✅ | +| release notes | release notes repository | | ❔ | +| nuget-package | packages server | | ❌ | +| nuget-package | nuget feed | | ❌ | +| zip-package | packages server | | ❌ | + +## Release + +### States + +The following states describe the lifecycle of a release within the portal admin interface. + +| State | Direction | Description | +|-----------|-----------|---------------------------------------------------------| +| Unlisted | ⬇️ | Artifacts are deployed and downloadable but not listed. | +| Published | ↕️ | Artifacts are deployed, listed, and downloadable. | +| Yanked | ⬇️ | Artifacts are deployed and downloadable but not listed. | + +An _Unlisted_ release can be set to _Published_ or _Yanked_. +A _Published_ release can be set to _Unlisted_ or _Yanked_. +The state of a _Yanked_ release can not be changed anymore. + +#### Environment + +The release state is managed separately for sandbox and production. +In sandbox the default state is _Published_. +In production the default state is _Unlisted_. + +A release can be set to _Published_ for all or just for some markets or accounts. +A release can only be _Yanked_ everywhere at once. + +### Unlisted + +how to select unlisted releases + +> Explain the proposal as if it was already included in the middleware and you were teaching it to a PosCreator. That generally means: +> +> - Introducing new named concepts. +> - Explaining the feature, ideally through simple examples of solutions to concrete problems. +> - Explaining how users should *think* about the feature, and how it should impact the way they use the middleware. It should explain the impact as concretely as possible. +> - If applicable, provide sample error messages, deprecation warnings, or migration guidance. +> - If applicable, explain how this feature compares to similar existing features, and in what situations the user would use each one. + +# Reference-level explanation + +Check where 1.3 version stuff is hardcoded. + +> This is the technical portion of the RFC. +> Try to capture the broad implementation strategy, +> and then focus in on the tricky details so that: +> +> - Its interaction with other features is clear. +> - It is reasonably clear how the feature would be implemented. +> - Corner cases are dissected by example. +> - Discuss how this impacts the ability to read, understand, and maintain middleware code. +> Code is read and modified far more often than written; will the proposed feature make code easier to maintain? +> +> When necessary, this section should return to the examples given in the previous section and explain the implementation details that make them work. +> +> When writing this section be mindful of the following: +> - **RFCs should be scoped:** Try to avoid creating RFCs for huge design spaces that span many features. +> Try to pick a specific feature slice and describe it in as much detail as possible. +> Feel free to create multiple RFCs if you need multiple features. +> - **RFCs should avoid ambiguity:** Two developers implementing the same RFC should come up with nearly identical implementations. +> - **RFCs should be "implementable":** Merged RFCs should only depend on features from other merged RFCs and existing features. +> It is ok to create multiple dependent RFCs, but they should either be merged at the same time or have a clear merge order that ensures the "implementable" rule is respected. + +# Drawbacks + +> Why should we *not* do this? + +# Rationale and alternatives + +> - Why is this design the best in the space of possible designs? +> - What other designs have been considered and what is the rationale for not choosing them? +> - What objections immediately spring to mind? How have you addressed them? +> - What is the impact of not doing this? + +# \[Optional\] Prior art + +> Discuss prior art, both the good and the bad, in relation to this proposal. +> A few examples of what this can include are: +> +> - Does this feature exist in other markets and what experience have their community had? +> - Does this feature exist in other PosSystems and what experience have their community had? +> - Papers: Are there any published papers or great posts that discuss this? +> If you have some relevant papers to refer to, this can serve as a more detailed theoretical background. +> +> This section is intended to encourage you as an author to think about the lessons from other markets and projects, provide readers of your RFC with a fuller picture. +> If there is no prior art, that is fine - your ideas are interesting to us whether they are brand new or not. +> +> Note that while precedent set by other projects and markets is some motivation, it does not on its own motivate an RFC. + +# Unresolved questions + +> - What parts of the design do you expect to resolve through the RFC process before this gets merged? +> - What parts of the design do you expect to resolve through the implementation of this feature before before the feature PR is merged? +> - What related issues do you consider out of scope for this RFC that could be addressed in the future independently of the solution that comes out of this RFC? + +# \[Optional\] Future possibilities + +> Think about what the natural extension and evolution of your proposal would be and how it would affect the middleware and ecosystem as a whole in a holistic way. +> Try to use this section as a tool to more fully consider all possible interactions with the project in your proposal. +> Also consider how this all fits into the roadmap for the project and of the relevant sub-team. +> +> This is also a good place to "dump ideas", if they are out of scope for the RFC you are writing but otherwise related. +> +> Note that having something written down in the future-possibilities section is not a reason to accept the current or a future RFC; +> such notes should be in the section on motivation or rationale in this or subsequent RFCs. +> The section merely provides additional information. \ No newline at end of file diff --git a/rfcs/0000-template.md b/rfcs/0000-template.md index 0adc7687e..d4d4bd917 100644 --- a/rfcs/0000-template.md +++ b/rfcs/0000-template.md @@ -6,84 +6,84 @@ # Summary -One paragraph explanation of the feature. +> One paragraph explanation of the feature. # Motivation -Why are we doing this? What use cases does it support? What is the expected outcome? +> Why are we doing this? What use cases does it support? What is the expected outcome? # Guide-level explanation -Explain the proposal as if it was already included in the middleware and you were teaching it to a PosCreator. That generally means: - -- Introducing new named concepts. -- Explaining the feature, ideally through simple examples of solutions to concrete problems. -- Explaining how users should *think* about the feature, and how it should impact the way they use the middleware. It should explain the impact as concretely as possible. -- If applicable, provide sample error messages, deprecation warnings, or migration guidance. -- If applicable, explain how this feature compares to similar existing features, and in what situations the user would use each one. +> Explain the proposal as if it was already included in the middleware and you were teaching it to a PosCreator. That generally means: +> +> - Introducing new named concepts. +> - Explaining the feature, ideally through simple examples of solutions to concrete problems. +> - Explaining how users should *think* about the feature, and how it should impact the way they use the middleware. It should explain the impact as concretely as possible. +> - If applicable, provide sample error messages, deprecation warnings, or migration guidance. +> - If applicable, explain how this feature compares to similar existing features, and in what situations the user would use each one. # Reference-level explanation -This is the technical portion of the RFC. -Try to capture the broad implementation strategy, -and then focus in on the tricky details so that: - -- Its interaction with other features is clear. -- It is reasonably clear how the feature would be implemented. -- Corner cases are dissected by example. -- Discuss how this impacts the ability to read, understand, and maintain middleware code. - Code is read and modified far more often than written; will the proposed feature make code easier to maintain? - -When necessary, this section should return to the examples given in the previous section and explain the implementation details that make them work. - -When writing this section be mindful of the following: -- **RFCs should be scoped:** Try to avoid creating RFCs for huge design spaces that span many features. - Try to pick a specific feature slice and describe it in as much detail as possible. - Feel free to create multiple RFCs if you need multiple features. -- **RFCs should avoid ambiguity:** Two developers implementing the same RFC should come up with nearly identical implementations. -- **RFCs should be "implementable":** Merged RFCs should only depend on features from other merged RFCs and existing features. - It is ok to create multiple dependent RFCs, but they should either be merged at the same time or have a clear merge order that ensures the "implementable" rule is respected. +> This is the technical portion of the RFC. +> Try to capture the broad implementation strategy, +> and then focus in on the tricky details so that: +> +> - Its interaction with other features is clear. +> - It is reasonably clear how the feature would be implemented. +> - Corner cases are dissected by example. +> - Discuss how this impacts the ability to read, understand, and maintain middleware code. +> Code is read and modified far more often than written; will the proposed feature make code easier to maintain? +> +> When necessary, this section should return to the examples given in the previous section and explain the implementation details that make them work. +> +> When writing this section be mindful of the following: +> - **RFCs should be scoped:** Try to avoid creating RFCs for huge design spaces that span many features. +> Try to pick a specific feature slice and describe it in as much detail as possible. +> Feel free to create multiple RFCs if you need multiple features. +> - **RFCs should avoid ambiguity:** Two developers implementing the same RFC should come up with nearly identical implementations. +> - **RFCs should be "implementable":** Merged RFCs should only depend on features from other merged RFCs and existing features. +> It is ok to create multiple dependent RFCs, but they should either be merged at the same time or have a clear merge order that ensures the "implementable" rule is respected. # Drawbacks -Why should we *not* do this? +> Why should we *not* do this? # Rationale and alternatives -- Why is this design the best in the space of possible designs? -- What other designs have been considered and what is the rationale for not choosing them? -- What objections immediately spring to mind? How have you addressed them? -- What is the impact of not doing this? +> - Why is this design the best in the space of possible designs? +> - What other designs have been considered and what is the rationale for not choosing them? +> - What objections immediately spring to mind? How have you addressed them? +> - What is the impact of not doing this? # \[Optional\] Prior art -Discuss prior art, both the good and the bad, in relation to this proposal. -A few examples of what this can include are: - -- Does this feature exist in other markets and what experience have their community had? -- Does this feature exist in other PosSystems and what experience have their community had? -- Papers: Are there any published papers or great posts that discuss this? - If you have some relevant papers to refer to, this can serve as a more detailed theoretical background. - -This section is intended to encourage you as an author to think about the lessons from other markets and projects, provide readers of your RFC with a fuller picture. -If there is no prior art, that is fine - your ideas are interesting to us whether they are brand new or not. - -Note that while precedent set by other projects and markets is some motivation, it does not on its own motivate an RFC. +> Discuss prior art, both the good and the bad, in relation to this proposal. +> A few examples of what this can include are: +> +> - Does this feature exist in other markets and what experience have their community had? +> - Does this feature exist in other PosSystems and what experience have their community had? +> - Papers: Are there any published papers or great posts that discuss this? +> If you have some relevant papers to refer to, this can serve as a more detailed theoretical background. +> +> This section is intended to encourage you as an author to think about the lessons from other markets and projects, provide readers of your RFC with a fuller picture. +> If there is no prior art, that is fine - your ideas are interesting to us whether they are brand new or not. +> +> Note that while precedent set by other projects and markets is some motivation, it does not on its own motivate an RFC. # Unresolved questions -- What parts of the design do you expect to resolve through the RFC process before this gets merged? -- What parts of the design do you expect to resolve through the implementation of this feature before before the feature PR is merged? -- What related issues do you consider out of scope for this RFC that could be addressed in the future independently of the solution that comes out of this RFC? +> - What parts of the design do you expect to resolve through the RFC process before this gets merged? +> - What parts of the design do you expect to resolve through the implementation of this feature before before the feature PR is merged? +> - What related issues do you consider out of scope for this RFC that could be addressed in the future independently of the solution that comes out of this RFC? # \[Optional\] Future possibilities -Think about what the natural extension and evolution of your proposal would be and how it would affect the middleware and ecosystem as a whole in a holistic way. -Try to use this section as a tool to more fully consider all possible interactions with the project in your proposal. -Also consider how this all fits into the roadmap for the project and of the relevant sub-team. - -This is also a good place to "dump ideas", if they are out of scope for the RFC you are writing but otherwise related. - -Note that having something written down in the future-possibilities section is not a reason to accept the current or a future RFC; -such notes should be in the section on motivation or rationale in this or subsequent RFCs. -The section merely provides additional information. \ No newline at end of file +> Think about what the natural extension and evolution of your proposal would be and how it would affect the middleware and ecosystem as a whole in a holistic way. +> Try to use this section as a tool to more fully consider all possible interactions with the project in your proposal. +> Also consider how this all fits into the roadmap for the project and of the relevant sub-team. +> +> This is also a good place to "dump ideas", if they are out of scope for the RFC you are writing but otherwise related. +> +> Note that having something written down in the future-possibilities section is not a reason to accept the current or a future RFC; +> such notes should be in the section on motivation or rationale in this or subsequent RFCs. +> The section merely provides additional information. \ No newline at end of file From bb07268c339926b54d6d8af0e72778a381baefc0 Mon Sep 17 00:00:00 2001 From: Paul Volavsek <24523184+volllly@users.noreply.github.com> Date: Thu, 8 May 2025 10:26:35 +0200 Subject: [PATCH 02/24] Create RELEASE.md --- RELEASE.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 RELEASE.md diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 000000000..cb92fa6f7 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,41 @@ +# Release process for the middleware + +## Concepts + +### Versioning + +### Tags + +## Regular Releases + +### Fill Github Milestone + +### Deploy PreRelease Versions to Sandbox + +### Write Release Notes + +### Internal Release Notes Review + +### Feature Tests + +### Launcher End2End Tests + +### Deploy Full Versions to Sandbox + +### Deploy Full Versions to Production + +### Publish Release Notes + +## Hotfix Releases + +### Deploy PreRelease Version to Sandbox + +### Feature Tests + +### Deploy Full Version to Sandbox + +### Deploy Full Version to Production + +### Create Github Milestone + +### Write and Publish Release Notes From e21be4d513af4c0629274daf01a55eb936b4ee25 Mon Sep 17 00:00:00 2001 From: Paul Volavsek <24523184+volllly@users.noreply.github.com> Date: Thu, 8 May 2025 12:38:40 +0200 Subject: [PATCH 03/24] Update RELEASE.md --- RELEASE.md | 83 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 76 insertions(+), 7 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index cb92fa6f7..4ddf80e7e 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -4,38 +4,107 @@ ### Versioning +This repo contains the code for the fiskaltrust.Middleware versions >= 1.3.x. + +New Middleware is relesed semi regularly as a new version (E.g. `v1.3.68`, `v1.3.69`, `v1.3.71`, ...). +When a new release is done only the Middleware packages that have changes are released. +All released packages will have the same new version. +This can lead to gaps in the versions for some components that don't have changes in a certain release which is totally acceptable. + +All packages of a certain Middleware version shall be compatible with one another. +If a package is not released a Middleware new version the latest released version of said package shall be compatible with the Middleware new version. + +Releases are tracked in github [Milestones](https://github.com/fiskaltrust/middleware/milestones). +All PRs and issues in a Milestone have the relevant `queue-*` and `scu-*` labels set to have an overview of which packages shall be released in a new Middleware version. + +#### Pre Release Versions + +The SemVer v1 suffixes `-ciX` and `-rcX` are allowed (E.g. `-ci1`, `-rc2`, ...). + +- `-ciX` is used for internal sandbox releases. E.g. to test a specific branch or feature. +- `-rcX` is for Release Candidates used for testing new Middleware versions. + Before a full release an RC version is published to the sandbox and used for End2End testing this new Middleware version. + An RC version can be released to give to a customer to test out fixes or features. + ### Tags +All released versions shall have a corresponding tag. +Tags are prefixed with a path specifying the package that is being released (E.g. `queue/sqlite/v1.3.71`, `scu-de/swissbitcloudv2/v1.3.71`, `scu-it/epsonrtprinter/v1.3.71`, ...). + +Tags can be created via github releases or created locally in the git repo and then pushed (E.g. using the `git` cli or your favourite IDE). + +### Production + +In sandbox there's no restrictions on what can be released. +In production only `-rcX` and full versions shall be released and both shall be End2End tested before doing so. + +--- + ## Regular Releases +This section describes how a regular new Middleware (E.g. `v1.3.71`) release is done. + ### Fill Github Milestone +> Done by the Middleware Lead Engineer + +First the relevant github Milestone is maintained. +All relevant issues and all PRs since the last release are added to the milestone and they are given the needed `queue-*` and `scu-*` labels. +PRs or issues that have a customer facing impact get the `meta-needs-release-notes` and if needed the `meta-neets-migration-guide` label. -### Deploy PreRelease Versions to Sandbox +### Deploy Pre Release Versions to Sandbox + +`-rcX` tags for the new version are created (The `Set as a pre-release` Checkbox is checked if created through github releases). +This triggers the release pipeline where the Sandbox deployment is approved and deployed. ### Write Release Notes +A PR with the release notes for the new version is created in the [release-notes](https://github.com/fiskaltrust/release-notes) repo. +All items in the release Milestone with the `meta-needs-release-notes` label have a related a section in the release notes and the relevant issue or PR is linked. + ### Internal Release Notes Review +The release notes are given to the market lead engineers for review. + ### Feature Tests +All new features and bug fixes are tested in the sandbox. +The feature or bugfix is tested for functionality using a relevant configuration (E.g. a `SQLite` Queue and a `FiskalyCertified` SCU for a bugfix in the DE Localization or an `AzureTableStorage` Queue and a `SwissbitCloudV2` SCU for a new feature in the `SwissbitCloudV2`). + ### Launcher End2End Tests +All Packages are End2End tested on all relevant launchers. +The released packages are tested to start and sign on all launcher and OS combinations. +The specific features/bugfixes are already tested in the Feature Tests and don't need to be tested on all combinations again only the basic functionality of the packages is tested here. + +### Fix Issues + +Issues found during the testing phase these are fixed and a new `-rcX` version for these packages is released and tested again. + ### Deploy Full Versions to Sandbox +The full version tag is created and the sandbox is deployed. +Github releases are created for these versions where the relevant PRs are listed for each package (This is partly done by githubs "Generate release notes" but the output needs to be filtered for relevance to the package). + ### Deploy Full Versions to Production +If no issues are reported production is also deployed. + ### Publish Release Notes +The release notes are published as soon as the version is available in production. + ## Hotfix Releases -### Deploy PreRelease Version to Sandbox +If a hotfix needs to be released for a package the process is simplified. -### Feature Tests +### Deploy Pre Release Version to Sandbox + +First an `-rcX` version tag is created and released to sandbox. -### Deploy Full Version to Sandbox +### Feature Tests -### Deploy Full Version to Production +The `-rcX` version is tested in the relevant Queue, SCU, Launcher and OS configurations. -### Create Github Milestone +### Deploy Pre Release Version to Production -### Write and Publish Release Notes +The tested package is then released as an RC version to production. From 9f6309f0ea8f90efe586a6719a12e5064060e624 Mon Sep 17 00:00:00 2001 From: Paul Volavsek <24523184+volllly@users.noreply.github.com> Date: Wed, 14 May 2025 12:15:27 +0200 Subject: [PATCH 04/24] Update RELEASE.md --- RELEASE.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/RELEASE.md b/RELEASE.md index 4ddf80e7e..06746ca02 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -63,7 +63,8 @@ All items in the release Milestone with the `meta-needs-release-notes` label hav ### Internal Release Notes Review -The release notes are given to the market lead engineers for review. +The release notes are given to the market lead engineers for review. +A post in the releases channel is made. ### Feature Tests From 3192a3af20e2f8c733798b82f8563b424edc3967 Mon Sep 17 00:00:00 2001 From: Paul Volavsek <24523184+volllly@users.noreply.github.com> Date: Wed, 14 May 2025 12:19:42 +0200 Subject: [PATCH 05/24] Update RELEASE.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- RELEASE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE.md b/RELEASE.md index 06746ca02..823056401 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -49,7 +49,7 @@ This section describes how a regular new Middleware (E.g. `v1.3.71`) release is First the relevant github Milestone is maintained. All relevant issues and all PRs since the last release are added to the milestone and they are given the needed `queue-*` and `scu-*` labels. -PRs or issues that have a customer facing impact get the `meta-needs-release-notes` and if needed the `meta-neets-migration-guide` label. +PRs or issues that have a customer facing impact get the `meta-needs-release-notes` and if needed the `meta-needs-migration-guide` label. ### Deploy Pre Release Versions to Sandbox From 4c8bf75a3088ff147cd33a52cf7cab60c8efe6ac Mon Sep 17 00:00:00 2001 From: Paul Volavsek <24523184+volllly@users.noreply.github.com> Date: Wed, 14 May 2025 12:22:00 +0200 Subject: [PATCH 06/24] Update RELEASE.md --- RELEASE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE.md b/RELEASE.md index 823056401..e7f17b43e 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -6,7 +6,7 @@ This repo contains the code for the fiskaltrust.Middleware versions >= 1.3.x. -New Middleware is relesed semi regularly as a new version (E.g. `v1.3.68`, `v1.3.69`, `v1.3.71`, ...). +New Middleware is released semi regularly as a new version (E.g. `v1.3.68`, `v1.3.69`, `v1.3.71`, ...). When a new release is done only the Middleware packages that have changes are released. All released packages will have the same new version. This can lead to gaps in the versions for some components that don't have changes in a certain release which is totally acceptable. From c6c072a54106c73367f05e3b2931d8d6be258608 Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Wed, 14 May 2025 15:34:31 +0200 Subject: [PATCH 07/24] clarifications --- RELEASE.md | 6 ++++++ rfcs/0000-release-lifecycle.md | 29 +++++++++++++++++++++++------ 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index e7f17b43e..8918deb9e 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -51,6 +51,11 @@ First the relevant github Milestone is maintained. All relevant issues and all PRs since the last release are added to the milestone and they are given the needed `queue-*` and `scu-*` labels. PRs or issues that have a customer facing impact get the `meta-needs-release-notes` and if needed the `meta-needs-migration-guide` label. +### Call for Release Notes + +A call for release notes comments goes out to the developers. +Every developer creates a comment with the release notes for it on the relevant PRs or issues that are tagged with `meta-needs-release-notes` they implemented. + ### Deploy Pre Release Versions to Sandbox `-rcX` tags for the new version are created (The `Set as a pre-release` Checkbox is checked if created through github releases). @@ -60,6 +65,7 @@ This triggers the release pipeline where the Sandbox deployment is approved and A PR with the release notes for the new version is created in the [release-notes](https://github.com/fiskaltrust/release-notes) repo. All items in the release Milestone with the `meta-needs-release-notes` label have a related a section in the release notes and the relevant issue or PR is linked. +The release notes PR is compiled from the release notes comments from the developers. ### Internal Release Notes Review diff --git a/rfcs/0000-release-lifecycle.md b/rfcs/0000-release-lifecycle.md index 60c35711d..b2af0c65c 100644 --- a/rfcs/0000-release-lifecycle.md +++ b/rfcs/0000-release-lifecycle.md @@ -5,11 +5,23 @@ # Summary +This RFC proposes to change the middleware release process from developers pushing release out to the market teams pulling them in. +This is done by spliting it into two phases. +First, the **deployment phase** handled by the developers where the middleware is built and deployed to the servers but not yet publicly available. +And second, the **release phase** handled by the market teams where the release visibility is managed and the release is made public. + > One paragraph explanation of the feature. # Motivation -> Why are we doing this? What use cases does it support? What is the expected outcome? +The current release process is lacking a few things which this RFC aims so solve. + +* The possibility to End2End test a release before it being made public. +* The possibility to release something for internal testing that should not be made public. +* The possibility to release versions certain customers only. +* The possibility of prerelease versions that are not automatically used in production. +* The possibility for the market teams to greenlight releases. +* The possibility for broken releases to be "unreleased". # Guide-level explanation @@ -34,7 +46,7 @@ A staggered rollout and rollbacks are possible. At the end of the release phase the artifacts are listed and downloadable on all servers. The customer success teams are responsible for handling this part of the release process. -## Deployment +## Deployment Phase ### Versions @@ -57,7 +69,7 @@ Two prerelease identifiers are allowed: | nuget-package | nuget feed | | ❌ | | zip-package | packages server | | ❌ | -## Release +## Release Phase ### States @@ -82,9 +94,14 @@ In production the default state is _Unlisted_. A release can be set to _Published_ for all or just for some markets or accounts. A release can only be _Yanked_ everywhere at once. -### Unlisted +### Admins + +Unlisted releases are listed when logged in with an admin account. + +### Prerelease Versions -how to select unlisted releases +PreRelease versions only visible if you have checked the "Show PreReleases" checkmark in the portal version selection interface. +They are not selected by default when creating new component in the portal and they are not used by automatic processes such as templates. > Explain the proposal as if it was already included in the middleware and you were teaching it to a PosCreator. That generally means: > @@ -96,7 +113,7 @@ how to select unlisted releases # Reference-level explanation -Check where 1.3 version stuff is hardcoded. +TODO: Check where 1.3 version stuff is hardcoded. > This is the technical portion of the RFC. > Try to capture the broad implementation strategy, From cb0660920a43513fc5dd30f7a9ea0e0a76e6e4a8 Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Thu, 15 May 2025 10:31:09 +0200 Subject: [PATCH 08/24] add ui mockup --- rfcs/0000-release-lifecycle.md | 70 +++++++++++-------- .../0000-release-lifecycle-ui-mockup.svg | 5 ++ .../0000-release-lifecycle-ui-mockup.tldr | 1 + 3 files changed, 45 insertions(+), 31 deletions(-) create mode 100644 rfcs/assets/0000-release-lifecycle-ui-mockup.svg create mode 100644 rfcs/assets/0000-release-lifecycle-ui-mockup.tldr diff --git a/rfcs/0000-release-lifecycle.md b/rfcs/0000-release-lifecycle.md index b2af0c65c..4a1f6fae1 100644 --- a/rfcs/0000-release-lifecycle.md +++ b/rfcs/0000-release-lifecycle.md @@ -10,8 +10,6 @@ This is done by spliting it into two phases. First, the **deployment phase** handled by the developers where the middleware is built and deployed to the servers but not yet publicly available. And second, the **release phase** handled by the market teams where the release visibility is managed and the release is made public. -> One paragraph explanation of the feature. - # Motivation The current release process is lacking a few things which this RFC aims so solve. @@ -33,14 +31,13 @@ The middleware release process is split up into two main phases. The **deployment phase** is performed in the middleware github repository using issues, milestones, releases, actions, etc. At the end of the deployment phase all middleware artifacts that are to be released are deployed to the respective targets. (This includes nuget and zip packages, the release notes documents, etc..) -Most of the artifacts are not yet listed or downloadable anywhere. -This stage is described in the [`RELEASE.md`](../RELEASE.md) file of this repository. +Most of the artifacts are not yet listed or downloadable anywhere. The middleware development team is responsible for handling this part of the release process. The **release phase** is performed in the portal admin interface. It's purpose is to manage the publishing (releasing) of the artifacts that were deployed in the previous phase. At the begining of this phase the relesae (collection of artifacts related to a middleware version) is deployed on the servers but unlisted and not downloadable. -In the admin interface the release can be reviewed, approved, and published. +In the admin release console in the portal the release can be reviewed, approved, and published. A release can have complex visibility states for different environments (sandbox, production and the different markets). A staggered rollout and rollbacks are possible. At the end of the release phase the artifacts are listed and downloadable on all servers. @@ -60,56 +57,67 @@ Two prerelease identifiers are allowed: ### Artifacts -| artifact | target | notes | published in this stage | -|----------------|--------------------------|-----------------------------------------------------------------------------------|-------------------------| -| github tag | middleware github repo | Every released version has a tag that can be used to link the version to a commit | ✅ | -| github release | middleware github repo | This contains the autogenerated github release notes for this package | ✅ | -| release notes | release notes repository | | ❔ | -| nuget-package | packages server | | ❌ | -| nuget-package | nuget feed | | ❌ | -| zip-package | packages server | | ❌ | +| artifact | target | notes | published in this stage | +|----------------|------------------------------------|-----------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------| +| github tag | middleware github repo | Every released version has a tag that can be used to link the version to a commit | ✅ | +| github release | middleware github repo | This contains the autogenerated github release notes for this package | ✅ | +| release notes | release notes repository | | ✅ (With a disclaimer that the version will become available soon) | +| byodc | github container registry | | ✅ | +| cloudcashbox | cloudcashbox instances | | ❌ (The cloudcashbox release is not split up from the deployment phase this will be relased manually by the development team) | +| nuget-package | public devops nuget feed/nuget.org | | ❌ | +| nuget-package | sandbox packages v1 server | | ❌ | +| nuget-package | production packages v1 server | | ❌ | +| zip-package | sandbox packages v2 server | | ❌ | +| zip-package | sandbox packages v2 server | | ❌ | ## Release Phase ### States -The following states describe the lifecycle of a release within the portal admin interface. +The following states describe the lifecycle of a release within the portal release console. | State | Direction | Description | |-----------|-----------|---------------------------------------------------------| | Unlisted | ⬇️ | Artifacts are deployed and downloadable but not listed. | | Published | ↕️ | Artifacts are deployed, listed, and downloadable. | -| Yanked | ⬇️ | Artifacts are deployed and downloadable but not listed. | +| Yanked | ⏹️ | Artifacts are deployed and downloadable but not listed. | -An _Unlisted_ release can be set to _Published_ or _Yanked_. -A _Published_ release can be set to _Unlisted_ or _Yanked_. +An _Unlisted_ release can be set to _Published_ or _Yanked_. +A _Published_ release can be set to _Unlisted_ or _Yanked_. The state of a _Yanked_ release can not be changed anymore. #### Environment -The release state is managed separately for sandbox and production. -In sandbox the default state is _Published_. +The release state is managed separately for sandbox and production. +In sandbox the default state is _Published_. In production the default state is _Unlisted_. -A release can be set to _Published_ for all or just for some markets or accounts. +A release can be overwritten to _Published_ for specific markets or accounts. A release can only be _Yanked_ everywhere at once. -### Admins - -Unlisted releases are listed when logged in with an admin account. - ### Prerelease Versions PreRelease versions only visible if you have checked the "Show PreReleases" checkmark in the portal version selection interface. They are not selected by default when creating new component in the portal and they are not used by automatic processes such as templates. -> Explain the proposal as if it was already included in the middleware and you were teaching it to a PosCreator. That generally means: -> -> - Introducing new named concepts. -> - Explaining the feature, ideally through simple examples of solutions to concrete problems. -> - Explaining how users should *think* about the feature, and how it should impact the way they use the middleware. It should explain the impact as concretely as possible. -> - If applicable, provide sample error messages, deprecation warnings, or migration guidance. -> - If applicable, explain how this feature compares to similar existing features, and in what situations the user would use each one. +### Admins + +Admins have access to the Relese Coonsole in the portal where the release states can be managed. +The release state of all packages is overwritten to _Published_ for all admin accounts. + +### Release Console + +The Release Console is reachable through the market production portals. (Because sandbox releases are always _Public_ by default there's no need to manage those separately) +There's no separate for the different markets but the same console with the same state that's loaded in all markets. + +In the Release Console a table lists all deployed versions with their states in production as well as overrides and possibility to yank a release. + +The releases are grouped by version in the table. +The release can be published for whole group or separatley for for single packages (when it's not the same for all packages a `-` is shown in the group checkbox). +Overrides for markets and accounts can be set. +The release can be yanked through a separate confirmation dialog. It's then yanked in sandbox _and_ production. +![](./assets/0000-release-lifecycle-ui-mockup.svg) +(this is just a ui mockup to demonstrate the functionality ux and layout will be designed properly when implementing the RFC) # Reference-level explanation diff --git a/rfcs/assets/0000-release-lifecycle-ui-mockup.svg b/rfcs/assets/0000-release-lifecycle-ui-mockup.svg new file mode 100644 index 000000000..c91e535d0 --- /dev/null +++ b/rfcs/assets/0000-release-lifecycle-ui-mockup.svg @@ -0,0 +1,5 @@ +

v vX.Y.Z

-

. . .

fiskaltrust.Middleware.Queue.XXX

. . .

fiskaltrust.Middleware.SCU.DE.XXX

. . .

fiskaltrust.Middleware.Queue.YYY

. . .

> vX.Y.Z

. . .

Public for Markets: at

Publci for Accounts: a@b.c, d@e.f

. . .

Set Market Overrides


Set Account Overrides


Yank release

Public

x

Public

Public

Public

x

Public

\ No newline at end of file diff --git a/rfcs/assets/0000-release-lifecycle-ui-mockup.tldr b/rfcs/assets/0000-release-lifecycle-ui-mockup.tldr new file mode 100644 index 000000000..d38df79e9 --- /dev/null +++ b/rfcs/assets/0000-release-lifecycle-ui-mockup.tldr @@ -0,0 +1 @@ +{"tldrawFileFormatVersion":1,"schema":{"schemaVersion":2,"sequences":{"com.tldraw.store":4,"com.tldraw.asset":1,"com.tldraw.camera":1,"com.tldraw.document":2,"com.tldraw.instance":25,"com.tldraw.instance_page_state":5,"com.tldraw.page":1,"com.tldraw.instance_presence":6,"com.tldraw.pointer":1,"com.tldraw.shape":4,"com.tldraw.asset.bookmark":2,"com.tldraw.asset.image":5,"com.tldraw.asset.video":5,"com.tldraw.shape.group":0,"com.tldraw.shape.text":3,"com.tldraw.shape.bookmark":2,"com.tldraw.shape.draw":2,"com.tldraw.shape.geo":10,"com.tldraw.shape.note":9,"com.tldraw.shape.line":5,"com.tldraw.shape.frame":1,"com.tldraw.shape.arrow":6,"com.tldraw.shape.highlight":1,"com.tldraw.shape.embed":4,"com.tldraw.shape.image":5,"com.tldraw.shape.video":3,"com.tldraw.binding.arrow":1}},"records":[{"id":"pointer:pointer","typeName":"pointer","x":-27.658002148437504,"y":46,"lastActivityTimestamp":1747297745236,"meta":{}},{"x":413,"y":141,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:XkQtMPyiG6Dz6bNIdQF5j","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"-"}]}]}},"parentId":"page:page","index":"a52nw","typeName":"shape"},{"x":412,"y":469,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:lAz34OhhZ_YMlS3houpHV","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"x"}]}]}},"parentId":"page:page","index":"ak0uG","typeName":"shape"},{"x":476.3419978515625,"y":392,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:PH1JBQhAjGj8t1qifhsmQ","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"aj7Zq","typeName":"shape"},{"x":31.34199785156261,"y":114,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:-jcpR8Ip_kb47FtSy9OVf","type":"geo","props":{"w":953.6580021484374,"h":461,"geo":"rectangle","color":"light-blue","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph"}]}},"parentId":"page:page","index":"a1","typeName":"shape"},{"x":140.6580021484375,"y":0,"z":1,"meta":{},"id":"camera:page:page","typeName":"camera"},{"x":722.3419978515625,"y":429,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:zcrrdczYQuunIxYTyNDw5","type":"text","props":{"color":"grey","size":"s","w":205.453125,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Set Market Overrides"}]},{"type":"paragraph","attrs":{"dir":"auto"}},{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Set Account Overrides"}]},{"type":"paragraph","attrs":{"dir":"auto"}},{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Yank release"}]}]}},"parentId":"page:page","index":"ac37G","typeName":"shape"},{"x":477.3419978515625,"y":253,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:VKCj8fe4aLsG_-w0UutIV","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"af9ss","typeName":"shape"},{"x":711.3419978515625,"y":370,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:m__Qxu07bOy8xVfJfHdby","type":"geo","props":{"w":242,"h":191,"geo":"rectangle","color":"grey","labelColor":"black","fill":"solid","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph"}]}},"parentId":"page:page","index":"aaC0g","typeName":"shape"},{"x":478.3419978515625,"y":319,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:YcGM-S6udlzyjPx80_Hnz","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"ah4Tw","typeName":"shape"},{"editingShapeId":null,"croppingShapeId":null,"selectedShapeIds":[],"hoveredShapeId":null,"erasingShapeIds":[],"hintingShapeIds":[],"focusedGroupId":null,"meta":{},"id":"instance_page_state:page:page","pageId":"page:page","typeName":"instance_page_state"},{"x":71,"y":386,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:yFj1mrtMKb8FW7wOudORe","type":"text","props":{"color":"black","size":"s","w":318.875,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"fiskaltrust.Middleware.SCU.DE.XXX"}]}]}},"parentId":"page:page","index":"aF4UG","typeName":"shape"},{"x":911,"y":149,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:v8fjlKWUXVeybLp3jkgVW","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"a8BkM","typeName":"shape"},{"x":63.341997851562496,"y":214,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:I1pfswR9odtZ_OUT4kVjD","type":"geo","props":{"w":889,"h":1,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph"}]}},"parentId":"page:page","index":"aR8Gp","typeName":"shape"},{"x":72,"y":155,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:ZwmXd3IwBR-O6Ae5_y94m","type":"text","props":{"color":"black","size":"m","w":89.046875,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"v vX.Y.Z"}]}]}},"parentId":"page:page","index":"a36yB","typeName":"shape"},{"x":62,"y":479,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:I13155yz_yOlJNVaUeFnL","type":"text","props":{"color":"black","size":"m","w":91.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"> vX.Y.Z"}]}]}},"parentId":"page:page","index":"aTBcC","typeName":"shape"},{"x":908,"y":308,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:ctLFKgqxSxNn031-jBVKG","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"aKB6P","typeName":"shape"},{"x":909,"y":371,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:cJNA_23NHdn2pXbfY0iis","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"aQAhG","typeName":"shape"},{"x":482.3419978515625,"y":487,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:VUdd1Wi2ioX4aq8EMswlQ","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"alAKI","typeName":"shape"},{"x":63,"y":255,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:kkeH_z-PwoUpp6r53X9_1","type":"text","props":{"color":"black","size":"s","w":317.203125,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"fiskaltrust.Middleware.Queue.XXX"}]}]}},"parentId":"page:page","index":"a9055","typeName":"shape"},{"x":411,"y":237,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:Ku9xD2JjVdapSYlUygOh4","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"x"}]}]}},"parentId":"page:page","index":"ae2YW","typeName":"shape"},{"x":905,"y":487,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:Pey8c_-f6WLL0K4xREF-m","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"aY2HF","typeName":"shape"},{"x":410,"y":306,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:f7ecKJsQEgUOZkiC9wOkx","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":" "}]}]}},"parentId":"page:page","index":"ag65e","typeName":"shape"},{"x":906,"y":379,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:L14dY1pX3K-inlNojcqZu","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"ab6uV","typeName":"shape"},{"x":42.999999999999886,"y":460,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:7jw7lZ_VIWPhJl5DAc6f1","type":"geo","props":{"w":929.0000000000001,"h":80,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"}}]}},"parentId":"page:page","index":"aS5WQ","typeName":"shape"},{"x":483.3419978515625,"y":159,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:4sySsz_kjmNQoJ4RwwPAn","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"ad2Fa","typeName":"shape"},{"meta":{},"id":"page:page","name":"Page 1","index":"a1","typeName":"page"},{"gridSize":10,"name":"","meta":{},"id":"document:document","typeName":"document"},{"followingUserId":null,"opacityForNextShape":1,"stylesForNextShape":{"tldraw:geo":"rectangle","tldraw:color":"black","tldraw:arrowheadEnd":"none","tldraw:arrowKind":"elbow","tldraw:size":"s","tldraw:fill":"solid"},"brush":null,"scribbles":[],"cursor":{"type":"default","rotation":0},"isFocusMode":false,"exportBackground":true,"isDebugMode":false,"isToolLocked":false,"screenBounds":{"x":0,"y":0,"w":1696,"h":1028},"insets":[false,false,false,false],"zoomBrush":null,"isGridMode":false,"isPenMode":false,"chatMessage":"","isChatting":false,"highlightedUserIds":[],"isFocused":true,"devicePixelRatio":1,"isCoarsePointer":false,"isHoveringCanvas":false,"openMenus":[],"isChangingStyle":false,"isReadonly":false,"meta":{},"duplicateProps":null,"id":"instance:instance","currentPageId":"page:page","typeName":"instance"},{"x":912,"y":228,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:O7qyR_9O6wsKTBcX88R5G","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"aE5wC","typeName":"shape"},{"x":44.999999999999886,"y":125,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:pBbh6IMd0FVtYKnaeMixh","type":"geo","props":{"w":929.0000000000001,"h":313,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"}}]}},"parentId":"page:page","index":"a23k7","typeName":"shape"},{"x":411,"y":372,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:ROUYB6EnlVi5MoXUW9u5M","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":" "}]}]}},"parentId":"page:page","index":"ai5D1","typeName":"shape"},{"x":69,"y":316,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:5XLhkWaWgOvAuw5xSAkA5","type":"text","props":{"color":"black","size":"s","w":315.015625,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"fiskaltrust.Middleware.Queue.YYY"}]}]}},"parentId":"page:page","index":"aL95i","typeName":"shape"},{"x":567.3419978515625,"y":300,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:GmcumSdsfIRHz6PFIWXeK","type":"text","props":{"color":"grey","size":"s","w":302.65625,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public for Markets: at"}]},{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Publci for Accounts: a@b.c, d@e.f"}]}]}},"parentId":"page:page","index":"aZB5h","typeName":"shape"}]} \ No newline at end of file From 4f49d825ede830a9c78505632d8819cf20734e97 Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Thu, 15 May 2025 10:56:05 +0200 Subject: [PATCH 09/24] clarifications --- rfcs/0000-release-lifecycle.md | 73 +++++++++++++++++++--------------- 1 file changed, 42 insertions(+), 31 deletions(-) diff --git a/rfcs/0000-release-lifecycle.md b/rfcs/0000-release-lifecycle.md index 4a1f6fae1..f9995f4cb 100644 --- a/rfcs/0000-release-lifecycle.md +++ b/rfcs/0000-release-lifecycle.md @@ -45,7 +45,7 @@ The customer success teams are responsible for handling this part of the release ## Deployment Phase -### Versions +### Versioning Scheme The middleware versions use [SemVer v1](https://semver.org/spec/v1.0.0.html) for it's version structure conventions and a modified version of [0ver](https://0ver.org) (called "1ver") for it's semantic conventions. @@ -57,18 +57,19 @@ Two prerelease identifiers are allowed: ### Artifacts -| artifact | target | notes | published in this stage | -|----------------|------------------------------------|-----------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------| -| github tag | middleware github repo | Every released version has a tag that can be used to link the version to a commit | ✅ | -| github release | middleware github repo | This contains the autogenerated github release notes for this package | ✅ | -| release notes | release notes repository | | ✅ (With a disclaimer that the version will become available soon) | -| byodc | github container registry | | ✅ | -| cloudcashbox | cloudcashbox instances | | ❌ (The cloudcashbox release is not split up from the deployment phase this will be relased manually by the development team) | -| nuget-package | public devops nuget feed/nuget.org | | ❌ | -| nuget-package | sandbox packages v1 server | | ❌ | -| nuget-package | production packages v1 server | | ❌ | -| zip-package | sandbox packages v2 server | | ❌ | -| zip-package | sandbox packages v2 server | | ❌ | +| artifact | target | notes | published in this stage | +|------------------|------------------------------------|-----------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------| +| github tag | middleware github repo | Every released version has a tag that can be used to link the version to a commit | ✅ | +| github release | middleware github repo | This contains the autogenerated github release notes for this package | ✅ | +| release notes | release notes repository | | ✅ (With a disclaimer that the version will become available soon) | +| byodc | github container registry | | ✅ | +| cloudcashbox | cloudcashbox instances | | ❌ (The cloudcashbox does not support the release phase it is relased manually by the development team) | +| android launcher | google play store | | ❌ (The android launcher does not support the release phase it is relased manually by the development team) | +| nuget package | public devops nuget feed/nuget.org | | ❌ | +| nuget package | sandbox packages v1 server | | ❌ | +| nuget package | production packages v1 server | | ❌ | +| zip package | sandbox packages v2 server | | ❌ | +| zip package | sandbox packages v2 server | | ❌ | ## Release Phase @@ -86,7 +87,7 @@ An _Unlisted_ release can be set to _Published_ or _Yanked_. A _Published_ release can be set to _Unlisted_ or _Yanked_. The state of a _Yanked_ release can not be changed anymore. -#### Environment +### Environments The release state is managed separately for sandbox and production. In sandbox the default state is _Published_. @@ -97,9 +98,16 @@ A release can only be _Yanked_ everywhere at once. ### Prerelease Versions -PreRelease versions only visible if you have checked the "Show PreReleases" checkmark in the portal version selection interface. +PreRelease versions only visible if you have checked the "Show prereleases" checkmark in the portal version selection interface. They are not selected by default when creating new component in the portal and they are not used by automatic processes such as templates. +### Version Tracability + +Every deployed version has a related tag in the middleware repository. +Every public version should have a release notes post at `https://docs.fiskaltrust.cloud/changelog/middleware/`. + +When showing the version of a package we can link directly to the github repository or release notes of said release. + ### Admins Admins have access to the Relese Coonsole in the portal where the release states can be managed. @@ -121,7 +129,17 @@ The release can be yanked through a separate confirmation dialog. It's then yank # Reference-level explanation -TODO: Check where 1.3 version stuff is hardcoded. +## Deployment Process + +The process of the **deployment phase** is described in [`RELEASE.md`](../README.md). + +## Storage + +## API + +## Release Console + +## Packages Servers > This is the technical portion of the RFC. > Try to capture the broad implementation strategy, @@ -145,6 +163,10 @@ TODO: Check where 1.3 version stuff is hardcoded. # Drawbacks +The Relese Console increases the complexity of the release process and the number of people wo need to get involved. + +This increases the error surface of the packages servers. + > Why should we *not* do this? # Rationale and alternatives @@ -154,21 +176,6 @@ TODO: Check where 1.3 version stuff is hardcoded. > - What objections immediately spring to mind? How have you addressed them? > - What is the impact of not doing this? -# \[Optional\] Prior art - -> Discuss prior art, both the good and the bad, in relation to this proposal. -> A few examples of what this can include are: -> -> - Does this feature exist in other markets and what experience have their community had? -> - Does this feature exist in other PosSystems and what experience have their community had? -> - Papers: Are there any published papers or great posts that discuss this? -> If you have some relevant papers to refer to, this can serve as a more detailed theoretical background. -> -> This section is intended to encourage you as an author to think about the lessons from other markets and projects, provide readers of your RFC with a fuller picture. -> If there is no prior art, that is fine - your ideas are interesting to us whether they are brand new or not. -> -> Note that while precedent set by other projects and markets is some motivation, it does not on its own motivate an RFC. - # Unresolved questions > - What parts of the design do you expect to resolve through the RFC process before this gets merged? @@ -177,6 +184,10 @@ TODO: Check where 1.3 version stuff is hardcoded. # \[Optional\] Future possibilities +## Versioning Scheme + +TODO: Check where 1.3 version stuff is hardcoded. + > Think about what the natural extension and evolution of your proposal would be and how it would affect the middleware and ecosystem as a whole in a holistic way. > Try to use this section as a tool to more fully consider all possible interactions with the project in your proposal. > Also consider how this all fits into the roadmap for the project and of the relevant sub-team. From 8d6bbd8474d0fb8d181e020c1aee6082aac2491f Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Thu, 15 May 2025 12:04:45 +0200 Subject: [PATCH 10/24] update tracking --- ...000-release-lifecycle.md => 0441-release-lifecycle.md} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename rfcs/{0000-release-lifecycle.md => 0441-release-lifecycle.md} (97%) diff --git a/rfcs/0000-release-lifecycle.md b/rfcs/0441-release-lifecycle.md similarity index 97% rename from rfcs/0000-release-lifecycle.md rename to rfcs/0441-release-lifecycle.md index f9995f4cb..8a5b22d6d 100644 --- a/rfcs/0000-release-lifecycle.md +++ b/rfcs/0441-release-lifecycle.md @@ -1,7 +1,7 @@ -- Feature Name: (fill me in with a unique ident, `release_lifecycle`) -- Start Date: (fill me in with today's date, 2025-05-08) -- RFC PR: [fiskaltrust/middleware#0000](https://github.com/fiskaltrust/middleware/pull/0000) -- Tracking Issue: [fiskaltrust/middleware#0000](https://github.com/fiskaltrust/middleware/issues/0000) +- Feature Name: `release_lifecycle` +- Start Date: 2025-05-08 +- RFC PR: [fiskaltrust/middleware#441](https://github.com/fiskaltrust/middleware/pull/441) +- Tracking Issue: [fiskaltrust/engineering#777](https://github.com/fiskaltrust/engineering/issues/777) # Summary From 53c772ef3f73f31df2015714dd159059dadbede0 Mon Sep 17 00:00:00 2001 From: Paul Volavsek <24523184+volllly@users.noreply.github.com> Date: Wed, 18 Jun 2025 12:29:26 +0200 Subject: [PATCH 11/24] Update rfcs/0441-release-lifecycle.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- rfcs/0441-release-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/0441-release-lifecycle.md b/rfcs/0441-release-lifecycle.md index 8a5b22d6d..49328af58 100644 --- a/rfcs/0441-release-lifecycle.md +++ b/rfcs/0441-release-lifecycle.md @@ -6,7 +6,7 @@ # Summary This RFC proposes to change the middleware release process from developers pushing release out to the market teams pulling them in. -This is done by spliting it into two phases. +This is done by splitting it into two phases. First, the **deployment phase** handled by the developers where the middleware is built and deployed to the servers but not yet publicly available. And second, the **release phase** handled by the market teams where the release visibility is managed and the release is made public. From ff3e7448bf1365ddefb05205c69fa5af332c6f11 Mon Sep 17 00:00:00 2001 From: Paul Volavsek <24523184+volllly@users.noreply.github.com> Date: Wed, 18 Jun 2025 12:29:37 +0200 Subject: [PATCH 12/24] Update rfcs/0441-release-lifecycle.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- rfcs/0441-release-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/0441-release-lifecycle.md b/rfcs/0441-release-lifecycle.md index 49328af58..bf2747f2d 100644 --- a/rfcs/0441-release-lifecycle.md +++ b/rfcs/0441-release-lifecycle.md @@ -12,7 +12,7 @@ And second, the **release phase** handled by the market teams where the release # Motivation -The current release process is lacking a few things which this RFC aims so solve. +The current release process is lacking a few things which this RFC aims to solve. * The possibility to End2End test a release before it being made public. * The possibility to release something for internal testing that should not be made public. From 61d9b878279ee166b87758ecd3e639732aed19a5 Mon Sep 17 00:00:00 2001 From: Paul Volavsek <24523184+volllly@users.noreply.github.com> Date: Wed, 18 Jun 2025 12:29:46 +0200 Subject: [PATCH 13/24] Update rfcs/0441-release-lifecycle.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- rfcs/0441-release-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/0441-release-lifecycle.md b/rfcs/0441-release-lifecycle.md index bf2747f2d..64b41bc61 100644 --- a/rfcs/0441-release-lifecycle.md +++ b/rfcs/0441-release-lifecycle.md @@ -36,7 +36,7 @@ The middleware development team is responsible for handling this part of the rel The **release phase** is performed in the portal admin interface. It's purpose is to manage the publishing (releasing) of the artifacts that were deployed in the previous phase. -At the begining of this phase the relesae (collection of artifacts related to a middleware version) is deployed on the servers but unlisted and not downloadable. +At the beginning of this phase the release (collection of artifacts related to a middleware version) is deployed on the servers but unlisted and not downloadable. In the admin release console in the portal the release can be reviewed, approved, and published. A release can have complex visibility states for different environments (sandbox, production and the different markets). A staggered rollout and rollbacks are possible. From 27b4686386a29b3b9dd33b7209f8f31303d11443 Mon Sep 17 00:00:00 2001 From: Paul Volavsek <24523184+volllly@users.noreply.github.com> Date: Wed, 18 Jun 2025 12:29:53 +0200 Subject: [PATCH 14/24] Update rfcs/0441-release-lifecycle.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- rfcs/0441-release-lifecycle.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/0441-release-lifecycle.md b/rfcs/0441-release-lifecycle.md index 64b41bc61..aef78391f 100644 --- a/rfcs/0441-release-lifecycle.md +++ b/rfcs/0441-release-lifecycle.md @@ -110,7 +110,7 @@ When showing the version of a package we can link directly to the github reposit ### Admins -Admins have access to the Relese Coonsole in the portal where the release states can be managed. +Admins have access to the Release Console in the portal where the release states can be managed. The release state of all packages is overwritten to _Published_ for all admin accounts. ### Release Console From 1983b88ceae458bd9e3c3e0ad9630d2dd4335811 Mon Sep 17 00:00:00 2001 From: Paul Volavsek <24523184+volllly@users.noreply.github.com> Date: Wed, 18 Jun 2025 12:31:42 +0200 Subject: [PATCH 15/24] Update 0441-release-lifecycle.md --- rfcs/0441-release-lifecycle.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/rfcs/0441-release-lifecycle.md b/rfcs/0441-release-lifecycle.md index aef78391f..fce05c705 100644 --- a/rfcs/0441-release-lifecycle.md +++ b/rfcs/0441-release-lifecycle.md @@ -69,7 +69,6 @@ Two prerelease identifiers are allowed: | nuget package | sandbox packages v1 server | | ❌ | | nuget package | production packages v1 server | | ❌ | | zip package | sandbox packages v2 server | | ❌ | -| zip package | sandbox packages v2 server | | ❌ | ## Release Phase @@ -124,7 +123,7 @@ The releases are grouped by version in the table. The release can be published for whole group or separatley for for single packages (when it's not the same for all packages a `-` is shown in the group checkbox). Overrides for markets and accounts can be set. The release can be yanked through a separate confirmation dialog. It's then yanked in sandbox _and_ production. -![](./assets/0000-release-lifecycle-ui-mockup.svg) +![](./assets/0441-release-lifecycle-ui-mockup.svg) (this is just a ui mockup to demonstrate the functionality ux and layout will be designed properly when implementing the RFC) # Reference-level explanation @@ -196,4 +195,4 @@ TODO: Check where 1.3 version stuff is hardcoded. > > Note that having something written down in the future-possibilities section is not a reason to accept the current or a future RFC; > such notes should be in the section on motivation or rationale in this or subsequent RFCs. -> The section merely provides additional information. \ No newline at end of file +> The section merely provides additional information. From 8a7ce0d8885db646e1573ffee44694f1b9628057 Mon Sep 17 00:00:00 2001 From: Paul Volavsek <24523184+volllly@users.noreply.github.com> Date: Wed, 18 Jun 2025 12:31:59 +0200 Subject: [PATCH 16/24] Rename 0000-release-lifecycle-ui-mockup.svg to 0441-release-lifecycle-ui-mockup.svg --- ...cycle-ui-mockup.svg => 0441-release-lifecycle-ui-mockup.svg} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename rfcs/assets/{0000-release-lifecycle-ui-mockup.svg => 0441-release-lifecycle-ui-mockup.svg} (99%) diff --git a/rfcs/assets/0000-release-lifecycle-ui-mockup.svg b/rfcs/assets/0441-release-lifecycle-ui-mockup.svg similarity index 99% rename from rfcs/assets/0000-release-lifecycle-ui-mockup.svg rename to rfcs/assets/0441-release-lifecycle-ui-mockup.svg index c91e535d0..1ad20ffdf 100644 --- a/rfcs/assets/0000-release-lifecycle-ui-mockup.svg +++ b/rfcs/assets/0441-release-lifecycle-ui-mockup.svg @@ -2,4 +2,4 @@ font-family: "tldraw_draw"; font-weight: normal; src: url("data:font/woff2;base64,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") format(woff2); -}

v vX.Y.Z

-

. . .

fiskaltrust.Middleware.Queue.XXX

. . .

fiskaltrust.Middleware.SCU.DE.XXX

. . .

fiskaltrust.Middleware.Queue.YYY

. . .

> vX.Y.Z

. . .

Public for Markets: at

Publci for Accounts: a@b.c, d@e.f

. . .

Set Market Overrides


Set Account Overrides


Yank release

Public

x

Public

Public

Public

x

Public

\ No newline at end of file +}

v vX.Y.Z

-

. . .

fiskaltrust.Middleware.Queue.XXX

. . .

fiskaltrust.Middleware.SCU.DE.XXX

. . .

fiskaltrust.Middleware.Queue.YYY

. . .

> vX.Y.Z

. . .

Public for Markets: at

Publci for Accounts: a@b.c, d@e.f

. . .

Set Market Overrides


Set Account Overrides


Yank release

Public

x

Public

Public

Public

x

Public

From 12eff7b9066771781fd54265f7bf05561ea2f870 Mon Sep 17 00:00:00 2001 From: Paul Volavsek <24523184+volllly@users.noreply.github.com> Date: Wed, 18 Jun 2025 12:32:11 +0200 Subject: [PATCH 17/24] Rename 0000-release-lifecycle-ui-mockup.tldr to 0441-release-lifecycle-ui-mockup.tldr --- ...cle-ui-mockup.tldr => 0441-release-lifecycle-ui-mockup.tldr} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename rfcs/assets/{0000-release-lifecycle-ui-mockup.tldr => 0441-release-lifecycle-ui-mockup.tldr} (99%) diff --git a/rfcs/assets/0000-release-lifecycle-ui-mockup.tldr b/rfcs/assets/0441-release-lifecycle-ui-mockup.tldr similarity index 99% rename from rfcs/assets/0000-release-lifecycle-ui-mockup.tldr rename to rfcs/assets/0441-release-lifecycle-ui-mockup.tldr index d38df79e9..31a9883e2 100644 --- a/rfcs/assets/0000-release-lifecycle-ui-mockup.tldr +++ b/rfcs/assets/0441-release-lifecycle-ui-mockup.tldr @@ -1 +1 @@ -{"tldrawFileFormatVersion":1,"schema":{"schemaVersion":2,"sequences":{"com.tldraw.store":4,"com.tldraw.asset":1,"com.tldraw.camera":1,"com.tldraw.document":2,"com.tldraw.instance":25,"com.tldraw.instance_page_state":5,"com.tldraw.page":1,"com.tldraw.instance_presence":6,"com.tldraw.pointer":1,"com.tldraw.shape":4,"com.tldraw.asset.bookmark":2,"com.tldraw.asset.image":5,"com.tldraw.asset.video":5,"com.tldraw.shape.group":0,"com.tldraw.shape.text":3,"com.tldraw.shape.bookmark":2,"com.tldraw.shape.draw":2,"com.tldraw.shape.geo":10,"com.tldraw.shape.note":9,"com.tldraw.shape.line":5,"com.tldraw.shape.frame":1,"com.tldraw.shape.arrow":6,"com.tldraw.shape.highlight":1,"com.tldraw.shape.embed":4,"com.tldraw.shape.image":5,"com.tldraw.shape.video":3,"com.tldraw.binding.arrow":1}},"records":[{"id":"pointer:pointer","typeName":"pointer","x":-27.658002148437504,"y":46,"lastActivityTimestamp":1747297745236,"meta":{}},{"x":413,"y":141,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:XkQtMPyiG6Dz6bNIdQF5j","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"-"}]}]}},"parentId":"page:page","index":"a52nw","typeName":"shape"},{"x":412,"y":469,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:lAz34OhhZ_YMlS3houpHV","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"x"}]}]}},"parentId":"page:page","index":"ak0uG","typeName":"shape"},{"x":476.3419978515625,"y":392,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:PH1JBQhAjGj8t1qifhsmQ","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"aj7Zq","typeName":"shape"},{"x":31.34199785156261,"y":114,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:-jcpR8Ip_kb47FtSy9OVf","type":"geo","props":{"w":953.6580021484374,"h":461,"geo":"rectangle","color":"light-blue","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph"}]}},"parentId":"page:page","index":"a1","typeName":"shape"},{"x":140.6580021484375,"y":0,"z":1,"meta":{},"id":"camera:page:page","typeName":"camera"},{"x":722.3419978515625,"y":429,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:zcrrdczYQuunIxYTyNDw5","type":"text","props":{"color":"grey","size":"s","w":205.453125,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Set Market Overrides"}]},{"type":"paragraph","attrs":{"dir":"auto"}},{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Set Account Overrides"}]},{"type":"paragraph","attrs":{"dir":"auto"}},{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Yank release"}]}]}},"parentId":"page:page","index":"ac37G","typeName":"shape"},{"x":477.3419978515625,"y":253,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:VKCj8fe4aLsG_-w0UutIV","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"af9ss","typeName":"shape"},{"x":711.3419978515625,"y":370,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:m__Qxu07bOy8xVfJfHdby","type":"geo","props":{"w":242,"h":191,"geo":"rectangle","color":"grey","labelColor":"black","fill":"solid","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph"}]}},"parentId":"page:page","index":"aaC0g","typeName":"shape"},{"x":478.3419978515625,"y":319,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:YcGM-S6udlzyjPx80_Hnz","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"ah4Tw","typeName":"shape"},{"editingShapeId":null,"croppingShapeId":null,"selectedShapeIds":[],"hoveredShapeId":null,"erasingShapeIds":[],"hintingShapeIds":[],"focusedGroupId":null,"meta":{},"id":"instance_page_state:page:page","pageId":"page:page","typeName":"instance_page_state"},{"x":71,"y":386,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:yFj1mrtMKb8FW7wOudORe","type":"text","props":{"color":"black","size":"s","w":318.875,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"fiskaltrust.Middleware.SCU.DE.XXX"}]}]}},"parentId":"page:page","index":"aF4UG","typeName":"shape"},{"x":911,"y":149,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:v8fjlKWUXVeybLp3jkgVW","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"a8BkM","typeName":"shape"},{"x":63.341997851562496,"y":214,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:I1pfswR9odtZ_OUT4kVjD","type":"geo","props":{"w":889,"h":1,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph"}]}},"parentId":"page:page","index":"aR8Gp","typeName":"shape"},{"x":72,"y":155,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:ZwmXd3IwBR-O6Ae5_y94m","type":"text","props":{"color":"black","size":"m","w":89.046875,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"v vX.Y.Z"}]}]}},"parentId":"page:page","index":"a36yB","typeName":"shape"},{"x":62,"y":479,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:I13155yz_yOlJNVaUeFnL","type":"text","props":{"color":"black","size":"m","w":91.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"> vX.Y.Z"}]}]}},"parentId":"page:page","index":"aTBcC","typeName":"shape"},{"x":908,"y":308,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:ctLFKgqxSxNn031-jBVKG","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"aKB6P","typeName":"shape"},{"x":909,"y":371,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:cJNA_23NHdn2pXbfY0iis","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"aQAhG","typeName":"shape"},{"x":482.3419978515625,"y":487,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:VUdd1Wi2ioX4aq8EMswlQ","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"alAKI","typeName":"shape"},{"x":63,"y":255,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:kkeH_z-PwoUpp6r53X9_1","type":"text","props":{"color":"black","size":"s","w":317.203125,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"fiskaltrust.Middleware.Queue.XXX"}]}]}},"parentId":"page:page","index":"a9055","typeName":"shape"},{"x":411,"y":237,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:Ku9xD2JjVdapSYlUygOh4","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"x"}]}]}},"parentId":"page:page","index":"ae2YW","typeName":"shape"},{"x":905,"y":487,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:Pey8c_-f6WLL0K4xREF-m","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"aY2HF","typeName":"shape"},{"x":410,"y":306,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:f7ecKJsQEgUOZkiC9wOkx","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":" "}]}]}},"parentId":"page:page","index":"ag65e","typeName":"shape"},{"x":906,"y":379,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:L14dY1pX3K-inlNojcqZu","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"ab6uV","typeName":"shape"},{"x":42.999999999999886,"y":460,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:7jw7lZ_VIWPhJl5DAc6f1","type":"geo","props":{"w":929.0000000000001,"h":80,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"}}]}},"parentId":"page:page","index":"aS5WQ","typeName":"shape"},{"x":483.3419978515625,"y":159,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:4sySsz_kjmNQoJ4RwwPAn","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"ad2Fa","typeName":"shape"},{"meta":{},"id":"page:page","name":"Page 1","index":"a1","typeName":"page"},{"gridSize":10,"name":"","meta":{},"id":"document:document","typeName":"document"},{"followingUserId":null,"opacityForNextShape":1,"stylesForNextShape":{"tldraw:geo":"rectangle","tldraw:color":"black","tldraw:arrowheadEnd":"none","tldraw:arrowKind":"elbow","tldraw:size":"s","tldraw:fill":"solid"},"brush":null,"scribbles":[],"cursor":{"type":"default","rotation":0},"isFocusMode":false,"exportBackground":true,"isDebugMode":false,"isToolLocked":false,"screenBounds":{"x":0,"y":0,"w":1696,"h":1028},"insets":[false,false,false,false],"zoomBrush":null,"isGridMode":false,"isPenMode":false,"chatMessage":"","isChatting":false,"highlightedUserIds":[],"isFocused":true,"devicePixelRatio":1,"isCoarsePointer":false,"isHoveringCanvas":false,"openMenus":[],"isChangingStyle":false,"isReadonly":false,"meta":{},"duplicateProps":null,"id":"instance:instance","currentPageId":"page:page","typeName":"instance"},{"x":912,"y":228,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:O7qyR_9O6wsKTBcX88R5G","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"aE5wC","typeName":"shape"},{"x":44.999999999999886,"y":125,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:pBbh6IMd0FVtYKnaeMixh","type":"geo","props":{"w":929.0000000000001,"h":313,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"}}]}},"parentId":"page:page","index":"a23k7","typeName":"shape"},{"x":411,"y":372,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:ROUYB6EnlVi5MoXUW9u5M","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":" "}]}]}},"parentId":"page:page","index":"ai5D1","typeName":"shape"},{"x":69,"y":316,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:5XLhkWaWgOvAuw5xSAkA5","type":"text","props":{"color":"black","size":"s","w":315.015625,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"fiskaltrust.Middleware.Queue.YYY"}]}]}},"parentId":"page:page","index":"aL95i","typeName":"shape"},{"x":567.3419978515625,"y":300,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:GmcumSdsfIRHz6PFIWXeK","type":"text","props":{"color":"grey","size":"s","w":302.65625,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public for Markets: at"}]},{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Publci for Accounts: a@b.c, d@e.f"}]}]}},"parentId":"page:page","index":"aZB5h","typeName":"shape"}]} \ No newline at end of file +{"tldrawFileFormatVersion":1,"schema":{"schemaVersion":2,"sequences":{"com.tldraw.store":4,"com.tldraw.asset":1,"com.tldraw.camera":1,"com.tldraw.document":2,"com.tldraw.instance":25,"com.tldraw.instance_page_state":5,"com.tldraw.page":1,"com.tldraw.instance_presence":6,"com.tldraw.pointer":1,"com.tldraw.shape":4,"com.tldraw.asset.bookmark":2,"com.tldraw.asset.image":5,"com.tldraw.asset.video":5,"com.tldraw.shape.group":0,"com.tldraw.shape.text":3,"com.tldraw.shape.bookmark":2,"com.tldraw.shape.draw":2,"com.tldraw.shape.geo":10,"com.tldraw.shape.note":9,"com.tldraw.shape.line":5,"com.tldraw.shape.frame":1,"com.tldraw.shape.arrow":6,"com.tldraw.shape.highlight":1,"com.tldraw.shape.embed":4,"com.tldraw.shape.image":5,"com.tldraw.shape.video":3,"com.tldraw.binding.arrow":1}},"records":[{"id":"pointer:pointer","typeName":"pointer","x":-27.658002148437504,"y":46,"lastActivityTimestamp":1747297745236,"meta":{}},{"x":413,"y":141,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:XkQtMPyiG6Dz6bNIdQF5j","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"-"}]}]}},"parentId":"page:page","index":"a52nw","typeName":"shape"},{"x":412,"y":469,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:lAz34OhhZ_YMlS3houpHV","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"x"}]}]}},"parentId":"page:page","index":"ak0uG","typeName":"shape"},{"x":476.3419978515625,"y":392,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:PH1JBQhAjGj8t1qifhsmQ","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"aj7Zq","typeName":"shape"},{"x":31.34199785156261,"y":114,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:-jcpR8Ip_kb47FtSy9OVf","type":"geo","props":{"w":953.6580021484374,"h":461,"geo":"rectangle","color":"light-blue","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph"}]}},"parentId":"page:page","index":"a1","typeName":"shape"},{"x":140.6580021484375,"y":0,"z":1,"meta":{},"id":"camera:page:page","typeName":"camera"},{"x":722.3419978515625,"y":429,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:zcrrdczYQuunIxYTyNDw5","type":"text","props":{"color":"grey","size":"s","w":205.453125,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Set Market Overrides"}]},{"type":"paragraph","attrs":{"dir":"auto"}},{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Set Account Overrides"}]},{"type":"paragraph","attrs":{"dir":"auto"}},{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Yank release"}]}]}},"parentId":"page:page","index":"ac37G","typeName":"shape"},{"x":477.3419978515625,"y":253,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:VKCj8fe4aLsG_-w0UutIV","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"af9ss","typeName":"shape"},{"x":711.3419978515625,"y":370,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:m__Qxu07bOy8xVfJfHdby","type":"geo","props":{"w":242,"h":191,"geo":"rectangle","color":"grey","labelColor":"black","fill":"solid","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph"}]}},"parentId":"page:page","index":"aaC0g","typeName":"shape"},{"x":478.3419978515625,"y":319,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:YcGM-S6udlzyjPx80_Hnz","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"ah4Tw","typeName":"shape"},{"editingShapeId":null,"croppingShapeId":null,"selectedShapeIds":[],"hoveredShapeId":null,"erasingShapeIds":[],"hintingShapeIds":[],"focusedGroupId":null,"meta":{},"id":"instance_page_state:page:page","pageId":"page:page","typeName":"instance_page_state"},{"x":71,"y":386,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:yFj1mrtMKb8FW7wOudORe","type":"text","props":{"color":"black","size":"s","w":318.875,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"fiskaltrust.Middleware.SCU.DE.XXX"}]}]}},"parentId":"page:page","index":"aF4UG","typeName":"shape"},{"x":911,"y":149,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:v8fjlKWUXVeybLp3jkgVW","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"a8BkM","typeName":"shape"},{"x":63.341997851562496,"y":214,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:I1pfswR9odtZ_OUT4kVjD","type":"geo","props":{"w":889,"h":1,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph"}]}},"parentId":"page:page","index":"aR8Gp","typeName":"shape"},{"x":72,"y":155,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:ZwmXd3IwBR-O6Ae5_y94m","type":"text","props":{"color":"black","size":"m","w":89.046875,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"v vX.Y.Z"}]}]}},"parentId":"page:page","index":"a36yB","typeName":"shape"},{"x":62,"y":479,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:I13155yz_yOlJNVaUeFnL","type":"text","props":{"color":"black","size":"m","w":91.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"> vX.Y.Z"}]}]}},"parentId":"page:page","index":"aTBcC","typeName":"shape"},{"x":908,"y":308,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:ctLFKgqxSxNn031-jBVKG","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"aKB6P","typeName":"shape"},{"x":909,"y":371,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:cJNA_23NHdn2pXbfY0iis","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"aQAhG","typeName":"shape"},{"x":482.3419978515625,"y":487,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:VUdd1Wi2ioX4aq8EMswlQ","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"alAKI","typeName":"shape"},{"x":63,"y":255,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:kkeH_z-PwoUpp6r53X9_1","type":"text","props":{"color":"black","size":"s","w":317.203125,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"fiskaltrust.Middleware.Queue.XXX"}]}]}},"parentId":"page:page","index":"a9055","typeName":"shape"},{"x":411,"y":237,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:Ku9xD2JjVdapSYlUygOh4","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"x"}]}]}},"parentId":"page:page","index":"ae2YW","typeName":"shape"},{"x":905,"y":487,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:Pey8c_-f6WLL0K4xREF-m","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"aY2HF","typeName":"shape"},{"x":410,"y":306,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:f7ecKJsQEgUOZkiC9wOkx","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":" "}]}]}},"parentId":"page:page","index":"ag65e","typeName":"shape"},{"x":906,"y":379,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:L14dY1pX3K-inlNojcqZu","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"ab6uV","typeName":"shape"},{"x":42.999999999999886,"y":460,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:7jw7lZ_VIWPhJl5DAc6f1","type":"geo","props":{"w":929.0000000000001,"h":80,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"}}]}},"parentId":"page:page","index":"aS5WQ","typeName":"shape"},{"x":483.3419978515625,"y":159,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:4sySsz_kjmNQoJ4RwwPAn","type":"text","props":{"color":"black","size":"s","w":54.734375,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public"}]}]}},"parentId":"page:page","index":"ad2Fa","typeName":"shape"},{"meta":{},"id":"page:page","name":"Page 1","index":"a1","typeName":"page"},{"gridSize":10,"name":"","meta":{},"id":"document:document","typeName":"document"},{"followingUserId":null,"opacityForNextShape":1,"stylesForNextShape":{"tldraw:geo":"rectangle","tldraw:color":"black","tldraw:arrowheadEnd":"none","tldraw:arrowKind":"elbow","tldraw:size":"s","tldraw:fill":"solid"},"brush":null,"scribbles":[],"cursor":{"type":"default","rotation":0},"isFocusMode":false,"exportBackground":true,"isDebugMode":false,"isToolLocked":false,"screenBounds":{"x":0,"y":0,"w":1696,"h":1028},"insets":[false,false,false,false],"zoomBrush":null,"isGridMode":false,"isPenMode":false,"chatMessage":"","isChatting":false,"highlightedUserIds":[],"isFocused":true,"devicePixelRatio":1,"isCoarsePointer":false,"isHoveringCanvas":false,"openMenus":[],"isChangingStyle":false,"isReadonly":false,"meta":{},"duplicateProps":null,"id":"instance:instance","currentPageId":"page:page","typeName":"instance"},{"x":912,"y":228,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:O7qyR_9O6wsKTBcX88R5G","type":"text","props":{"color":"black","size":"s","w":29.5625,"font":"draw","textAlign":"start","autoSize":true,"scale":1.2916666666666667,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":". . ."}]}]}},"parentId":"page:page","index":"aE5wC","typeName":"shape"},{"x":44.999999999999886,"y":125,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:pBbh6IMd0FVtYKnaeMixh","type":"geo","props":{"w":929.0000000000001,"h":313,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"}}]}},"parentId":"page:page","index":"a23k7","typeName":"shape"},{"x":411,"y":372,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:ROUYB6EnlVi5MoXUW9u5M","type":"geo","props":{"w":56,"h":56,"geo":"rectangle","color":"grey","labelColor":"black","fill":"none","dash":"draw","size":"s","font":"draw","align":"middle","verticalAlign":"middle","growY":0,"url":"","scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":" "}]}]}},"parentId":"page:page","index":"ai5D1","typeName":"shape"},{"x":69,"y":316,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:5XLhkWaWgOvAuw5xSAkA5","type":"text","props":{"color":"black","size":"s","w":315.015625,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"fiskaltrust.Middleware.Queue.YYY"}]}]}},"parentId":"page:page","index":"aL95i","typeName":"shape"},{"x":567.3419978515625,"y":300,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"id":"shape:GmcumSdsfIRHz6PFIWXeK","type":"text","props":{"color":"grey","size":"s","w":302.65625,"font":"draw","textAlign":"start","autoSize":true,"scale":1,"richText":{"type":"doc","content":[{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Public for Markets: at"}]},{"type":"paragraph","attrs":{"dir":"auto"},"content":[{"type":"text","text":"Publci for Accounts: a@b.c, d@e.f"}]}]}},"parentId":"page:page","index":"aZB5h","typeName":"shape"}]} From 2577a59c66f1b927161c36302eb261314c37255b Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Wed, 15 Oct 2025 12:25:46 +0200 Subject: [PATCH 18/24] update release process # Conflicts: # .github/workflows/README.md --- .github/workflows/README.md | 2 + RELEASE.md | 98 +++++++++++++++++++++---------------- 2 files changed, 58 insertions(+), 42 deletions(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index 7b0e28aba..890a810db 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -28,6 +28,8 @@ ## Version +- from `/version` comment + ## Release (`release.yml`) - on push diff --git a/RELEASE.md b/RELEASE.md index 8918deb9e..2cb620a1f 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -14,24 +14,33 @@ This can lead to gaps in the versions for some components that don't have change All packages of a certain Middleware version shall be compatible with one another. If a package is not released a Middleware new version the latest released version of said package shall be compatible with the Middleware new version. -Releases are tracked in github [Milestones](https://github.com/fiskaltrust/middleware/milestones). -All PRs and issues in a Milestone have the relevant `queue-*` and `scu-*` labels set to have an overview of which packages shall be released in a new Middleware version. +All PRs shall have the relevant `queue-*` and `scu-*` labels set to have an overview of which packages and features will be released in a new Middleware version. +Releases are tracked in github [Milestones](https://github.com/fiskaltrust/middleware/milestones). +All labeled PRs since the last release will be added to the release milestone. #### Pre Release Versions -The SemVer v1 suffixes `-ciX` and `-rcX` are allowed (E.g. `-ci1`, `-rc2`, ...). +The SemVer v1 suffixes `-ci.X` and `-rc.X` are allowed (E.g. `-ci.1`, `-rc.2`, ...). -- `-ciX` is used for internal sandbox releases. E.g. to test a specific branch or feature. -- `-rcX` is for Release Candidates used for testing new Middleware versions. +- `-ci.X` is used for internal sandbox releases. E.g. to test a specific branch or feature. +- `-rc.X` is for Release Candidates used for testing new Middleware versions. Before a full release an RC version is published to the sandbox and used for End2End testing this new Middleware version. An RC version can be released to give to a customer to test out fixes or features. +For untagged commits the commit hash is appended to the prerelease identifier of the version like this `..-ci..` (e.g. `1.3.68-ci.2.a1b2c3`). + +> ***Note:** A note on SemVer v1 and v2. The release process only deals with SemVer v2 versions.* +> *That means `-.` with the `-` separating the version and the prerelease identifiers and the prerelease identifiers separated by `.`.* +> *In SemVer v1 this was not supported and would have been multiple `-` like `--`.* +> *Since the nuget packages need SemVer v1 versions the package artifacts are versioned like that.* +> *So a release `1.3.68-rc.1` will be packaged as `1.3.68-rc-1`.* + ### Tags -All released versions shall have a corresponding tag. +All versions released to production shall have a corresponding tag. Tags are prefixed with a path specifying the package that is being released (E.g. `queue/sqlite/v1.3.71`, `scu-de/swissbitcloudv2/v1.3.71`, `scu-it/epsonrtprinter/v1.3.71`, ...). -Tags can be created via github releases or created locally in the git repo and then pushed (E.g. using the `git` cli or your favourite IDE). +Tags should be created through the release process specified below but can also be created via github releases or created locally in the git repo and then pushed. ### Production @@ -40,32 +49,44 @@ In production only `-rcX` and full versions shall be released and both shall be --- -## Regular Releases +## Releasing a ci version to sandbox + +When working on a PR it's possible to quickly create a sandbox release of the PR. + +Just comment `/deploy `. +So to release the SQLite queue that's `/deploy queue SQLite` or for the german SwissbitCloudV2 `/deploy scu-de SwissbitCloudV2`. +This will build the middleware with a `ci` prerelease label. + +Once ready the comment will be updated with an approval link where you can approve the sandbox deployment. + +## Releasing the middleware -This section describes how a regular new Middleware (E.g. `v1.3.71`) release is done. +This section describes how a new Middleware release is done. ### Fill Github Milestone + > Done by the Middleware Lead Engineer First the relevant github Milestone is maintained. -All relevant issues and all PRs since the last release are added to the milestone and they are given the needed `queue-*` and `scu-*` labels. -PRs or issues that have a customer facing impact get the `meta-needs-release-notes` and if needed the `meta-needs-migration-guide` label. +All relevant PRs since the last release are added to the milestone and they are given the needed `queue-*` and `scu-*` labels. +PRs that have a customer facing impact get the `meta-needs-release-notes` and if needed the `meta-needs-migration-guide` label. +Relevant issues should be linked to the PRs. ### Call for Release Notes -A call for release notes comments goes out to the developers. -Every developer creates a comment with the release notes for it on the relevant PRs or issues that are tagged with `meta-needs-release-notes` they implemented. +A relese notes PR is created and a call for release notes comments goes out to the developers of PRs marked with the `meta-needs-release-notes` label. -### Deploy Pre Release Versions to Sandbox +### Create the Release PR -`-rcX` tags for the new version are created (The `Set as a pre-release` Checkbox is checked if created through github releases). -This triggers the release pipeline where the Sandbox deployment is approved and deployed. +Manually run the [Prepare Release](https://github.com/fiskaltrust/middleware/actions/workflows/prepare-release.yml) action on the main branch. -### Write Release Notes +This will create a `/release/vX` branch where the middleware version prerelease identifier is changed from `ci` to `rc`. +Tis also updates the version in the main branch to the next middleware version with the `-ci` identifier. -A PR with the release notes for the new version is created in the [release-notes](https://github.com/fiskaltrust/release-notes) repo. -All items in the release Milestone with the `meta-needs-release-notes` label have a related a section in the release notes and the relevant issue or PR is linked. -The release notes PR is compiled from the release notes comments from the developers. +### Deploy Pre Release Versions to Sandbox + +The `/deploy ` command now deploys `rc` versions from the Release PR so commenting `/deploy queue SQLite` deploys the sqlite queue with an `rc` version. +This is used to deploy all packages that need to be released to sandbox. ### Internal Release Notes Review @@ -79,39 +100,32 @@ The feature or bugfix is tested for functionality using a relevant configuration ### Launcher End2End Tests -All Packages are End2End tested on all relevant launchers. +All Packages are End2End tested on all relevant launchers. Relevant Smoketests can be used for that. The released packages are tested to start and sign on all launcher and OS combinations. The specific features/bugfixes are already tested in the Feature Tests and don't need to be tested on all combinations again only the basic functionality of the packages is tested here. ### Fix Issues -Issues found during the testing phase these are fixed and a new `-rcX` version for these packages is released and tested again. - -### Deploy Full Versions to Sandbox - -The full version tag is created and the sandbox is deployed. -Github releases are created for these versions where the relevant PRs are listed for each package (This is partly done by githubs "Generate release notes" but the output needs to be filtered for relevance to the package). - -### Deploy Full Versions to Production +Issues found during the testing phase these are fixed in the release branch and a new `-rc` version for these packages is released with the `/deploy` command and tested again. -If no issues are reported production is also deployed. +### Deploy a Release Canditate to production -### Publish Release Notes - -The release notes are published as soon as the version is available in production. +If a Release Candidate needs to be released to production this can be done with the `/tag ` command. +It works similariy to the `/deploy` command but creates a new `rc` version tag so the release can also be released to production. -## Hotfix Releases - -If a hotfix needs to be released for a package the process is simplified. +### Deploy Full Versions to Sandbox -### Deploy Pre Release Version to Sandbox +Once everything is tested and ready for the full release version the `/version` command is used to remove the `rc` identifier. -First an `-rcX` version tag is created and released to sandbox. +By commenting `/version` in the release branch the version file is updated to the full (non prerelease) version. -### Feature Tests +After that the `/tag` command is used to create tags for the full versions. +Github releases should be created for these tags where the relevant PRs are listed for each package (This is partly done by githubs "Generate release notes" but the output needs to be filtered for relevance to the package). -The `-rcX` version is tested in the relevant Queue, SCU, Launcher and OS configurations. +After that the release PR is merged. +For that the merge conflict in the `version.json` file needs to be resolved in favour of the main branch. +(E.g. The version in the release branch is `1.3.68` and the version in the main branch is `1.3.69-ci`. after the merge it should still be `1.3.69-ci`) -### Deploy Pre Release Version to Production +### Publish Release Notes -The tested package is then released as an RC version to production. +The release notes are published as soon as the version is available in production. From 62f4d95c77c4671cca43b9694c64d0e57c813f4b Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Tue, 27 Jan 2026 14:24:13 +0100 Subject: [PATCH 19/24] update docs --- .github/workflows/README.md | 229 ++++++++++++++++++--- .github/workflows/enforce-all-checks.yml | 4 +- .github/workflows/slash-commands.yml | 1 - RELEASE.md | 245 ++++++++++++++++------- rfcs/0441-release-lifecycle.md | 38 ++-- 5 files changed, 391 insertions(+), 126 deletions(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index 890a810db..be800f90e 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -1,41 +1,216 @@ -## Prepare Release (`prepare-relese.yml`) +# GitHub Workflows -- manually +This document provides an overview of all GitHub Actions workflows in this repository. For the complete release process documentation, see [RELEASE.md](../../RELEASE.md). -## CI (`-build.yml`) +--- -- on push - - paths: `/**` -- manually -- from `/run ci` comment +## Slash Commands -## Package (`package.yml`) +All slash commands are dispatched via [`slash-commands.yml`](slash-commands.yml) when commenting on a Pull Request. -- manually -- from `/package ` comment +### `/run` Command (`command-run.yml`) -## Queue Acceptance Tests (`queue-acceptance-tests.yml`) +Triggers CI builds or acceptance tests. -- on push - - branch: `main` - - tags-ignore: `queue/**/v*` -- manually -- from `/run queue acceptance-tests` comment +| Usage | Description | +|-----------------------------------------|--------------------------------| +| `/run ci` | Run CI build for a component | +| `/run build` | Alias for `ci` | +| `/run queue acceptance-tests` | Run all queue acceptance tests | +| `/run queue acceptance-tests ` | Run specific acceptance test | -## Enforce All Status Checks -- on pull_request update -- from `/check` comment +**Components:** `queue`, `scu-at`, `scu-de`, `scu-es`, `scu-it` -## Version +### `/package` Command (`command-package.yml`) -- from `/version` comment +Builds a package without deploying. -## Release (`release.yml`) +``` +/package +``` -- on push - - tags: `/**/v*` +**Example:** `/package queue SQLite` -## Deploy (`deploy.yml`) +### `/deploy` Command (`command-package.yml`) -- manually (via Package) -- from `/deploy ` comment +Builds a package and deploys to sandbox. + +``` +/deploy +``` + +**Example:** `/deploy scu-de SwissbitCloudV2` + +**Behavior:** +1. Builds the package with version based on branch (`-ci` or `-rc`) +2. Updates comment with approval link (👀) +3. On approval, deploys to sandbox +4. Updates comment with success (🎉) or failure (😕) + +### `/release` Command (`command-release.yml`) + +Creates a version tag and GitHub release. Only works on release branches. + +``` +/release +``` + +**Example:** `/release queue SQLite` + +**Behavior:** +1. Creates tag using `nbgv tag` +2. Pushes tag to repository +3. Creates GitHub release with appropriate release notes +4. Updates comment with link to release + +### `/version` Command (`command-version.yml`) + +Removes the `-rc` prerelease suffix from the version. Only works on release branches. + +``` +/version +``` + +**Behavior:** Updates `version.json` to full release version (e.g., `1.3.68-rc` → `1.3.68`) + +### `/merge` Command (`command-merge.yml`) + +Merges a release PR with special conflict handling. Only works on release branches. + +``` +/merge +``` + +**Behavior:** +1. Resolves `version.json` conflicts in favor of `main` branch +2. Verifies all status checks pass +3. Merges the PR + +--- + +## Build Workflows + +CI workflows that run on push to component directories and can be triggered manually or via `/run`. + +| Workflow | Trigger Paths | Manual Trigger | +|--------------------|---------------|------------------| +| `queue-build.yml` | `queue/**` | `/run queue ci` | +| `scu-at-build.yml` | `scu-at/**` | `/run scu-at ci` | +| `scu-de-build.yml` | `scu-de/**` | `/run scu-de ci` | +| `scu-es-build.yml` | `scu-es/**` | `/run scu-es ci` | +| `scu-it-build.yml` | `scu-it/**` | `/run scu-it ci` | +| `scu-be-build.yml` | `scu-be/**` | `/run scu-be ci` | + +### Queue Acceptance Tests (`queue-acceptance-tests.yml`) + +**Triggers:** +- Push to `main` branch +- Tag ignore: `queue/**/v*` +- Manual: `/run queue acceptance-tests` + +**Options:** +- Run all tests: `/run queue acceptance-tests` +- Run specific test: `/run queue acceptance-tests SQLite` + +--- + +## Package Workflows + +### Package (`package.yml`) + +Reusable workflow for building and packaging components. + +**Inputs:** +- `pattern`: Project pattern to match +- `directory`: Source directory +- `commit`: Optional commit ref +- `deploySandbox`: Deploy to sandbox after packaging + +**Called by:** `command-package.yml`, `release.yml`, individual package workflows + +### Component Package Workflows + +Pre-configured package workflows for each component: + +- `queue-package.yml` +- `scu-at-package.yml` +- `scu-de-package.yml` +- `scu-es-package.yml` +- `scu-it-package.yml` +- `scu-be-package.yml` + +--- + +## Release Workflows + +### Prepare Release (`prepare-release.yml`) + +**Trigger:** Manual (workflow dispatch) + +**Purpose:** Creates a release branch with RC version. + +**Actions:** +1. Creates `release/vX.Y` branch from `main` +2. Sets release branch version to `-rc` +3. Bumps `main` to next version with `-ci` +4. Creates PR from release branch to `main` + +### Release (`release.yml`) + +**Trigger:** GitHub release published with tag matching `//v*` + +**Purpose:** Deploys a tagged release to production. + +**Actions:** +1. Validates tag format +2. Runs component-specific tests +3. Packages the component +4. Deploys to sandbox (for verification) +5. Deploys to production + +### Deploy (`deploy.yml`) + +Reusable workflow for deploying packages to an environment. + +**Inputs:** +- `package`: Package name to deploy +- `environment`: Target environment (`sandbox` or `production`) + +**Deployments:** +- v1 Packages (Azure Storage) +- v2 Packages (Azure Storage) + +--- + +## Utility Workflows + +### Enforce All Checks (`enforce-all-checks.yml`) + +**Triggers:** +- Pull request updates + +**Purpose:** Waits for all status checks to complete. + +### Check Labels (`check-labels.yml`) + +Validates that PRs have required labels. + +### Check Linked Issue (`check-linked-issue.yml`) + +Validates that PRs are linked to issues. + +### CLA (`cla.yml`) + +Contributor License Agreement checking. + +### Manual Merging (`manual-merging.yml`) + +Handles manual merge scenarios. + +### Remove No Issue Label (`remove-no-issue-label.yml`) + +Automatically removes `no-issue` label when an issue is linked. + +### Smoketests (`smoketests.yml`) + +Runs smoke tests for release verification. diff --git a/.github/workflows/enforce-all-checks.yml b/.github/workflows/enforce-all-checks.yml index 2b853b64b..495f8aefb 100644 --- a/.github/workflows/enforce-all-checks.yml +++ b/.github/workflows/enforce-all-checks.yml @@ -1,11 +1,9 @@ name: Summary on: pull_request: - repository_dispatch: - types: [check-command] concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.event.client_payload.pull_request.number || github.ref }} + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} cancel-in-progress: true jobs: diff --git a/.github/workflows/slash-commands.yml b/.github/workflows/slash-commands.yml index 2704e8cdc..04b69872f 100644 --- a/.github/workflows/slash-commands.yml +++ b/.github/workflows/slash-commands.yml @@ -26,5 +26,4 @@ jobs: deploy release version - check merge diff --git a/RELEASE.md b/RELEASE.md index 2cb620a1f..824debeed 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,4 +1,8 @@ -# Release process for the middleware +# Release Process for the Middleware + +This document describes the release process for the fiskaltrust.Middleware. For workflow-specific documentation, see the [Workflows README](.github/workflows/README.md). + +--- ## Concepts @@ -6,126 +10,215 @@ This repo contains the code for the fiskaltrust.Middleware versions >= 1.3.x. -New Middleware is released semi regularly as a new version (E.g. `v1.3.68`, `v1.3.69`, `v1.3.71`, ...). -When a new release is done only the Middleware packages that have changes are released. -All released packages will have the same new version. -This can lead to gaps in the versions for some components that don't have changes in a certain release which is totally acceptable. +New Middleware is released semi-regularly as a new version (e.g., `v1.3.68`, `v1.3.69`, `v1.3.71`, ...). When a new release is done, only the Middleware packages that have changes are released. All released packages will have the same new version. This can lead to gaps in the versions for some components that don't have changes in a certain release, which is totally acceptable. -All packages of a certain Middleware version shall be compatible with one another. -If a package is not released a Middleware new version the latest released version of said package shall be compatible with the Middleware new version. +**Compatibility Rules:** +- All packages of a certain Middleware version shall be compatible with one another +- If a package is not released in a new Middleware version, the latest released version of said package shall be compatible with the new version -All PRs shall have the relevant `queue-*` and `scu-*` labels set to have an overview of which packages and features will be released in a new Middleware version. -Releases are tracked in github [Milestones](https://github.com/fiskaltrust/middleware/milestones). -All labeled PRs since the last release will be added to the release milestone. +**Labeling:** +- All PRs shall have the relevant `queue-*` and `scu-*` labels set to provide an overview of which packages and features will be released +- Releases are tracked in GitHub [Milestones](https://github.com/fiskaltrust/middleware/milestones) +- All labeled PRs since the last release will be added to the release milestone -#### Pre Release Versions +### Pre-Release Versions -The SemVer v1 suffixes `-ci.X` and `-rc.X` are allowed (E.g. `-ci.1`, `-rc.2`, ...). +The SemVer v2 suffixes `-ci.X` and `-rc.X` are used: -- `-ci.X` is used for internal sandbox releases. E.g. to test a specific branch or feature. -- `-rc.X` is for Release Candidates used for testing new Middleware versions. - Before a full release an RC version is published to the sandbox and used for End2End testing this new Middleware version. - An RC version can be released to give to a customer to test out fixes or features. +| Suffix | Purpose | Example | Deployed To | +|---------|---------------------------------------------------------------------|---------------|---------------------------------| +| `-ci.X` | Internal sandbox releases for testing specific branches or features | `1.3.68-ci.2` | Sandbox only | +| `-rc.X` | Release Candidates for End2End testing before a full release | `1.3.68-rc.1` | Sandbox, Production (if needed) | -For untagged commits the commit hash is appended to the prerelease identifier of the version like this `..-ci..` (e.g. `1.3.68-ci.2.a1b2c3`). +For untagged commits, the commit hash is appended to the prerelease identifier: +``` +..-ci.. +``` +Example: `1.3.68-ci.2.a1b2c3` -> ***Note:** A note on SemVer v1 and v2. The release process only deals with SemVer v2 versions.* -> *That means `-.` with the `-` separating the version and the prerelease identifiers and the prerelease identifiers separated by `.`.* -> *In SemVer v1 this was not supported and would have been multiple `-` like `--`.* -> *Since the nuget packages need SemVer v1 versions the package artifacts are versioned like that.* -> *So a release `1.3.68-rc.1` will be packaged as `1.3.68-rc-1`.* +> **Note on SemVer v1 vs v2:** +> The release process uses SemVer v2 versions (`-.` with `.` separating prerelease identifiers). +> Since NuGet packages require SemVer v1, package artifacts use `-` instead of `.` for prerelease identifiers. +> Example: A release `1.3.68-rc.1` is packaged as `1.3.68-rc-1`. ### Tags -All versions released to production shall have a corresponding tag. -Tags are prefixed with a path specifying the package that is being released (E.g. `queue/sqlite/v1.3.71`, `scu-de/swissbitcloudv2/v1.3.71`, `scu-it/epsonrtprinter/v1.3.71`, ...). +All versions released to production shall have a corresponding tag. Tags are prefixed with a path specifying the package being released: + +> Example: +> | Component | Tag Format | Example | +> |-----------|-------------------------------|----------------------------------| +> | Queue | `queue//v` | `queue/sqlite/v1.3.71` | +> | SCU-DE | `scu-de//v` | `scu-de/swissbitcloudv2/v1.3.71` | +> | SCU-IT | `scu-it//v` | `scu-it/epsonrtprinter/v1.3.71` | +> | SCU-AT | `scu-at//v` | `scu-at/atrust/v1.3.71` | +> | SCU-ES | `scu-es//v` | `scu-es/verifactu/v1.3.71` | -Tags should be created through the release process specified below but can also be created via github releases or created locally in the git repo and then pushed. +Tags are typically created through the release process using the `/release` command but can also be created via GitHub releases or locally. -### Production +### Environments -In sandbox there's no restrictions on what can be released. -In production only `-rcX` and full versions shall be released and both shall be End2End tested before doing so. +| Environment | Allowed Versions | Requirements | +|----------------|------------------------------|------------------------| +| **Sandbox** | Any (`-ci`, `-rc`, full) | No restrictions | +| **Production** | `-rc` and full versions only | Must be End2End tested | --- -## Releasing a ci version to sandbox +## Slash Commands Reference + +All slash commands are triggered by commenting on a Pull Request. The following commands are available: + +| Command | Description | Example | +|----------------------------------|----------------------------------------------------|------------------------------------------------| +| `/run ` | Run CI builds or tests | `/run queue ci`, `/run queue acceptance-tests` | +| `/package ` | Build a package without deploying | `/package queue SQLite` | +| `/deploy ` | Build and deploy to sandbox | `/deploy queue SQLite` | +| `/release ` | Create a tag and GitHub release | `/release scu-de SwissbitCloudV2` | +| `/version` | Remove `-rc` suffix (release branches only) | `/version` | +| `/merge` | Merge release PR (resolves version.json conflicts) | `/merge` | +| `/check` | Re-run all status checks | `/check` | + +**Component values:** `queue`, `scu-at`, `scu-de`, `scu-es`, `scu-it`, `scu-be`, `scu-gr`, `scu-me`, `scu-pt` + +--- + +## Development Workflow + +### Testing Changes in Sandbox + +When working on a PR, you can quickly create a sandbox release to test your changes: + +1. **Comment on your PR:** `/deploy ` + - Example: `/deploy queue SQLite` or `/deploy scu-de SwissbitCloudV2` +2. **Wait for build:** The comment will be updated with an approval link +3. **Approve deployment:** Click the approval link to deploy to sandbox + +The deployed version will have a `-ci` prerelease label based on your branch. + +### Running Tests Manually + +- **Run CI build:** `/run ci` (e.g., `/run queue ci`) +- **Run acceptance tests:** `/run queue acceptance-tests` +- **Run specific acceptance test:** `/run queue acceptance-tests ` (e.g. `/run queue acceptance-tests SQLite`) + +--- + +## Release Workflow + +This section describes how a new Middleware release is performed. + +### Phase 1: Preparation + +#### 1.1 Fill GitHub Milestone + +> *Performed by: Middleware Lead Engineer* + +1. Maintain the relevant GitHub Milestone +2. Add all relevant PRs since the last release to the milestone +3. Apply `queue-*` and `scu-*` labels to categorize packages +4. Add `meta-needs-release-notes` label to customer-facing changes +5. Add `meta-needs-migration-guide` label if migration steps are required +6. Link relevant issues to the PRs + +#### 1.2 Call for Release Notes + +1. Create a release notes PR +2. Notify developers of PRs marked with `meta-needs-release-notes` + +#### 1.3 Create the Release PR + +1. Manually run the [Prepare Release](https://github.com/fiskaltrust/middleware/actions/workflows/prepare-release.yml) action on the `main` branch + +This action will: +- Create a `release/vX.Y` branch with `-rc` prerelease identifier +- Update `main` branch to the next version with `-ci` identifier +- Create a Pull Request from the release branch to `main` -When working on a PR it's possible to quickly create a sandbox release of the PR. +### Phase 2: Testing -Just comment `/deploy `. -So to release the SQLite queue that's `/deploy queue SQLite` or for the german SwissbitCloudV2 `/deploy scu-de SwissbitCloudV2`. -This will build the middleware with a `ci` prerelease label. +#### 2.1 Deploy RC Versions to Sandbox -Once ready the comment will be updated with an approval link where you can approve the sandbox deployment. +From the release PR, use `/deploy` commands to deploy packages with `-rc` versions: -## Releasing the middleware +``` +/deploy queue SQLite +/deploy queue EFCore +/deploy scu-de SwissbitCloudV2 +``` -This section describes how a new Middleware release is done. +#### 2.2 Internal Release Notes Review -### Fill Github Milestone +1. Share release notes with market lead engineers +2. Post in the releases slack channel for visibility -> Done by the Middleware Lead Engineer +#### 2.3 Feature Testing -First the relevant github Milestone is maintained. -All relevant PRs since the last release are added to the milestone and they are given the needed `queue-*` and `scu-*` labels. -PRs that have a customer facing impact get the `meta-needs-release-notes` and if needed the `meta-needs-migration-guide` label. -Relevant issues should be linked to the PRs. +Test all new features and bug fixes in sandbox with relevant configurations: +- Example: For a DE Localization bugfix, use a `SQLite` Queue + `FiskalyCertified` SCU +- Example: For a `SwissbitCloudV2` feature, use a CloudCashbox + `SwissbitCloudV2` SCU -### Call for Release Notes +#### 2.4 Launcher End2End Tests -A relese notes PR is created and a call for release notes comments goes out to the developers of PRs marked with the `meta-needs-release-notes` label. +1. Run smoketests on all relevant launcher/OS combinations +2. Verify packages start and sign correctly +3. Basic functionality testing only (specific features already tested in 2.3) -### Create the Release PR +#### 2.5 Fix Issues -Manually run the [Prepare Release](https://github.com/fiskaltrust/middleware/actions/workflows/prepare-release.yml) action on the main branch. +If issues are found during testing: +1. Fix issues in the release branch +2. Deploy new `-rc` version with `/deploy` +3. Re-test the fix -This will create a `/release/vX` branch where the middleware version prerelease identifier is changed from `ci` to `rc`. -Tis also updates the version in the main branch to the next middleware version with the `-ci` identifier. +### Phase 3: Production Release -### Deploy Pre Release Versions to Sandbox +#### 3.1 Deploy Release Candidate to Production (Optional) -The `/deploy ` command now deploys `rc` versions from the Release PR so commenting `/deploy queue SQLite` deploys the sqlite queue with an `rc` version. -This is used to deploy all packages that need to be released to sandbox. +If an RC needs to be released to production for customer testing: -### Internal Release Notes Review +``` +/release +``` -The release notes are given to the market lead engineers for review. -A post in the releases channel is made. +This creates a tag and GitHub release for the `-rc` version. -### Feature Tests +#### 3.2 Finalize Version -All new features and bug fixes are tested in the sandbox. -The feature or bugfix is tested for functionality using a relevant configuration (E.g. a `SQLite` Queue and a `FiskalyCertified` SCU for a bugfix in the DE Localization or an `AzureTableStorage` Queue and a `SwissbitCloudV2` SCU for a new feature in the `SwissbitCloudV2`). +Once testing is complete, remove the `-rc` suffix: -### Launcher End2End Tests +``` +/version +``` -All Packages are End2End tested on all relevant launchers. Relevant Smoketests can be used for that. -The released packages are tested to start and sign on all launcher and OS combinations. -The specific features/bugfixes are already tested in the Feature Tests and don't need to be tested on all combinations again only the basic functionality of the packages is tested here. +This updates `version.json` in the release branch to the full version. -### Fix Issues +#### 3.3 Create Release Tags -Issues found during the testing phase these are fixed in the release branch and a new `-rc` version for these packages is released with the `/deploy` command and tested again. +For each package to be released: -### Deploy a Release Canditate to production +``` +/release +``` -If a Release Candidate needs to be released to production this can be done with the `/tag ` command. -It works similariy to the `/deploy` command but creates a new `rc` version tag so the release can also be released to production. +This will: +- Create a version tag (e.g., `queue/sqlite/v1.3.71`) +- Create a GitHub release with release notes +- Trigger the production deployment workflow -### Deploy Full Versions to Sandbox +#### 3.4 Merge Release PR -Once everything is tested and ready for the full release version the `/version` command is used to remove the `rc` identifier. +After all packages are tagged: -By commenting `/version` in the release branch the version file is updated to the full (non prerelease) version. +``` +/merge +``` -After that the `/tag` command is used to create tags for the full versions. -Github releases should be created for these tags where the relevant PRs are listed for each package (This is partly done by githubs "Generate release notes" but the output needs to be filtered for relevance to the package). +This merges the release branch while preserving the newer version in `main`. -After that the release PR is merged. -For that the merge conflict in the `version.json` file needs to be resolved in favour of the main branch. -(E.g. The version in the release branch is `1.3.68` and the version in the main branch is `1.3.69-ci`. after the merge it should still be `1.3.69-ci`) +> **Note:** The `/merge` command resolves the `version.json` file in favor of `main`. +> Example: Release branch has `1.3.68`, main has `1.3.69-ci` → after merge: `1.3.69-ci` -### Publish Release Notes +#### 3.5 Publish Release Notes -The release notes are published as soon as the version is available in production. +Publish the release notes to [docs.fiskaltrust.cloud](https://docs.fiskaltrust.cloud/changelog/middleware/) once packages are available in production. diff --git a/rfcs/0441-release-lifecycle.md b/rfcs/0441-release-lifecycle.md index fce05c705..df1fc9fca 100644 --- a/rfcs/0441-release-lifecycle.md +++ b/rfcs/0441-release-lifecycle.md @@ -47,28 +47,28 @@ The customer success teams are responsible for handling this part of the release ### Versioning Scheme -The middleware versions use [SemVer v1](https://semver.org/spec/v1.0.0.html) for it's version structure conventions and a modified version of [0ver](https://0ver.org) (called "1ver") for it's semantic conventions. +The middleware versions use [SemVer v2](https://semver.org/spec/v2.0.0.html) for its version structure conventions and a modified version of [0ver](https://0ver.org) (called "1ver") for its semantic conventions. Two prerelease identifiers are allowed: | identifier | description | environments | |------------|------------------------------------------------------------------------------------------------------|---------------------| -| `-ciX` | "continuous integration" is used for dev releases used for internal testing of features. | sandbox | -| `-rcX` | "release candidate" are used for testing of whole releases and external testing as well as hotfixes. | production, sandbox | +| `-ci.X` | "continuous integration" is used for dev releases used for internal testing of features. | sandbox | +| `-rc.X` | "release candidate" are used for testing of whole releases and external testing as well as hotfixes. | production, sandbox | ### Artifacts -| artifact | target | notes | published in this stage | -|------------------|------------------------------------|-----------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------| -| github tag | middleware github repo | Every released version has a tag that can be used to link the version to a commit | ✅ | -| github release | middleware github repo | This contains the autogenerated github release notes for this package | ✅ | -| release notes | release notes repository | | ✅ (With a disclaimer that the version will become available soon) | -| byodc | github container registry | | ✅ | -| cloudcashbox | cloudcashbox instances | | ❌ (The cloudcashbox does not support the release phase it is relased manually by the development team) | -| android launcher | google play store | | ❌ (The android launcher does not support the release phase it is relased manually by the development team) | -| nuget package | public devops nuget feed/nuget.org | | ❌ | -| nuget package | sandbox packages v1 server | | ❌ | -| nuget package | production packages v1 server | | ❌ | -| zip package | sandbox packages v2 server | | ❌ | +| artifact | target | notes | published in this stage | +|------------------|------------------------------------|-----------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------| +| github tag | middleware github repo | Every released version has a tag that can be used to link the version to a commit | ✅ | +| github release | middleware github repo | This contains the autogenerated github release notes for this package | ✅ | +| release notes | release notes repository | | ✅ (With a disclaimer that the version will become available soon) | +| byodc | github container registry | | ✅ | +| cloudcashbox | cloudcashbox instances | | ❌ (The cloudcashbox does not support the release phase it is released manually by the development team) | +| android launcher | google play store | | ❌ (The android launcher does not support the release phase it is released manually by the development team) | +| nuget package | public devops nuget feed/nuget.org | | ❌ | +| nuget package | sandbox packages v1 server | | ❌ | +| nuget package | production packages v1 server | | ❌ | +| zip package | sandbox packages v2 server | | ❌ | ## Release Phase @@ -78,9 +78,9 @@ The following states describe the lifecycle of a release within the portal relea | State | Direction | Description | |-----------|-----------|---------------------------------------------------------| -| Unlisted | ⬇️ | Artifacts are deployed and downloadable but not listed. | -| Published | ↕️ | Artifacts are deployed, listed, and downloadable. | -| Yanked | ⏹️ | Artifacts are deployed and downloadable but not listed. | +| Unlisted | ⬇ | Artifacts are deployed and downloadable but not listed. | +| Published | ↕ | Artifacts are deployed, listed, and downloadable. | +| Yanked | 🔒 | Artifacts are deployed and downloadable but not listed. | An _Unlisted_ release can be set to _Published_ or _Yanked_. A _Published_ release can be set to _Unlisted_ or _Yanked_. @@ -130,7 +130,7 @@ The release can be yanked through a separate confirmation dialog. It's then yank ## Deployment Process -The process of the **deployment phase** is described in [`RELEASE.md`](../README.md). +The process of the **deployment phase** is described in [`RELEASE.md`](../RELEASE.md). ## Storage From d6a23ea400ad60103a62de9e9e1f26c0c091440e Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Tue, 27 Jan 2026 14:29:25 +0100 Subject: [PATCH 20/24] fix --- .github/workflows/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index be800f90e..2710b2cc2 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -205,7 +205,7 @@ Contributor License Agreement checking. ### Manual Merging (`manual-merging.yml`) -Handles manual merge scenarios. +Makes sure that release PRs can not be merged manually. ### Remove No Issue Label (`remove-no-issue-label.yml`) From 9d3520b279e8840a5d80ee57d5c9d0481f77dc65 Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Wed, 28 Jan 2026 10:19:32 +0100 Subject: [PATCH 21/24] fix --- RELEASE.md | 1 - 1 file changed, 1 deletion(-) diff --git a/RELEASE.md b/RELEASE.md index 824debeed..d1f6d62da 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -77,7 +77,6 @@ All slash commands are triggered by commenting on a Pull Request. The following | `/release ` | Create a tag and GitHub release | `/release scu-de SwissbitCloudV2` | | `/version` | Remove `-rc` suffix (release branches only) | `/version` | | `/merge` | Merge release PR (resolves version.json conflicts) | `/merge` | -| `/check` | Re-run all status checks | `/check` | **Component values:** `queue`, `scu-at`, `scu-de`, `scu-es`, `scu-it`, `scu-be`, `scu-gr`, `scu-me`, `scu-pt` From 489f50831cc4b728095c4a029d443d9188b5e146 Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Wed, 28 Jan 2026 12:29:29 +0100 Subject: [PATCH 22/24] add ascii diagrams --- .github/workflows/README.md | 162 +++++++++++++++++++++++++++++++++ rfcs/0441-release-lifecycle.md | 39 +++++++- 2 files changed, 200 insertions(+), 1 deletion(-) diff --git a/.github/workflows/README.md b/.github/workflows/README.md index 2710b2cc2..898523996 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -214,3 +214,165 @@ Automatically removes `no-issue` label when an issue is linked. ### Smoketests (`smoketests.yml`) Runs smoke tests for release verification. + +## Workflow Dependencies + +``` +┌─────────────────────────────────────────────────────────────────────────────────────────┐ +│ SLASH COMMANDS │ +│ │ +│ Triggered by: issue_comment on pull requests │ +│ Dispatched via: slash-commands.yml │ +│ │ +│ /run ──► command-run.yml ──► queue-build.yml │ +│ queue-acceptance-tests.yml │ +│ scu-at-build.yml │ +│ scu-de-build.yml │ +│ scu-es-build.yml │ +│ scu-it-build.yml │ +│ │ +│ /package ──► command-package.yml ──► package.yml │ +│ /deploy ──► command-package.yml ──► package.yml ──► deploy.yml │ +│ │ +│ /release ──► command-release.yml │ +│ /version ──► command-version.yml │ +│ /merge ──► command-merge.yml │ +│ │ +└─────────────────────────────────────────────────────────────────────────────────────────┘ + +┌─────────────────────────────────────────────────────────────────────────────────────────┐ +│ BUILD WORKFLOWS │ +│ │ +│ Triggered by: pull_request, workflow_dispatch, workflow_call │ +│ Called by: command-run.yml, release.yml │ +│ │ +│ queue-build.yml (paths: queue/**) │ +│ queue-acceptance-tests.yml (paths: queue/**, branches: main, release/v*) │ +│ scu-at-build.yml (paths: scu-at/**) │ +│ scu-de-build.yml (paths: scu-de/**) │ +│ scu-es-build.yml (paths: scu-es/**) │ +│ scu-it-build.yml (paths: scu-it/**) │ +│ scu-be-build.yml (paths: scu-be/**) │ +│ │ +└─────────────────────────────────────────────────────────────────────────────────────────┘ + +┌─────────────────────────────────────────────────────────────────────────────────────────┐ +│ PACKAGE WORKFLOWS │ +│ │ +│ Triggered by: workflow_dispatch, workflow_call │ +│ Called by: command-package.yml, release.yml │ +│ │ +│ queue-package.yml ───────┐ │ +│ scu-at-package.yml ──────┤ │ +│ scu-de-package.yml ──────┼──► package.yml ──► deploy.yml (optional) │ +│ scu-es-package.yml ──────┤ │ +│ scu-it-package.yml ──────┤ │ +│ scu-be-package.yml ──────┘ │ +│ │ +└─────────────────────────────────────────────────────────────────────────────────────────┘ + +┌─────────────────────────────────────────────────────────────────────────────────────────┐ +│ RELEASE WORKFLOW │ +│ │ +│ Triggered by: GitHub release published (tag: //v*) │ +│ │ +│ release.yml │ +│ │ │ +│ ├──► queue-build.yml ────────┐ │ +│ ├──► scu-at-build.yml ───────┤ │ +│ ├──► scu-de-build.yml ───────┼──► queue-acceptance-tests.yml │ +│ ├──► scu-es-build.yml ───────┤ │ │ +│ └──► scu-it-build.yml ───────┘ │ │ +│ ▼ │ +│ package.yml │ +│ │ │ +│ ▼ │ +│ deploy.yml (sandbox) │ +│ │ │ +│ ▼ │ +│ deploy.yml (production) │ +│ │ +└─────────────────────────────────────────────────────────────────────────────────────────┘ + +┌─────────────────────────────────────────────────────────────────────────────────────────┐ +│ STANDALONE WORKFLOWS │ +│ │ +│ Triggered by: workflow_dispatch, repository_dispatch │ +│ │ +│ prepare-release.yml - Creates release branches │ +│ command-release.yml - Creates tags and GitHub releases │ +│ command-version.yml - Updates version.json │ +│ command-merge.yml - Merges release PRs │ +│ │ +└─────────────────────────────────────────────────────────────────────────────────────────┘ +``` + +> | Trigger types | description | +> |---|---| +> | [workflow_call](https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#workflow_call) | Called by another workflow | +> | [workflow_dispatch](https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#workflow_dispatch) | Manual trigger through the github ui | +> | [repository_dispatch](https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows#repository_dispatch) | Triggered by a slash command | + + +### Composite Actions + +``` +┌─────────────────────────────────────────────────────────────────────────────────────────┐ +│ COMPOSITE ACTIONS │ +│ │ +│ Located in: .github/actions/ │ +│ │ +│ build - Restores and builds .NET projects │ +│ test - Runs tests and uploads results │ +│ sign - Signs DLLs with Azure Key Vault │ +│ package - Creates v1 (NuGet) and v2 (zip) packages │ +│ deploy-v1-packages - Deploys NuGet packages to Azure Storage │ +│ deploy-v2-packages - Deploys zip packages to Azure Storage │ +│ check-linked-issue - Validates PR has linked issue │ +│ │ +└─────────────────────────────────────────────────────────────────────────────────────────┘ + +┌─────────────────────────────────────────────────────────────────────────────────────────┐ +│ WORKFLOW → ACTION USAGE │ +│ │ +│ Build Workflows: │ +│ │ +│ queue-build.yml ─────────────► build, test │ +│ queue-acceptance-tests.yml ──► test │ +│ scu-at-build.yml ────────────► build, test │ +│ scu-de-build.yml ────────────► build, test │ +│ scu-es-build.yml ────────────► build, test │ +│ scu-it-build.yml ────────────► build, test │ +│ scu-be-build.yml ────────────► build, test │ +│ │ +│ Package/Deploy Workflows: │ +│ │ +│ package.yml ─────────────────► build, sign, package │ +│ deploy.yml ──────────────────► deploy-v1-packages, deploy-v2-packages │ +│ │ +│ Utility Workflows: │ +│ │ +│ check-linked-issue.yml ──────► check-linked-issue │ +│ │ +└─────────────────────────────────────────────────────────────────────────────────────────┘ +``` + +### Workflow Call Summary + +| Caller Workflow | Calls | +|-----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `slash-commands.yml` | Dispatches: `command-run`, `command-package`, `command-release`, `command-version`, `command-merge` | +| `command-run.yml` | `queue-build.yml`, `queue-acceptance-tests.yml`, `scu-at-build.yml`, `scu-de-build.yml`, `scu-es-build.yml`, `scu-it-build.yml` | +| `command-package.yml` | `package.yml`, `deploy.yml` | +| `command-release.yml` | _(standalone - creates tags/releases)_ | +| `command-version.yml` | _(standalone - updates version.json)_ | +| `command-merge.yml` | _(standalone - merges PRs)_ | +| `queue-package.yml` | `package.yml` | +| `scu-at-package.yml` | `package.yml` | +| `scu-de-package.yml` | `package.yml` | +| `scu-es-package.yml` | `package.yml` | +| `scu-it-package.yml` | `package.yml` | +| `scu-be-package.yml` | `package.yml` | +| `package.yml` | `deploy.yml` (when `deploySandbox: true`) | +| `release.yml` | `queue-build.yml`, `scu-at-build.yml`, `scu-de-build.yml`, `scu-es-build.yml`, `scu-it-build.yml`, `queue-acceptance-tests.yml`, `package.yml`, `deploy.yml` | +| `prepare-release.yml` | _(standalone - creates release branches)_ | diff --git a/rfcs/0441-release-lifecycle.md b/rfcs/0441-release-lifecycle.md index df1fc9fca..4845effc0 100644 --- a/rfcs/0441-release-lifecycle.md +++ b/rfcs/0441-release-lifecycle.md @@ -123,7 +123,44 @@ The releases are grouped by version in the table. The release can be published for whole group or separatley for for single packages (when it's not the same for all packages a `-` is shown in the group checkbox). Overrides for markets and accounts can be set. The release can be yanked through a separate confirmation dialog. It's then yanked in sandbox _and_ production. -![](./assets/0441-release-lifecycle-ui-mockup.svg) + +``` +┌──────────────────────────────────────────────────────────────────────────────────────┐ +│ │ +│ ┌────────────────────────────────────────────────────────────────────────────────┐ │ +│ │ v vX.Y.Z [-] Public [...] │ │ +│ ├────────────────────────────────────────────────────────────────────────────────┤ │ +│ │ [...] │ │ +│ │ fiskaltrust.Middleware.Queue.XXX [x] Public │ │ +│ │ │ │ +│ │┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄│ │ +│ │ [...] │ │ +│ │ fiskaltrust.Middleware.Queue.YYY [-] Public Markets: at │ │ +│ │ Accounts: a@b.c, d@e.f │ │ +│ │ │ │ +│ │┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄│ │ +│ │ ┌──────────────────[...] │ │ +│ │ fiskaltrust.Middleware.SCU.DE.XXX [ ] Public │ │ │ │ +│ │ │ Set Market Overrides │ │ │ +│ │ │ Set Account Overrides│ │ │ +│ │ │ Yank release │ │ │ +│ │ └──────────────────────┘ │ │ +│ └────────────────────────────────────────────────────────────────────────────────┘ │ +│ │ +│ ┌────────────────────────────────────────────────────────────────────────────────┐ │ +│ │ > vX.Y.W [x] Public [...] │ │ +│ └────────────────────────────────────────────────────────────────────────────────┘ │ +│ │ +└──────────────────────────────────────────────────────────────────────────────────────┘ + +Legend: + v vX.Y.Z - Expanded version group (showing packages) + > vX.Y.W - Collapsed version group + [-] Public - Mixed state (some packages public, some not) + [x] Public - Published + [ ] Public - Not published + [...] - Context menu (Set Market/Account Overrides, Yank release) +``` (this is just a ui mockup to demonstrate the functionality ux and layout will be designed properly when implementing the RFC) # Reference-level explanation From ad173fe9472927ed63708b17308f6ea6915a27ed Mon Sep 17 00:00:00 2001 From: Paul Volavsek Date: Wed, 28 Jan 2026 13:28:55 +0100 Subject: [PATCH 23/24] add release overview diagram --- RELEASE.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/RELEASE.md b/RELEASE.md index d1f6d62da..e6394e087 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -107,6 +107,17 @@ The deployed version will have a `-ci` prerelease label based on your branch. This section describes how a new Middleware release is performed. +``` +┌─────────────┐ ┌─────────────┐ ┌┄┄┄┄┄┄┄┄┄┄┄┄┄┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ +│ trigger │ │ /deploy │ ┊ test & ┊ │ /version │ │ /release │ │ /merge │ +│ prepare │───►│ │───►┊ fix ┊───►│ │───►│ │───►│ │ +│ release │ │ │ ┊ ┊ │ │ │ │ │ │ +└─────────────┘ └─────────────┘ └┄┄┄┄┄┄┄┄┄┄┄┄┄┘ └─────────────┘ └─────────────┘ └─────────────┘ + ▲ │ + └──────────────────┘ + (repeat if needed) +``` + ### Phase 1: Preparation #### 1.1 Fill GitHub Milestone From 340cb66f912f56d366fe7cfb64859dfb932b59b9 Mon Sep 17 00:00:00 2001 From: Paul Volavsek <24523184+volllly@users.noreply.github.com> Date: Thu, 26 Feb 2026 12:36:49 +0100 Subject: [PATCH 24/24] remove release docs --- .github/workflows/README.md | 2 +- RELEASE.md | 234 ------------------------------------ 2 files changed, 1 insertion(+), 235 deletions(-) delete mode 100644 RELEASE.md diff --git a/.github/workflows/README.md b/.github/workflows/README.md index 898523996..b1661da65 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -1,6 +1,6 @@ # GitHub Workflows -This document provides an overview of all GitHub Actions workflows in this repository. For the complete release process documentation, see [RELEASE.md](../../RELEASE.md). +This document provides an overview of all GitHub Actions workflows in this repository. For the complete release process documentation, see [RELEASE.md](https://github.com/fiskaltrust/team-middleware/blob/main/middleware/RELEASE.md). --- diff --git a/RELEASE.md b/RELEASE.md deleted file mode 100644 index e6394e087..000000000 --- a/RELEASE.md +++ /dev/null @@ -1,234 +0,0 @@ -# Release Process for the Middleware - -This document describes the release process for the fiskaltrust.Middleware. For workflow-specific documentation, see the [Workflows README](.github/workflows/README.md). - ---- - -## Concepts - -### Versioning - -This repo contains the code for the fiskaltrust.Middleware versions >= 1.3.x. - -New Middleware is released semi-regularly as a new version (e.g., `v1.3.68`, `v1.3.69`, `v1.3.71`, ...). When a new release is done, only the Middleware packages that have changes are released. All released packages will have the same new version. This can lead to gaps in the versions for some components that don't have changes in a certain release, which is totally acceptable. - -**Compatibility Rules:** -- All packages of a certain Middleware version shall be compatible with one another -- If a package is not released in a new Middleware version, the latest released version of said package shall be compatible with the new version - -**Labeling:** -- All PRs shall have the relevant `queue-*` and `scu-*` labels set to provide an overview of which packages and features will be released -- Releases are tracked in GitHub [Milestones](https://github.com/fiskaltrust/middleware/milestones) -- All labeled PRs since the last release will be added to the release milestone - -### Pre-Release Versions - -The SemVer v2 suffixes `-ci.X` and `-rc.X` are used: - -| Suffix | Purpose | Example | Deployed To | -|---------|---------------------------------------------------------------------|---------------|---------------------------------| -| `-ci.X` | Internal sandbox releases for testing specific branches or features | `1.3.68-ci.2` | Sandbox only | -| `-rc.X` | Release Candidates for End2End testing before a full release | `1.3.68-rc.1` | Sandbox, Production (if needed) | - -For untagged commits, the commit hash is appended to the prerelease identifier: -``` -..-ci.. -``` -Example: `1.3.68-ci.2.a1b2c3` - -> **Note on SemVer v1 vs v2:** -> The release process uses SemVer v2 versions (`-.` with `.` separating prerelease identifiers). -> Since NuGet packages require SemVer v1, package artifacts use `-` instead of `.` for prerelease identifiers. -> Example: A release `1.3.68-rc.1` is packaged as `1.3.68-rc-1`. - -### Tags - -All versions released to production shall have a corresponding tag. Tags are prefixed with a path specifying the package being released: - -> Example: -> | Component | Tag Format | Example | -> |-----------|-------------------------------|----------------------------------| -> | Queue | `queue//v` | `queue/sqlite/v1.3.71` | -> | SCU-DE | `scu-de//v` | `scu-de/swissbitcloudv2/v1.3.71` | -> | SCU-IT | `scu-it//v` | `scu-it/epsonrtprinter/v1.3.71` | -> | SCU-AT | `scu-at//v` | `scu-at/atrust/v1.3.71` | -> | SCU-ES | `scu-es//v` | `scu-es/verifactu/v1.3.71` | - -Tags are typically created through the release process using the `/release` command but can also be created via GitHub releases or locally. - -### Environments - -| Environment | Allowed Versions | Requirements | -|----------------|------------------------------|------------------------| -| **Sandbox** | Any (`-ci`, `-rc`, full) | No restrictions | -| **Production** | `-rc` and full versions only | Must be End2End tested | - ---- - -## Slash Commands Reference - -All slash commands are triggered by commenting on a Pull Request. The following commands are available: - -| Command | Description | Example | -|----------------------------------|----------------------------------------------------|------------------------------------------------| -| `/run ` | Run CI builds or tests | `/run queue ci`, `/run queue acceptance-tests` | -| `/package ` | Build a package without deploying | `/package queue SQLite` | -| `/deploy ` | Build and deploy to sandbox | `/deploy queue SQLite` | -| `/release ` | Create a tag and GitHub release | `/release scu-de SwissbitCloudV2` | -| `/version` | Remove `-rc` suffix (release branches only) | `/version` | -| `/merge` | Merge release PR (resolves version.json conflicts) | `/merge` | - -**Component values:** `queue`, `scu-at`, `scu-de`, `scu-es`, `scu-it`, `scu-be`, `scu-gr`, `scu-me`, `scu-pt` - ---- - -## Development Workflow - -### Testing Changes in Sandbox - -When working on a PR, you can quickly create a sandbox release to test your changes: - -1. **Comment on your PR:** `/deploy ` - - Example: `/deploy queue SQLite` or `/deploy scu-de SwissbitCloudV2` -2. **Wait for build:** The comment will be updated with an approval link -3. **Approve deployment:** Click the approval link to deploy to sandbox - -The deployed version will have a `-ci` prerelease label based on your branch. - -### Running Tests Manually - -- **Run CI build:** `/run ci` (e.g., `/run queue ci`) -- **Run acceptance tests:** `/run queue acceptance-tests` -- **Run specific acceptance test:** `/run queue acceptance-tests ` (e.g. `/run queue acceptance-tests SQLite`) - ---- - -## Release Workflow - -This section describes how a new Middleware release is performed. - -``` -┌─────────────┐ ┌─────────────┐ ┌┄┄┄┄┄┄┄┄┄┄┄┄┄┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ -│ trigger │ │ /deploy │ ┊ test & ┊ │ /version │ │ /release │ │ /merge │ -│ prepare │───►│ │───►┊ fix ┊───►│ │───►│ │───►│ │ -│ release │ │ │ ┊ ┊ │ │ │ │ │ │ -└─────────────┘ └─────────────┘ └┄┄┄┄┄┄┄┄┄┄┄┄┄┘ └─────────────┘ └─────────────┘ └─────────────┘ - ▲ │ - └──────────────────┘ - (repeat if needed) -``` - -### Phase 1: Preparation - -#### 1.1 Fill GitHub Milestone - -> *Performed by: Middleware Lead Engineer* - -1. Maintain the relevant GitHub Milestone -2. Add all relevant PRs since the last release to the milestone -3. Apply `queue-*` and `scu-*` labels to categorize packages -4. Add `meta-needs-release-notes` label to customer-facing changes -5. Add `meta-needs-migration-guide` label if migration steps are required -6. Link relevant issues to the PRs - -#### 1.2 Call for Release Notes - -1. Create a release notes PR -2. Notify developers of PRs marked with `meta-needs-release-notes` - -#### 1.3 Create the Release PR - -1. Manually run the [Prepare Release](https://github.com/fiskaltrust/middleware/actions/workflows/prepare-release.yml) action on the `main` branch - -This action will: -- Create a `release/vX.Y` branch with `-rc` prerelease identifier -- Update `main` branch to the next version with `-ci` identifier -- Create a Pull Request from the release branch to `main` - -### Phase 2: Testing - -#### 2.1 Deploy RC Versions to Sandbox - -From the release PR, use `/deploy` commands to deploy packages with `-rc` versions: - -``` -/deploy queue SQLite -/deploy queue EFCore -/deploy scu-de SwissbitCloudV2 -``` - -#### 2.2 Internal Release Notes Review - -1. Share release notes with market lead engineers -2. Post in the releases slack channel for visibility - -#### 2.3 Feature Testing - -Test all new features and bug fixes in sandbox with relevant configurations: -- Example: For a DE Localization bugfix, use a `SQLite` Queue + `FiskalyCertified` SCU -- Example: For a `SwissbitCloudV2` feature, use a CloudCashbox + `SwissbitCloudV2` SCU - -#### 2.4 Launcher End2End Tests - -1. Run smoketests on all relevant launcher/OS combinations -2. Verify packages start and sign correctly -3. Basic functionality testing only (specific features already tested in 2.3) - -#### 2.5 Fix Issues - -If issues are found during testing: -1. Fix issues in the release branch -2. Deploy new `-rc` version with `/deploy` -3. Re-test the fix - -### Phase 3: Production Release - -#### 3.1 Deploy Release Candidate to Production (Optional) - -If an RC needs to be released to production for customer testing: - -``` -/release -``` - -This creates a tag and GitHub release for the `-rc` version. - -#### 3.2 Finalize Version - -Once testing is complete, remove the `-rc` suffix: - -``` -/version -``` - -This updates `version.json` in the release branch to the full version. - -#### 3.3 Create Release Tags - -For each package to be released: - -``` -/release -``` - -This will: -- Create a version tag (e.g., `queue/sqlite/v1.3.71`) -- Create a GitHub release with release notes -- Trigger the production deployment workflow - -#### 3.4 Merge Release PR - -After all packages are tagged: - -``` -/merge -``` - -This merges the release branch while preserving the newer version in `main`. - -> **Note:** The `/merge` command resolves the `version.json` file in favor of `main`. -> Example: Release branch has `1.3.68`, main has `1.3.69-ci` → after merge: `1.3.69-ci` - -#### 3.5 Publish Release Notes - -Publish the release notes to [docs.fiskaltrust.cloud](https://docs.fiskaltrust.cloud/changelog/middleware/) once packages are available in production.