Skip to content

Commit

Permalink
Merge pull request #801 from catenax-ng/main
Browse files Browse the repository at this point in the history
feature: #718 #630 #736
  • Loading branch information
ds-mwesener committed Mar 28, 2024
2 parents 54fc50e + 684ed13 commit 0163c86
Show file tree
Hide file tree
Showing 29 changed files with 954 additions and 1,020 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/e2e-tests-xray_frontend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ jobs:
CYPRESS_ADMIN_PW: ${{ secrets.TRACE_X_ADMIN_PW }}
CYPRESS_USER_LOGIN: ${{ secrets.TRACE_X_USER_LOGIN }}
CYPRESS_USER_PW: ${{ secrets.TRACE_X_USER_PW }}
REDIRECT_URI: https://traceability-portal-e2e-a.dev.demo.catena-x.net/dashboard
CYPRESS_REDIRECT_URI: https://traceability-portal-e2e-a.dev.demo.catena-x.net/dashboard

- name: Submit results to Xray
# we don't want to submit results to xray when it was run by PR
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,42 +17,42 @@ jobs:
run: echo HELM_VERSION=$(cat charts/traceability-foss/CHANGELOG.md | sed -n 's/.*\[\([0-9]\+\.[0-9]\+\.[0-9]\+\)\].*/\1/p' | head -n 1) >> $GITHUB_ENV

- name: Update Chart.yaml appVersion
uses: mikefarah/yq@v4.42.1
uses: mikefarah/yq@v4.43.1
with:
cmd: yq -i eval '.appVersion = "${{ github.ref_name }}"' charts/traceability-foss/Chart.yaml

- name: Update Chart.yaml version
uses: mikefarah/yq@v4.42.1
uses: mikefarah/yq@v4.43.1
with:
cmd: yq -i eval '.version = "${{ env.HELM_VERSION }}"' charts/traceability-foss/Chart.yaml

- name: Update frontend dependency version in Chart.yaml
uses: mikefarah/yq@v4.42.1
uses: mikefarah/yq@v4.43.1
with:
cmd: yq -i eval '.dependencies[0].version = "${{ env.HELM_VERSION }}"' charts/traceability-foss/Chart.yaml

- name: Update backend dependency version in Chart.yaml
uses: mikefarah/yq@v4.42.1
uses: mikefarah/yq@v4.43.1
with:
cmd: yq -i eval '.dependencies[1].version = "${{ env.HELM_VERSION }}"' charts/traceability-foss/Chart.yaml

- name: Update frontend version in frontend/Chart.yaml
uses: mikefarah/yq@v4.42.1
uses: mikefarah/yq@v4.43.1
with:
cmd: yq -i eval '.version = "${{ env.HELM_VERSION }}"' charts/traceability-foss/charts/frontend/Chart.yaml

- name: Update frontend appVersion in frontend/Chart.yaml
uses: mikefarah/yq@v4.42.1
uses: mikefarah/yq@v4.43.1
with:
cmd: yq -i eval '.appVersion = "${{ github.ref_name }}"' charts/traceability-foss/charts/frontend/Chart.yaml

- name: Update backend version in backend/Chart.yaml
uses: mikefarah/yq@v4.42.1
uses: mikefarah/yq@v4.43.1
with:
cmd: yq -i eval '.version = "${{ env.HELM_VERSION }}"' charts/traceability-foss/charts/backend/Chart.yaml

- name: Update backend appVersion in frontend/Chart.yaml
uses: mikefarah/yq@v4.42.1
uses: mikefarah/yq@v4.43.1
with:
cmd: yq -i eval '.appVersion = "${{ github.ref_name }}"' charts/traceability-foss/charts/backend/Chart.yaml

Expand Down
5 changes: 5 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 @@ -32,6 +33,10 @@ _**For better traceability add the corresponding GitHub issue number in each cha
- #718 update tj-actions/changed-files from v42 to v44
- #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
- #630 Updated user manual with new part detailed view also for supplier and customer parts
- #736 fixed bug in request logic of contracts detailed view
- Improved the release documentation

### Removed
- Shedlock, resilence4j, templateResolver as not used anymore
Expand Down
14 changes: 7 additions & 7 deletions DEPENDENCIES_BACKEND
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ maven/mavencentral/io.micrometer/micrometer-core/1.12.4, Apache-2.0 AND (Apache-
maven/mavencentral/io.micrometer/micrometer-jakarta9/1.12.4, Apache-2.0, approved, #12923
maven/mavencentral/io.micrometer/micrometer-observation/1.12.4, Apache-2.0, approved, #11680
maven/mavencentral/io.micrometer/micrometer-registry-prometheus/1.11.4, Apache-2.0, approved, #9805
maven/mavencentral/io.micrometer/micrometer-registry-prometheus/1.12.4, , restricted, clearlydefined
maven/mavencentral/io.micrometer/micrometer-registry-prometheus/1.12.4, Apache-2.0, approved, #14187
maven/mavencentral/io.minio/minio/8.5.6, Apache-2.0, approved, #9097
maven/mavencentral/io.opentelemetry/opentelemetry-api/1.29.0, Apache-2.0, approved, #10088
maven/mavencentral/io.opentelemetry/opentelemetry-api/1.31.0, Apache-2.0, approved, #11087
Expand Down Expand Up @@ -330,12 +330,12 @@ maven/mavencentral/org.hibernate.validator/hibernate-validator/8.0.1.Final, Apac
maven/mavencentral/org.javassist/javassist/3.29.2-GA, Apache-2.0 AND LGPL-2.1-or-later AND MPL-1.1, approved, #6023
maven/mavencentral/org.jboss.logging/jboss-logging/3.5.0.Final, Apache-2.0, approved, #9471
maven/mavencentral/org.jboss.logging/jboss-logging/3.5.3.Final, Apache-2.0, approved, #9471
maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-common/1.9.0, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-common/1.9.23, , restricted, clearlydefined
maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-common/1.9.0, Apache-2.0, approved, #14186
maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-common/1.9.23, Apache-2.0, approved, #14186
maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.6.10, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.9.23, , restricted, clearlydefined
maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.9.23, None, restricted, #14188
maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.6.10, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.9.23, , restricted, clearlydefined
maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.9.23, None, restricted, #14185
maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.6.20, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.jetbrains.kotlin/kotlin-stdlib/1.9.23, Apache-2.0, approved, #11827
maven/mavencentral/org.jetbrains/annotations/24.1.0, Apache-2.0, approved, clearlydefined
Expand All @@ -350,7 +350,7 @@ maven/mavencentral/org.junit.platform/junit-platform-launcher/1.10.2, EPL-2.0, a
maven/mavencentral/org.junit.platform/junit-platform-suite-api/1.10.2, EPL-2.0, approved, #9707
maven/mavencentral/org.junit.platform/junit-platform-suite-commons/1.10.2, EPL-2.0, approved, #9716
maven/mavencentral/org.junit.platform/junit-platform-suite-engine/1.10.2, EPL-2.0, approved, #9710
maven/mavencentral/org.junit.platform/junit-platform-suite/1.10.2, , restricted, clearlydefined
maven/mavencentral/org.junit.platform/junit-platform-suite/1.10.2, EPL-2.0, approved, #14183
maven/mavencentral/org.jvnet.mimepull/mimepull/1.9.15, CDDL-1.1 OR GPL-2.0-only WITH Classpath-exception-2.0, approved, CQ21484
maven/mavencentral/org.latencyutils/LatencyUtils/2.0.3, BSD-2-Clause, approved, CQ17408
maven/mavencentral/org.mockito/mockito-core/5.7.0, MIT AND (Apache-2.0 AND MIT) AND Apache-2.0, approved, #11424
Expand Down Expand Up @@ -387,7 +387,7 @@ maven/mavencentral/org.springframework.boot/spring-boot-starter-oauth2-client/3.
maven/mavencentral/org.springframework.boot/spring-boot-starter-oauth2-resource-server/3.2.4, Apache-2.0, approved, #11931
maven/mavencentral/org.springframework.boot/spring-boot-starter-security/3.2.4, Apache-2.0, approved, #12069
maven/mavencentral/org.springframework.boot/spring-boot-starter-test/3.2.4, Apache-2.0, approved, #12917
maven/mavencentral/org.springframework.boot/spring-boot-starter-thymeleaf/3.2.4, , restricted, clearlydefined
maven/mavencentral/org.springframework.boot/spring-boot-starter-thymeleaf/3.2.4, Apache-2.0, approved, #14184
maven/mavencentral/org.springframework.boot/spring-boot-starter-tomcat/3.2.4, Apache-2.0, approved, #11923
maven/mavencentral/org.springframework.boot/spring-boot-starter-validation/3.2.4, Apache-2.0, approved, #12921
maven/mavencentral/org.springframework.boot/spring-boot-starter-web/3.2.4, Apache-2.0, approved, #11916
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
4 changes: 2 additions & 2 deletions docs/src/docs/arc42/introduction-goals/requirements.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
* Notifications/Messages regarding quality-related incidents and a tool for inspecting the supply chain.

== Essential features
* List and view manufactured parts based on BoM AsBuild
* List and view planned parts based on BoM AsPlanned
* List, view and publish manufactured parts based on BoM AsBuild
* List, view and publish planned parts based on BoM AsPlanned
* Filter and search functionality on part views
* Show detailed information on manufactured parts from AAS description assets and Aspects
* Uses Submodels SerialPart, AssemblyPartRelationship and Batch
Expand Down
2 changes: 1 addition & 1 deletion docs/src/docs/arc42/solution-strategy/structure.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ It roughly can be broken down into the following parts:
* Asset controllers to get the asset information
* Dashboard controller to get dashboard related summed up information
* Registry controller to fetch assets from the Digital Twin Registry
* Notification controllers to get notification information and create EDC notification offers
* Notification controller to get notification information and create EDC notification offers
* Submodel controller for providing asset data functionality
* Import controller for importing Trace-X data for data provisioning
* Contract controller to get information about contract agreements
Expand Down
18 changes: 9 additions & 9 deletions docs/src/docs/user/user-manual.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -101,26 +101,26 @@ Navigates to the Catena-X portal.
Only applicable for the admin user role.
Possibility to check the network status based on logfiles and will provide access to configuration possibilities for the application.

==== Contracts View and export
==== Contracts view and export

In the Contracts View an admin user can view contract agreements and sort them by the contract ID.
In the Contracts view an admin user can view contract agreements and sort them by the contract ID.

Also, it's possible to select contracts and export/download them as a .csv file
Also, it's possible to select contracts and export/download them as a .csv file.

image::https://raw.githubusercontent.com/eclipse-tractusx/traceability-foss/main/docs/src/images/arc42/user-guide/admin_contract_view.png[]

By clicking on the burger menu of a data row you can get to the detailed view of a contract
By clicking on the burger menu of a data row you can get to the detailed view of a contract.

==== Contract Detailed View
==== Contract detailed view

The Contract Detailed View is divided into two sections.
The contract detailed view is divided into two sections.

On the left, you'll find a
general overview of the contract data.

On the right, policy details are
displayed in JSON format. Use the View Selector to switch between
JSON View and JSON Tree View. Expand the policy details card on the right
displayed in JSON format. Use the view selector to switch between
JSON view and JSON tree view. Expand the policy details card on the right
upper side for full-width display.

image::https://raw.githubusercontent.com/eclipse-tractusx/traceability-foss/main/docs/src/images/arc42/user-guide/admin_contract_detailed_view.png[]
Expand Down Expand Up @@ -290,7 +290,7 @@ Information about the identifiers at the customer for the respective part/batch.
==== Traction battery code data

If the asset has the "traction battery code" aspect model, an additional section underneath will be displayed.
In this section there are detailed information about the traction battery and a table with its subcomponents
In this section there is detailed information about the traction battery and a table with its subcomponents

==== Creation of a quality incident from detailed view

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 0163c86

Please sign in to comment.