Skip to content

Commit

Permalink
Merge pull request #1120 from catenax-ng/chore/xxx-update-release-doc
Browse files Browse the repository at this point in the history
chore(documentation): xxx update release and guideline documentation
  • Loading branch information
ds-mmaul authored Mar 27, 2024
2 parents df03c1b + 7b3b1bb commit 034744a
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 37 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ _**For better traceability add the corresponding GitHub issue number in each cha
- #706 Created notification classes to support both alert and investigations
- #706 Notification controller having the same endpoints as alerts and investigations controllers
- #736 add contractAgreementId as searchable field for /contracts
- Added capitalization section in guidelines.md

### Changed
- #709 Bumped spring-core from 6.0.17 to 6.1.5
Expand All @@ -33,6 +34,7 @@ _**For better traceability add the corresponding GitHub issue number in each cha
- #718 update maven-project-info-reports-plugin from 3.4.5 to 3.5.0
- #718 update jsonschema2pojo-core from 1.1.1 to 1.2.1
- #718 migrate Spring Boot from 3.1.9 to 3.2.4
- Improved the release documentation

### Removed
- Shedlock, resilence4j, templateResolver as not used anymore
Expand Down
80 changes: 45 additions & 35 deletions docs/RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,50 @@
<h1 style="margin: 10px 0 0 10px">Product Traceability FOSS Release guide</h1>
</div>

## Release an app
Prerequisite:
Make sure eclipse / catena git repositories are in sync
# Release an app

1) Decide which version will be incremented. Following shows example for 1.0.0
2) Create a release branch in [IRS](https://github.com/eclipse-tractusx/item-relationship-service) named release/trace-x-irs-client-lib-release
### Prerequisite:
- Make sure eclipse / catena git repositories are in sync
- Before releasing Trace-X, it is required to go through the [IRS Library Release](#irs-library-release) steps

### IRS Library Release
The goal is to not use a -SNAPSHOT version in the Trace-X Release.
1) Check if the irs-registry-client version has a -SNAPSHOT suffix: [IRS Repo](https://github.com/eclipse-tractusx/item-relationship-service/blob/f731e2e7403b738d516a7a25b19c756cc32b04f3/pom.xml#L76)
2) If yes, continue with the next steps. If no, skip to the [Trace-X Release process](#trace-x-release-process)
3) Click on the [Update irs-registry-client Version workflow](https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/update-registry-library.yaml).
4) Select "Run workflow," choose the release branch and select the type of version increment major, minor or patch. Use the Semantic Versioning guidelines to accurately determine the specific type of version increment. [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Don't forget to check the box to remove the snapshot.
5) The irs lib version in (irs)[https://github.com/eclipse-tractusx/item-relationship-service/blob/65a42336b7ec7ae50690ec7590d05d8e3b15555a/pom.xml#L76] should align with the potential (newer one)[https://github.com/catenax-ng/tx-traceability-foss/blob/fb1130d4c1dd4f869e61d334310e99bc191fa0c7/pom.xml#L103] in trace-x main
6) A pull request (name: Update irs-registry-client to "Version") will be generated in which you have to make sure the irs lib version is now correct (change it manually if necessary). Check if Actions finish successfully. (If Dash IP Check fails, update the DEPENDENCIES file with the mvn command on the generated pull request branch)
7) Merge the created Pull request and make sure the release branch is deleted afterward (default behaviour).
8) In [IRS](https://github.com/eclipse-tractusx/item-relationship-service), the gitHub action [Upload to Central Maven Registry ](https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/maven-deploy.yaml) will release the irs-registry-client library with the version defined in step 3
9) Create and Checkout release branch on catena /release/1.0.0
10) Update <irs-client-lib.version> in the above created release branch to the created one in step 3.
11) Edit changelog: Align the new version (1.0.0) with the changes and add new UNRELEASED section
12) Edit /charts/traceability-foss/CHANGELOG.md
13) Add an Entry for an incremented (patch) version (1.0.0 -> 1.0.1)
14) Push onto /release/1.0.0 catena and eclipse
15) Open Release App Page Catena: https://github.com/catenax-ng/tx-traceability-foss/releases
16) Draft a new release
17) On dropdown choose a tag - use the version 1.0.0 (Create new tag will appear - select it)
18) On dropdown target use your /release/1.0.0
19) Title = Version of app -> 1.0.0
20) Description = Changelog Content of app
21) Checkbox set as latest release
22) Verify that github action [Release](https://github.com/catenax-ng/tx-traceability-foss/actions/workflows/release.yaml) generation has been triggered
23) Verify that an automatic pull request has been opened (Prepare Helm release for next version)
24) Validate that the versions within that pull requests are correct
25) Merge pull request (Prepare Helm release for next version)
26) Merge release branch into main (when merging make sure to restore release branch since it should stay)
27) Open the github action for helm release generation: https://github.com/catenax-ng/tx-traceability-foss/actions/workflows/helm-chart-release.yaml
28) Execute it from main branch
29) Validate that the helm charts release has been generated within the release page
30) Create a new branch from release/1.0.0 and name it release/helm-environments-1.0.0 (helm app version not chart version)
31) Repeat step 8 to 23 for tractus-x: [GitHub Releases page](https://github.com/eclipse-tractusx/traceability-foss/releases)
32) Sync catena and eclipse main branch
33) Create a message in the Trace-X channel of the Eclipse Foundation Chat to notify the community about the new release (add a link to the tractus-x release)
4) Select "Run workflow" select the type of version increment major, minor or patch (Can be adjusted on generated PR branch). Check the box to remove the snapshot. Click on "Run".
5) A pull request (name: Update irs-registry-client to "Version") will be generated in which you have to make sure the irs lib version is now correct (change it manually if necessary).
6) Merge the generated Pull request
7) The GitHub action [Upload to Central Maven Registry ](https://github.com/eclipse-tractusx/item-relationship-service/actions/workflows/maven-deploy.yaml) will automatically release the irs-registry-client library with the new version defined in step 4

### Trace-X Release process

1) Decide which to which version the release trace-x will be incremented. Following shows example for releasing a version 1.0.0
2) Create and Checkout release branch on catena /release/1.0.0
3) Optional: If [IRS Library Release](#irs-library-release) was needed:
1) If the action of [IRS Library Release](#irs-library-release) step 7 was executed successfully
2) Update <irs-client-lib.version> in the above created release
4) Edit changelog: Align the new version (1.0.0) with the changes and add a new UNRELEASED section
5) Edit /charts/traceability-foss/CHANGELOG.md
6) Add an Entry for an incremented (patch) version (1.0.0 -> 1.0.1)
7) Update the [Compatability Matrix](https://github.com/catenax-ng/tx-traceability-foss/blob/main/COMPATIBILITY_MATRIX.md) with a new entry for the release version
8) Push onto /release/1.0.0 catena and eclipse
9) Open Release App Page Catena: https://github.com/catenax-ng/tx-traceability-foss/releases
10) Draft a new release
11) On dropdown choose a tag - use the version 1.0.0 (Create new tag will appear - select it)
12) On dropdown target use your /release/1.0.0
13) Title = Version of app -> 1.0.0
14) Description = Changelog Content of app
15) Checkbox set as latest release
16) Verify that GitHub action [Release](https://github.com/catenax-ng/tx-traceability-foss/actions/workflows/release.yaml) generation has been triggered
17) Verify that an automatic pull request has been opened (Prepare Helm release for next version)
18) Validate that the versions within that pull requests are correct
19) Merge pull request (Prepare Helm release for next version)
20) Merge release branch into main (when merging make sure to restore release branch since it should stay)
21) Open the GitHub action for helm release generation: https://github.com/catenax-ng/tx-traceability-foss/actions/workflows/helm-chart-release.yaml
22) Execute it from main branch
23) Validate that the helm charts release has been generated within the release page
24) Create a new branch from release/1.0.0 and name it release/helm-environments-1.0.0 (helm app version not chart version)
25) Repeat step 9 to 24 for tractus-x: [GitHub Releases page](https://github.com/eclipse-tractusx/traceability-foss/releases)
26) Sync catena and eclipse main branch
27) Create a message in the Trace-X channel of the Eclipse Foundation Chat to notify the community about the new release (add a link to the tractus-x release)
3 changes: 1 addition & 2 deletions docs/src/docs/arc42/cross-cutting/safety-security.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ JWT token should also contain two claims:
The list of values will be converted to roles by Trace-X.
Currently, Trace-X API handles three roles: **'User'** and **'Supervisor'** and **'Admin'.**

// TODO: Add Link to the role matrix
You can have a look at the rights and roles matrix in the system overview of the administration guide.
You can have a look at the https://github.com/eclipse-tractusx/traceability-foss/blob/main/docs/src/docs/administration/system-overview.adoc#rights-and-role-matrix-of-trace-x[rights and role matrix] in the system overview of the administration guide.

=== Trace-X as EDC client

Expand Down
7 changes: 7 additions & 0 deletions frontend/GUIDELINES.md
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,13 @@ You might find some CSS warnings on vscode. To disable those, you must configure

This prevents the default linter from validating the css.

### Capitalization
Please make sure to follow this [capitalization guideline](https://developers.google.com/style/capitalization) to keep consistent capitalization throughout the UI.

The most significant rules are:
- The start of a header / label / sentence begins with an upper case followed by lowercase letters
- Domain specific names such as "As-Built", "As-Planned" can also be written in upper case even when the letter is not at the start of a header / label / sentence.

### Icons

We use the open source icons from [Material Icons](https://fonts.google.com/icons?query=Material+Icon).
Expand Down

0 comments on commit 034744a

Please sign in to comment.