From 5766ddede901dc26f25a349adf82fcc7404c94a8 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Fri, 21 Jun 2024 19:13:00 +0200 Subject: [PATCH 01/58] chore(build):[#222] remove "Push image (GHCR)" --- .github/workflows/irs-build.yml | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 21cdfb8d3b..184ddf0e10 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -125,25 +125,7 @@ jobs: # This is where you will update the PAT to GITHUB_TOKEN run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin - - name: Push image (GHCR) - env: - DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }} - if: >- - env.DOCKER_HUB_USER == '' && - (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && - github.actor != 'dependabot[bot]' - run: | - IMAGE_ID=ghcr.io/${{ github.repository_owner }}/${{ matrix.image }} - # Change all uppercase to lowercase - IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') - echo IMAGE_ID=$IMAGE_ID - docker tag ${{ matrix.image }} $IMAGE_ID:${{ steps.version.outputs.image_tag }} - docker push $IMAGE_ID:${{ steps.version.outputs.image_tag }} - - docker tag ${{ matrix.image }} $IMAGE_ID:$GITHUB_SHA - docker push $IMAGE_ID:$GITHUB_SHA - - name: Login to Docker Hub env: DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }} @@ -162,6 +144,9 @@ jobs: run: | docker tag ${{ matrix.image }} ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.image_tag }} docker push ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.image_tag }} + + docker tag ${{ matrix.image }} $IMAGE_ID:$GITHUB_SHA + docker push $IMAGE_ID:$GITHUB_SHA # https://github.com/peter-evans/dockerhub-description - name: Update Docker Hub description From c831d52277c38855804e4f0e3708d66d1c603935 Mon Sep 17 00:00:00 2001 From: jhartmann Date: Mon, 24 Jun 2024 14:06:50 +0200 Subject: [PATCH 02/58] fix(ess): fix submodel validation and ess registration --- .../bpn/validation/BPNIncidentValidation.java | 6 +- .../irs/ess/service/EdcRegistration.java | 63 +++++++++++-------- .../tractusx/irs/ess/service/EssService.java | 4 +- .../validation/BPNIncidentValidationTest.java | 30 ++++++--- ...igationJobProcessingEventListenerTest.java | 4 +- .../PartSiteInformationAsPlanned.java | 2 +- .../partsiteinformationasplanned/Site.java | 2 +- 7 files changed, 68 insertions(+), 43 deletions(-) diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidation.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidation.java index fd760cd462..3c87a9e261 100644 --- a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidation.java +++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidation.java @@ -77,13 +77,13 @@ public static SupplyChainImpacted jobContainsIncidentBPNs(final List incidentBPNs) throws InvalidAspectTypeFormatException { - if (partSiteInformationAsPlanned.sites().stream().anyMatch(site -> site.catenaXSiteId() == null)) { - throw new InvalidAspectTypeFormatException("'PartSiteInformationAsPlanned' exists, but catenaXSiteId could not be found."); + if (partSiteInformationAsPlanned.sites().stream().anyMatch(site -> site.catenaXsiteId() == null)) { + throw new InvalidAspectTypeFormatException("'PartSiteInformationAsPlanned' exists, but catenaXsiteId could not be found."); } final List siteIds = partSiteInformationAsPlanned.getCatenaXSiteId(); try { diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EdcRegistration.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EdcRegistration.java index bc2f3a1d8c..aa404f485b 100644 --- a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EdcRegistration.java +++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EdcRegistration.java @@ -112,7 +112,9 @@ public void registerEdcAsset() { private void registerAsset(final String assetId, final String notificationType, final String path) { final var body = """ { - "@context": {}, + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/" + }, "@id": "%s", "properties": { "description": "ESS notification endpoint", @@ -142,33 +144,42 @@ private void registerAsset(final String assetId, final String notificationType, private void registerPolicy(final String policyId) { final var body = """ + { + "@context": { + "@vocab": "https://w3id.org/edc/v0.0.1/ns/", + "cx-policy": "https://w3id.org/catenax/policy/", + "odrl": "http://www.w3.org/ns/odrl/2/" + }, + "@id": "%s", + "policy": { + "@type": "odrl:Set", + "odrl:permission": [ { - "@context": { - "odrl": "http://www.w3.org/ns/odrl/2/" - }, - "@id": "%s", - "policy": { - "odrl:permission": [ - { - "odrl:action": "use", - "odrl:constraint": { - "@type": "AtomicConstraint", - "odrl:or": [ - { - "@type": "Constraint", - "odrl:leftOperand": "PURPOSE", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "ID 3.1 Trace" - } - ] - } - } - ] - } + "odrl:action": "use", + "odrl:constraint": { + "@type": "AtomicConstraint", + "odrl:and": [ + { + "odrl:leftOperand": "cx-policy:FrameworkAgreement", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "traceability:1.0" + }, + { + "odrl:leftOperand": "cx-policy:UsagePurpose", + "odrl:operator": { + "@id": "odrl:eq" + }, + "odrl:rightOperand": "cx.core.industrycore:1" + } + ] + } } - """.formatted(policyId); + ] + } + } + """.formatted(policyId); final var entity = restTemplate.exchange(edcProviderUrl + policydefinitionsPath, HttpMethod.POST, toEntity(body), String.class); diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java index 9f0934e4f5..7422e95dd2 100644 --- a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java +++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java @@ -56,8 +56,8 @@ @Slf4j public class EssService { - private static final String PART_AS_PLANNED = SemanticModelNames.PART_AS_PLANNED_2_0_0; - private static final String PART_SITE_INFORMATION_AS_PLANNED = SemanticModelNames.PART_SITE_INFORMATION_AS_PLANNED_1_0_0; + public static final String PART_AS_PLANNED = SemanticModelNames.PART_AS_PLANNED_2_0_0; + public static final String PART_SITE_INFORMATION_AS_PLANNED = SemanticModelNames.PART_SITE_INFORMATION_AS_PLANNED_1_0_0; private final IrsItemGraphQueryService irsItemGraphQueryService; private final BpnInvestigationJobCache bpnInvestigationJobCache; diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidationTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidationTest.java index 3b59380ce6..848e4f84a3 100644 --- a/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidationTest.java +++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/bpn/validation/BPNIncidentValidationTest.java @@ -24,7 +24,10 @@ package org.eclipse.tractusx.irs.ess.bpn.validation; import static org.assertj.core.api.Assertions.assertThat; +import static org.eclipse.tractusx.irs.ess.service.EssService.PART_AS_PLANNED; +import static org.eclipse.tractusx.irs.ess.service.EssService.PART_SITE_INFORMATION_AS_PLANNED; import static org.eclipse.tractusx.irs.util.TestMother.shell; +import static org.eclipse.tractusx.irs.util.TestMother.submodelDescriptor; import java.time.ZonedDateTime; import java.util.ArrayList; @@ -37,6 +40,7 @@ import org.eclipse.tractusx.irs.component.Shell; import org.eclipse.tractusx.irs.component.assetadministrationshell.AssetAdministrationShellDescriptor; import org.eclipse.tractusx.irs.component.assetadministrationshell.IdentifierKeyValuePair; +import org.eclipse.tractusx.irs.component.assetadministrationshell.SubmodelDescriptor; import org.eclipse.tractusx.irs.component.partasplanned.PartAsPlanned; import org.eclipse.tractusx.irs.component.partasplanned.ValidityPeriod; import org.eclipse.tractusx.irs.component.partsiteinformationasplanned.PartSiteInformationAsPlanned; @@ -61,7 +65,8 @@ void shouldReturnNoWhenBPNsDoNotContainShellBPNs() { final Jobs jobs = jobResult(parentId, cxIdBPNMap); // Act - final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(jobs.getShells().stream().map(Shell::payload).toList(), bpns); + final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs( + jobs.getShells().stream().map(Shell::payload).toList(), bpns); // Assert assertThat(actual).isEqualTo(SupplyChainImpacted.NO); @@ -82,7 +87,8 @@ void shouldReturnYesWhenBPNsContainShellBPNs() { final Jobs jobs = jobResult(parentId, cxIdBPNMap); // Act - final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(jobs.getShells().stream().map(Shell::payload).toList(), bpns); + final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs( + jobs.getShells().stream().map(Shell::payload).toList(), bpns); // Assert assertThat(actual).isEqualTo(SupplyChainImpacted.YES); @@ -98,7 +104,8 @@ void shouldReturnYesWhenNoChildrenAndParentContainsBPN() { final Jobs jobs = jobResult(parentId, cxIdBPNMap); // Act - final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(jobs.getShells().stream().map(Shell::payload).toList(), bpns); + final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs( + jobs.getShells().stream().map(Shell::payload).toList(), bpns); // Assert assertThat(actual).isEqualTo(SupplyChainImpacted.YES); @@ -114,7 +121,8 @@ void shouldReturnNoWhenNoChildrenAndParentDoesNotContainBPN() { final Jobs jobs = jobResult(parentId, cxIdBPNMap); // Act - final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(jobs.getShells().stream().map(Shell::payload).toList(), bpns); + final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs( + jobs.getShells().stream().map(Shell::payload).toList(), bpns); // Assert assertThat(actual).isEqualTo(SupplyChainImpacted.NO); @@ -129,7 +137,8 @@ void shouldReturnUnknownWhenJobContainsNoShells() { final Jobs jobs = jobResult(parentId, cxIdBPNMap); // Act - final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(jobs.getShells().stream().map(Shell::payload).toList(), bpns); + final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs( + jobs.getShells().stream().map(Shell::payload).toList(), bpns); // Assert assertThat(actual).isEqualTo(SupplyChainImpacted.UNKNOWN); @@ -151,7 +160,8 @@ void shouldReturnUnknownWhenJobContainsShellWithoutBPN() { .build(); // Act - final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs(jobs.getShells().stream().map(Shell::payload).toList(), bpns); + final SupplyChainImpacted actual = BPNIncidentValidation.jobContainsIncidentBPNs( + jobs.getShells().stream().map(Shell::payload).toList(), bpns); // Assert assertThat(actual).isEqualTo(SupplyChainImpacted.UNKNOWN); @@ -164,7 +174,7 @@ void shouldReturnNoWhenPartSideInformationDoesNotContainBPNS() throws InvalidAsp final PartSiteInformationAsPlanned partSiteInformation = PartSiteInformationAsPlanned.builder() .sites(List.of( Site.builder() - .catenaXSiteId( + .catenaXsiteId( "BPNS123456") .build())) .build(); @@ -183,7 +193,7 @@ void shouldReturnYesWhenPartSideInformationContainBPNS() throws InvalidAspectTyp final PartSiteInformationAsPlanned partSiteInformation = PartSiteInformationAsPlanned.builder() .sites(List.of( Site.builder() - .catenaXSiteId( + .catenaXsiteId( "BPNS00000003B0Q0") .build())) .build(); @@ -278,12 +288,16 @@ private static Jobs jobResult(final String parentId, final Map c } private static AssetAdministrationShellDescriptor createShell(final String catenaXId, final String bpn) { + final List submodelDescriptors = List.of( + submodelDescriptor(PART_AS_PLANNED, "test", "test"), + submodelDescriptor(PART_SITE_INFORMATION_AS_PLANNED, "test", "test")); return AssetAdministrationShellDescriptor.builder() .globalAssetId(catenaXId) .specificAssetIds(List.of(IdentifierKeyValuePair.builder() .name("manufacturerId") .value(bpn) .build())) + .submodelDescriptors(submodelDescriptors) .build(); } } \ No newline at end of file diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/InvestigationJobProcessingEventListenerTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/InvestigationJobProcessingEventListenerTest.java index 53bf84b9bb..9f7ba8f624 100644 --- a/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/InvestigationJobProcessingEventListenerTest.java +++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/InvestigationJobProcessingEventListenerTest.java @@ -314,7 +314,7 @@ void shouldCreateTombstoneWhenSiteIdIsMissing() throws EdcClientException { final Optional job = bpnInvestigationJobCache.findByJobId(jobId); assertThat(job).isPresent(); assertThat(job.get().getJobSnapshot().getTombstones()).hasSize(1); - assertThat(job.get().getJobSnapshot().getTombstones().get(0).getProcessingError().getErrorDetail()).isEqualTo("'PartSiteInformationAsPlanned' exists, but catenaXSiteId could not be found."); + assertThat(job.get().getJobSnapshot().getTombstones().get(0).getProcessingError().getErrorDetail()).isEqualTo("'PartSiteInformationAsPlanned' exists, but catenaXsiteId could not be found."); } private void createMockForJobIdAndShell(final UUID mockedJobId, final String mockedShell, @@ -378,7 +378,7 @@ private static Submodel getPartSiteInformationAsPlanned() { "functionValidUntil": "2025-02-08T04:30:48.000Z", "function": "production", "functionValidFrom": "2019-08-21T02:10:36.000Z", - "catenaXSiteId": "BPNS000004711DMY" + "catenaXsiteId": "BPNS000004711DMY" } ] } diff --git a/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/PartSiteInformationAsPlanned.java b/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/PartSiteInformationAsPlanned.java index 7d1b12d858..b573c83388 100644 --- a/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/PartSiteInformationAsPlanned.java +++ b/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/PartSiteInformationAsPlanned.java @@ -35,6 +35,6 @@ @Jacksonized public record PartSiteInformationAsPlanned(String catenaXId, List sites) { public List getCatenaXSiteId() { - return sites().stream().map(Site::catenaXSiteId).toList(); + return sites().stream().map(Site::catenaXsiteId).toList(); } } diff --git a/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/Site.java b/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/Site.java index e7dcd83fd2..16bcc2fe17 100644 --- a/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/Site.java +++ b/irs-models/src/main/java/org/eclipse/tractusx/irs/component/partsiteinformationasplanned/Site.java @@ -34,5 +34,5 @@ @Builder @Jacksonized public record Site(ZonedDateTime functionValidUntil, String function, ZonedDateTime functionValidFrom, - String catenaXSiteId) { + String catenaXsiteId) { } From d1f0f20f2f893bfa596730dcba1fb43a238a4348 Mon Sep 17 00:00:00 2001 From: jhartmann Date: Mon, 24 Jun 2024 14:06:57 +0200 Subject: [PATCH 03/58] chore(testing): fix ess testdata --- .../ESS_Testdata_v2.0.0-AsPlanned.json | 238 +++++++++--------- 1 file changed, 119 insertions(+), 119 deletions(-) diff --git a/local/testing/testdata/ESS_Testdata_v2.0.0-AsPlanned.json b/local/testing/testdata/ESS_Testdata_v2.0.0-AsPlanned.json index 43b0d510de..7fa5039d91 100644 --- a/local/testing/testdata/ESS_Testdata_v2.0.0-AsPlanned.json +++ b/local/testing/testdata/ESS_Testdata_v2.0.0-AsPlanned.json @@ -42,7 +42,7 @@ { "catenaXId": "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e", "bpnl": "BPNL00000003AYRE", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2019-04-04T03:19:03.000Z", @@ -56,7 +56,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e", "sites": [ @@ -64,12 +64,12 @@ "functionValidUntil": "2025-02-08T04:30:48.000Z", "function": "production", "functionValidFrom": "2019-08-21T02:10:36.000Z", - "catenaXSiteId": "BPNS00000003AYRE" + "catenaXsiteId": "BPNS00000003AYRE" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:0733946c-59c6-41ae-9570-cb43a6e4c79e", "childItems": [ @@ -94,7 +94,7 @@ { "catenaXId": "urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c", "bpnl": "BPNL00ARBITRARY1", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2016-12-09T05:06:53.000Z", @@ -108,7 +108,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c", "sites": [ @@ -116,12 +116,12 @@ "functionValidUntil": "2029-03-01T06:04:34.000Z", "function": "production", "functionValidFrom": "2018-02-05T09:47:59.000Z", - "catenaXSiteId": "BPNS00ARBITRARY1" + "catenaXsiteId": "BPNS00ARBITRARY1" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:aad27ddb-43aa-4e42-98c2-01e529ef127c", "childItems": [ @@ -160,7 +160,7 @@ { "catenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7", "bpnl": "BPNL00000003B6LU", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2013-04-01T00:18:40.000Z", @@ -174,7 +174,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7", "sites": [ @@ -182,12 +182,12 @@ "functionValidUntil": "2031-11-21T01:59:04.000Z", "function": "production", "functionValidFrom": "2013-09-04T06:14:54.000Z", - "catenaXSiteId": "BPNS00000003B6LU" + "catenaXsiteId": "BPNS00000003B6LU" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:2c57b0e9-a653-411d-bdcd-64787e9fd3a7", "childItems": [ @@ -212,7 +212,7 @@ { "catenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", "bpnl": "BPNL00ARBITRARY3", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2015-03-15T17:25:20.000Z", @@ -226,7 +226,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", "sites": [ @@ -234,12 +234,12 @@ "functionValidUntil": "2026-01-07T15:36:31.000Z", "function": "production", "functionValidFrom": "2015-04-29T17:11:59.000Z", - "catenaXSiteId": "BPNS00ARBITRARY3" + "catenaXsiteId": "BPNS00ARBITRARY3" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:bee5614f-9e46-4c98-9209-61a6f2b2a7fc", "childItems": [] @@ -249,7 +249,7 @@ { "catenaXId": "urn:uuid:e5c96ab5-896a-482c-8761-efd74777ca97", "bpnl": "BPNL00000003B3NX", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2014-03-22T06:27:39.000Z", @@ -263,7 +263,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:e5c96ab5-896a-482c-8761-efd74777ca97", "sites": [ @@ -271,12 +271,12 @@ "functionValidUntil": "2025-10-14T02:16:37.000Z", "function": "production", "functionValidFrom": "2014-07-09T06:57:44.000Z", - "catenaXSiteId": "BPNS00000003B3NX" + "catenaXsiteId": "BPNS00000003B3NX" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:e5c96ab5-896a-482c-8761-efd74777ca97", "childItems": [ @@ -301,7 +301,7 @@ { "catenaXId": "urn:uuid:c7a2b803-f8fe-4b79-b6fc-967ce847c9a9", "bpnl": "BPNL00000003B3NX", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2015-06-20T09:16:05.000Z", @@ -315,7 +315,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:c7a2b803-f8fe-4b79-b6fc-967ce847c9a9", "sites": [ @@ -323,12 +323,12 @@ "functionValidUntil": "2032-06-15T14:18:34.000Z", "function": "production", "functionValidFrom": "2014-12-27T02:28:17.000Z", - "catenaXSiteId": "BPNS00000003B3NX" + "catenaXsiteId": "BPNS00000003B3NX" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:c7a2b803-f8fe-4b79-b6fc-967ce847c9a9", "childItems": [ @@ -353,7 +353,7 @@ { "catenaXId": "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e", "bpnl": "BPNL00000003B6LU", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2013-04-11T05:30:04.000Z", @@ -367,7 +367,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e", "sites": [ @@ -375,12 +375,12 @@ "functionValidUntil": "2026-11-05T11:21:29.000Z", "function": "production", "functionValidFrom": "2016-07-05T20:28:02.000Z", - "catenaXSiteId": "BPNS00000003B6LU" + "catenaXsiteId": "BPNS00000003B6LU" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:86f69643-3b90-4e34-90bf-789edcf40e7e", "childItems": [] @@ -390,7 +390,7 @@ { "catenaXId": "urn:uuid:68904173-ad59-4a77-8412-3e73fcafbd8b", "bpnl": "BPNL00000003B6LU", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2013-09-21T23:24:07.000Z", @@ -404,7 +404,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:68904173-ad59-4a77-8412-3e73fcafbd8b", "sites": [ @@ -412,12 +412,12 @@ "functionValidUntil": "2025-03-23T05:10:13.000Z", "function": "production", "functionValidFrom": "2018-12-09T05:11:28.000Z", - "catenaXSiteId": "BPNS00000003B6LU" + "catenaXsiteId": "BPNS00000003B6LU" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:68904173-ad59-4a77-8412-3e73fcafbd8b", "childItems": [ @@ -442,7 +442,7 @@ { "catenaXId": "urn:uuid:e3e2a4d8-58bc-4ae9-afa2-e8946fda1f77", "bpnl": "BPNL00000004FAIL", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2015-01-16T14:23:33.000Z", @@ -456,7 +456,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:e3e2a4d8-58bc-4ae9-afa2-e8946fda1f77", "sites": [ @@ -464,12 +464,12 @@ "functionValidUntil": "2024-06-08T03:49:26.000Z", "function": "production", "functionValidFrom": "2015-08-29T08:43:40.000Z", - "catenaXSiteId": "BPNS00000004FAIL" + "catenaXsiteId": "BPNS00000004FAIL" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:e3e2a4d8-58bc-4ae9-afa2-e8946fda1f77", "childItems": [ @@ -494,7 +494,7 @@ { "catenaXId": "urn:uuid:b1d46d01-e308-4bd3-863a-331e64751d76", "bpnl": "BPNL00000003AXS3", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2014-07-30T07:17:16.000Z", @@ -508,7 +508,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:b1d46d01-e308-4bd3-863a-331e64751d76", "sites": [ @@ -516,12 +516,12 @@ "functionValidUntil": "2026-03-11T19:58:28.000Z", "function": "production", "functionValidFrom": "2020-03-04T21:09:12.000Z", - "catenaXSiteId": "BPNS00000003AXS3" + "catenaXsiteId": "BPNS00000003AXS3" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:b1d46d01-e308-4bd3-863a-331e64751d76", "childItems": [] @@ -531,7 +531,7 @@ { "catenaXId": "urn:uuid:1c7a25ea-0490-4944-b9c9-d8c666d47958", "bpnl": "BPNL00ARBITRARY4", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2019-04-04T03:19:03.000Z", @@ -545,7 +545,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:1c7a25ea-0490-4944-b9c9-d8c666d47958", "sites": [ @@ -553,12 +553,12 @@ "functionValidUntil": "2025-02-08T04:30:48.000Z", "function": "production", "functionValidFrom": "2019-08-21T02:10:36.000Z", - "catenaXSiteId": "BPNS00ARBITRARY4" + "catenaXsiteId": "BPNS00ARBITRARY4" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:1c7a25ea-0490-4944-b9c9-d8c666d47958", "childItems": [ @@ -583,7 +583,7 @@ { "catenaXId": "urn:uuid:2190e4b8-63ee-411d-bf57-6cdc495bc1df", "bpnl": "BPNL00ARBITRARY5", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2016-12-09T05:06:53.000Z", @@ -597,7 +597,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:2190e4b8-63ee-411d-bf57-6cdc495bc1df", "sites": [ @@ -605,12 +605,12 @@ "functionValidUntil": "2029-03-01T06:04:34.000Z", "function": "production", "functionValidFrom": "2018-02-05T09:47:59.000Z", - "catenaXSiteId": "BPNS00ARBITRARY5" + "catenaXsiteId": "BPNS00ARBITRARY5" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:2190e4b8-63ee-411d-bf57-6cdc495bc1df", "childItems": [ @@ -635,7 +635,7 @@ { "catenaXId": "urn:uuid:3d61ada2-1a50-42a0-b411-40a932dd56cc", "bpnl": "BPNL00ARBITRARY6", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2014-03-22T06:27:39.000Z", @@ -649,7 +649,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:3d61ada2-1a50-42a0-b411-40a932dd56cc", "sites": [ @@ -657,12 +657,12 @@ "functionValidUntil": "2025-10-14T02:16:37.000Z", "function": "production", "functionValidFrom": "2014-07-09T06:57:44.000Z", - "catenaXSiteId": "BPNS00ARBITRARY6" + "catenaXsiteId": "BPNS00ARBITRARY6" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:3d61ada2-1a50-42a0-b411-40a932dd56cc", "childItems": [ @@ -687,7 +687,7 @@ { "catenaXId": "urn:uuid:52207a60-e541-4bea-8ec4-3172f09e6dbb", "bpnl": "BPNL00ARBITRARY7", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2015-06-20T09:16:05.000Z", @@ -701,7 +701,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:52207a60-e541-4bea-8ec4-3172f09e6dbb", "sites": [ @@ -709,12 +709,12 @@ "functionValidUntil": "2032-06-15T14:18:34.000Z", "function": "production", "functionValidFrom": "2014-12-27T02:28:17.000Z", - "catenaXSiteId": "BPNS00ARBITRARY7" + "catenaXsiteId": "BPNS00ARBITRARY7" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:52207a60-e541-4bea-8ec4-3172f09e6dbb", "childItems": [ @@ -739,7 +739,7 @@ { "catenaXId": "urn:uuid:3a2a1ca9-c6c1-49c7-a7ae-1dfc5fb9881f", "bpnl": "BPNL00ARBITRARY8", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2013-09-21T23:24:07.000Z", @@ -753,7 +753,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:3a2a1ca9-c6c1-49c7-a7ae-1dfc5fb9881f", "sites": [ @@ -761,12 +761,12 @@ "functionValidUntil": "2025-03-23T05:10:13.000Z", "function": "production", "functionValidFrom": "2018-12-09T05:11:28.000Z", - "catenaXSiteId": "BPNS00ARBITRARY8" + "catenaXsiteId": "BPNS00ARBITRARY8" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:3a2a1ca9-c6c1-49c7-a7ae-1dfc5fb9881f", "childItems": [ @@ -795,7 +795,7 @@ }, "createdOn": "2022-02-03T14:48:54.709Z", "lastModifiedOn": "2022-02-03T14:48:54.709Z", - "businessPartner": "BPNL00ARBITRARY10", + "businessPartner": "BPNL0ARBITRARY10", "catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8" } ] @@ -805,7 +805,7 @@ { "catenaXId": "urn:uuid:9846f1c6-0dd0-4d5a-9c7a-30af0b7e0247", "bpnl": "BPNL00000004FAIL", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2014-07-30T07:17:16.000Z", @@ -819,7 +819,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:9846f1c6-0dd0-4d5a-9c7a-30af0b7e0247", "sites": [ @@ -827,7 +827,7 @@ "functionValidUntil": "2026-03-11T19:58:28.000Z", "function": "production", "functionValidFrom": "2020-03-04T21:09:12.000Z", - "catenaXSiteId": "BPNS00000004FAIL" + "catenaXsiteId": "BPNS00000004FAIL" } ] } @@ -836,7 +836,7 @@ { "catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8", "bpnl": "BPNL0ARBITRARY10", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2015-01-16T14:23:33.000Z", @@ -850,7 +850,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8", "sites": [ @@ -858,12 +858,12 @@ "functionValidUntil": "2024-06-08T03:49:26.000Z", "function": "production", "functionValidFrom": "2015-08-29T08:43:40.000Z", - "catenaXSiteId": "BPNS0ARBITRARY10" + "catenaXsiteId": "BPNS0ARBITRARY10" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8", "childItems": [ @@ -878,7 +878,7 @@ }, "createdOn": "2022-02-03T14:48:54.709Z", "lastModifiedOn": "2022-02-03T14:48:54.709Z", - "businessPartner": "BPNS00ARBITRARY11", + "businessPartner": "BPNL0ARBITRARY11", "catenaXId": "urn:uuid:01796f87-9677-43f0-9c62-61665be29d85" } ] @@ -888,7 +888,7 @@ { "catenaXId": "urn:uuid:01796f87-9677-43f0-9c62-61665be29d85", "bpnl": "BPNL0ARBITRARY11", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2014-07-30T07:17:16.000Z", @@ -902,7 +902,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:01796f87-9677-43f0-9c62-61665be29d85", "sites": [ @@ -910,7 +910,7 @@ "functionValidUntil": "2026-03-11T19:58:28.000Z", "function": "production", "functionValidFrom": "2020-03-04T21:09:12.000Z", - "catenaXSiteId": "BPNS0ARBITRARY11" + "catenaXsiteId": "BPNS0ARBITRARY11" } ] } @@ -919,7 +919,7 @@ { "catenaXId": "urn:uuid:b0faace3-d41f-45b8-9573-175a33efbaaf", "bpnl": "BPNL00ARBITRARY8", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2013-09-21T23:24:07.000Z", @@ -933,7 +933,7 @@ } } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:b0faace3-d41f-45b8-9573-175a33efbaaf", "childItems": [ @@ -972,7 +972,7 @@ { "catenaXId": "urn:uuid:ec759282-e8fb-4a94-aafe-71585a3f2948", "bpnl": "BPNL00ARBITRARY9", - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:ec759282-e8fb-4a94-aafe-71585a3f2948", "childItems": [] @@ -982,7 +982,7 @@ { "catenaXId": "urn:uuid:1d12d050-d388-4f3d-a880-c9ec4ac84786", "bpnl": "BPNL0ARBITRARY10", - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:1d12d050-d388-4f3d-a880-c9ec4ac84786", "childItems": [ @@ -1007,7 +1007,7 @@ { "catenaXId": "urn:uuid:b636c28a-6924-4498-88f9-5d073f16ed65", "bpnl": "BPNL0ARBITRARY11", - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:b636c28a-6924-4498-88f9-5d073f16ed65", "childItems": [] @@ -1017,7 +1017,7 @@ { "catenaXId": "urn:uuid:f5024c70-6c4f-4ec5-b23b-aa6a91110611", "bpnl": "BPNL00ARBITRARY8", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2013-09-21T23:24:07.000Z", @@ -1031,7 +1031,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:f5024c70-6c4f-4ec5-b23b-aa6a91110611", "sites": [ @@ -1043,7 +1043,7 @@ ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:f5024c70-6c4f-4ec5-b23b-aa6a91110611", "childItems": [ @@ -1082,7 +1082,7 @@ { "catenaXId": "urn:uuid:51eeafa1-a7a5-4f2d-8c7a-15036eb43553", "bpnl": "BPNL00ARBITRARY9", - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:51eeafa1-a7a5-4f2d-8c7a-15036eb43553", "childItems": [] @@ -1092,7 +1092,7 @@ { "catenaXId": "urn:uuid:5d827e81-ac88-4acb-8a0e-8565ddd729b1", "bpnl": "BPNL0ARBITRARY10", - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:5d827e81-ac88-4acb-8a0e-8565ddd729b1", "childItems": [ @@ -1117,7 +1117,7 @@ { "catenaXId": "urn:uuid:31557090-b504-41a2-8f13-e0e2c2c16932", "bpnl": "BPNL0ARBITRARY11", - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:31557090-b504-41a2-8f13-e0e2c2c16932", "childItems": [] @@ -1127,7 +1127,7 @@ { "catenaXId": "urn:uuid:e1bc2e62-165e-4f37-9d06-214476d5547f", "bpnl": "BPNL00ARBITRARY8", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2013-09-21T23:24:07.000Z", @@ -1141,7 +1141,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:e1bc2e62-165e-4f37-9d06-214476d5547f", "sites": [ @@ -1149,12 +1149,12 @@ "functionValidUntil": "2025-03-23T05:10:13.000Z", "function": "production", "functionValidFrom": "2018-12-09T05:11:28.000Z", - "catenaXSiteId": "BPNS00ARBITRARY8" + "catenaXsiteId": "BPNS00ARBITRARY8" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:e1bc2e62-165e-4f37-9d06-214476d5547f", "childItems": [ @@ -1183,7 +1183,7 @@ }, "createdOn": "2022-02-03T14:48:54.709Z", "lastModifiedOn": "2022-02-03T14:48:54.709Z", - "businessPartner": "BPNL00ARBITRARY10", + "businessPartner": "BPNL0ARBITRARY10", "catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8" } ] @@ -1193,7 +1193,7 @@ { "catenaXId": "urn:uuid:642702fc-0987-4fd6-b29c-4b623a005c32", "bpnl": "BPNL00ARBITRARY8", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2013-09-21T23:24:07.000Z", @@ -1207,7 +1207,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:642702fc-0987-4fd6-b29c-4b623a005c32", "sites": [ @@ -1215,12 +1215,12 @@ "functionValidUntil": "2025-03-23T05:10:13.000Z", "function": "production", "functionValidFrom": "2018-12-09T05:11:28.000Z", - "catenaXSiteId": "BPNS00ARBITRARY8" + "catenaXsiteId": "BPNS00ARBITRARY8" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:642702fc-0987-4fd6-b29c-4b623a005c32", "childItems": [ @@ -1249,7 +1249,7 @@ }, "createdOn": "2022-02-03T14:48:54.709Z", "lastModifiedOn": "2022-02-03T14:48:54.709Z", - "businessPartner": "BPNL00ARBITRARY10", + "businessPartner": "BPNL0ARBITRARY10", "catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8" } ] @@ -1259,7 +1259,7 @@ { "catenaXId": "urn:uuid:5f968e65-97fc-4156-a168-5dfbec8de76c", "bpnl": "BPNL00ARBITRARY8", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2013-09-21T23:24:07.000Z", @@ -1273,7 +1273,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:5f968e65-97fc-4156-a168-5dfbec8de76c", "sites": [ @@ -1281,12 +1281,12 @@ "functionValidUntil": "2025-03-23T05:10:13.000Z", "function": "production", "functionValidFrom": "2018-12-09T05:11:28.000Z", - "catenaXSiteId": "BPNS00ARBITRARY8" + "catenaXsiteId": "BPNS00ARBITRARY8" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:5f968e65-97fc-4156-a168-5dfbec8de76c", "childItems": [ @@ -1315,7 +1315,7 @@ }, "createdOn": "2022-02-03T14:48:54.709Z", "lastModifiedOn": "2022-02-03T14:48:54.709Z", - "businessPartner": "BPNL00ARBITRARY10", + "businessPartner": "BPNL0ARBITRARY10", "catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8" } ] @@ -1325,7 +1325,7 @@ { "catenaXId": "urn:uuid:c8a7b53a-53f1-4c10-9a7f-864188ca1bdd", "bpnl": "BPNL00ARBITRARY8", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2013-09-21T23:24:07.000Z", @@ -1339,7 +1339,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:c8a7b53a-53f1-4c10-9a7f-864188ca1bdd", "sites": [ @@ -1347,12 +1347,12 @@ "functionValidUntil": "2025-03-23T05:10:13.000Z", "function": "production", "functionValidFrom": "2018-12-09T05:11:28.000Z", - "catenaXSiteId": "BPNS00ARBITRARY8" + "catenaXsiteId": "BPNS00ARBITRARY8" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:c8a7b53a-53f1-4c10-9a7f-864188ca1bdd", "childItems": [ @@ -1381,7 +1381,7 @@ }, "createdOn": "2022-02-03T14:48:54.709Z", "lastModifiedOn": "2022-02-03T14:48:54.709Z", - "businessPartner": "BPNL00ARBITRARY10", + "businessPartner": "BPNL0ARBITRARY10", "catenaXId": "urn:uuid:22847bfd-eb8d-41b7-b088-3a548b7541a8" } ] @@ -1391,7 +1391,7 @@ { "catenaXId": "urn:uuid:4af880f1-cf60-4f30-8338-e9901e1c3050", "bpnl": "BPNL00ARBITRARY4", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2019-04-04T03:19:03.000Z", @@ -1405,7 +1405,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:4af880f1-cf60-4f30-8338-e9901e1c3050", "sites": [ @@ -1413,12 +1413,12 @@ "functionValidUntil": "2025-02-08T04:30:48.000Z", "function": "production", "functionValidFrom": "2019-08-21T02:10:36.000Z", - "catenaXSiteId": "BPNS00ARBITRARY4" + "catenaXsiteId": "BPNS00ARBITRARY4" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:4af880f1-cf60-4f30-8338-e9901e1c3050", "childItems": [ @@ -1443,7 +1443,7 @@ { "catenaXId": "urn:uuid:c8c3e7af-c348-42ad-bc75-f83024d9c44c", "bpnl": "BPNL00ARBITRARY4", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2019-04-04T03:19:03.000Z", @@ -1457,7 +1457,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:c8c3e7af-c348-42ad-bc75-f83024d9c44c", "sites": [ @@ -1465,12 +1465,12 @@ "functionValidUntil": "2025-02-08T04:30:48.000Z", "function": "production", "functionValidFrom": "2019-08-21T02:10:36.000Z", - "catenaXSiteId": "BPNS00ARBITRARY4" + "catenaXsiteId": "BPNS00ARBITRARY4" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:c8c3e7af-c348-42ad-bc75-f83024d9c44c", "childItems": [ @@ -1495,7 +1495,7 @@ { "catenaXId": "urn:uuid:23565927-339d-48d0-be66-fb031fc21082", "bpnl": "BPNL00ARBITRARY4", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2019-04-04T03:19:03.000Z", @@ -1509,7 +1509,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:23565927-339d-48d0-be66-fb031fc21082", "sites": [ @@ -1517,12 +1517,12 @@ "functionValidUntil": "2025-02-08T04:30:48.000Z", "function": "production", "functionValidFrom": "2019-08-21T02:10:36.000Z", - "catenaXSiteId": "BPNS00ARBITRARY4" + "catenaXsiteId": "BPNS00ARBITRARY4" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:23565927-339d-48d0-be66-fb031fc21082", "childItems": [ @@ -1547,7 +1547,7 @@ { "catenaXId": "urn:uuid:8c325e8d-1340-427a-a622-5eddc017ae2b", "bpnl": "BPNL00ARBITRARY4", - "urn:bamm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ + "urn:samm:io.catenax.part_as_planned:1.0.1#PartAsPlanned": [ { "validityPeriod": { "validFrom": "2019-04-04T03:19:03.000Z", @@ -1561,7 +1561,7 @@ } } ], - "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ + "urn:samm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned": [ { "catenaXId": "urn:uuid:8c325e8d-1340-427a-a622-5eddc017ae2b", "sites": [ @@ -1569,12 +1569,12 @@ "functionValidUntil": "2025-02-08T04:30:48.000Z", "function": "production", "functionValidFrom": "2019-08-21T02:10:36.000Z", - "catenaXSiteId": "BPNS00ARBITRARY4" + "catenaXsiteId": "BPNS00ARBITRARY4" } ] } ], - "urn:bamm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ + "urn:samm:io.catenax.single_level_bom_as_planned:2.0.0#SingleLevelBomAsPlanned": [ { "catenaXId": "urn:uuid:8c325e8d-1340-427a-a622-5eddc017ae2b", "childItems": [ From 95687574ab6ff8c77e0b75d24ce0e3d11166df47 Mon Sep 17 00:00:00 2001 From: jhartmann Date: Mon, 24 Jun 2024 15:12:41 +0200 Subject: [PATCH 04/58] fix(ess): fix submodel validation and ess registration --- .../java/org/eclipse/tractusx/irs/ess/service/EssService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java index 7422e95dd2..f8e27e4842 100644 --- a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java +++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java @@ -56,7 +56,7 @@ @Slf4j public class EssService { - public static final String PART_AS_PLANNED = SemanticModelNames.PART_AS_PLANNED_2_0_0; + public static final String PART_AS_PLANNED = SemanticModelNames.PART_AS_PLANNED_1_0_1; public static final String PART_SITE_INFORMATION_AS_PLANNED = SemanticModelNames.PART_SITE_INFORMATION_AS_PLANNED_1_0_0; private final IrsItemGraphQueryService irsItemGraphQueryService; From 27e9923f910beba03cc1e8faba0e7d31776dbca8 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Mon, 24 Jun 2024 17:15:17 +0200 Subject: [PATCH 05/58] chore(build):[#222] update documentation --- .github/workflows/irs-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 184ddf0e10..406741cf2c 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -122,7 +122,7 @@ jobs: env.DOCKER_HUB_USER == '' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]' - # This is where you will update the PAT to GITHUB_TOKEN + # This is where you will update the personal access token to GITHUB_TOKEN run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin From 790eef14fa13020a6c675cf4e3f5d24dc774e426 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Mon, 24 Jun 2024 17:29:06 +0200 Subject: [PATCH 06/58] chore(build):[#222] analyze_with_Sonar only if tokens available --- .github/workflows/irs-build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 406741cf2c..6f406502fc 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -46,8 +46,9 @@ jobs: analyze_with_Sonar: # No need to run if we cannot use the sonar token if: >- - (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && - github.actor != 'dependabot[bot]' + (secrets.GITHUB_TOKEN != '' && secrets.SONAR_TOKEN != '') + && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) + && github.actor != 'dependabot[bot]' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 From d93869069ff3a639535057aeb1fe4eadf340ec7f Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Mon, 24 Jun 2024 17:46:20 +0200 Subject: [PATCH 07/58] chore(build):[#222] fix previous commit - fix "Unrecognized named-value: 'secrets'." - set env on job level to make it available in all steps - analyze_with_Sonar only if relevant secrets available --- .github/workflows/irs-build.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 6f406502fc..72043040e3 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -44,9 +44,14 @@ jobs: mvn clean verify --batch-mode analyze_with_Sonar: + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + SONAR_PROJECT_KEY: ${{ secret.SONAR_PROJECT_KEY }} + SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }} # No need to run if we cannot use the sonar token if: >- - (secrets.GITHUB_TOKEN != '' && secrets.SONAR_TOKEN != '') + (env.GITHUB_TOKEN != '' && env.SONAR_TOKEN != '' && SONAR_PROJECT_KEY != '' && SONAR_ORGANIZATION != '') && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]' runs-on: ubuntu-latest @@ -76,9 +81,6 @@ jobs: restore-keys: ${{ runner.os }}-sonar - name: Analyze with Sonar - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | mvn --batch-mode --update-snapshots verify \ org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \ From 881304e55a1ba93fd819f729f29eb2e1c1eb0490 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Mon, 24 Jun 2024 17:48:09 +0200 Subject: [PATCH 08/58] chore(build):[#222] fix previous commit - fix "Unrecognized named-value: 'secret'." --- .github/workflows/irs-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 72043040e3..77c4694add 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -47,7 +47,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - SONAR_PROJECT_KEY: ${{ secret.SONAR_PROJECT_KEY }} + SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY }} SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }} # No need to run if we cannot use the sonar token if: >- From 6013edfcf2dec103fda986a81643b8d50e3a9be5 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Mon, 24 Jun 2024 17:51:17 +0200 Subject: [PATCH 09/58] chore(build):[#222] fix previous commit - missing env prefix --- .github/workflows/irs-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 77c4694add..18f76f67bb 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -51,7 +51,7 @@ jobs: SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }} # No need to run if we cannot use the sonar token if: >- - (env.GITHUB_TOKEN != '' && env.SONAR_TOKEN != '' && SONAR_PROJECT_KEY != '' && SONAR_ORGANIZATION != '') + (env.GITHUB_TOKEN != '' && env.SONAR_TOKEN != '' && env.SONAR_PROJECT_KEY != '' && env.SONAR_ORGANIZATION != '') && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]' runs-on: ubuntu-latest From 67b1d1f823854357ba434bf69896b45e8f79bb27 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Mon, 24 Jun 2024 18:03:50 +0200 Subject: [PATCH 10/58] chore(build):[#222] trial to fix previous commit - move by env to workflow level - deduplicate --- .github/workflows/irs-build.yml | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 18f76f67bb..ef65fb6bfb 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -18,6 +18,14 @@ on: tags: - '**' +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY }} + SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }} + DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }} + IMAGE_NAMESPACE: tractusx + IMAGE_NAME: irs-api jobs: build: @@ -44,11 +52,6 @@ jobs: mvn clean verify --batch-mode analyze_with_Sonar: - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY }} - SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }} # No need to run if we cannot use the sonar token if: >- (env.GITHUB_TOKEN != '' && env.SONAR_TOKEN != '' && env.SONAR_PROJECT_KEY != '' && env.SONAR_ORGANIZATION != '') @@ -119,8 +122,6 @@ jobs: echo "::set-output name=image_tag::$VERSION" - name: Log in to registry - env: - DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }} if: >- env.DOCKER_HUB_USER == '' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && @@ -130,8 +131,6 @@ jobs: - name: Login to Docker Hub - env: - DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }} if: env.DOCKER_HUB_USER != '' uses: docker/login-action@v3 with: @@ -139,10 +138,6 @@ jobs: password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Push image (DockerHub) - env: - DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }} - IMAGE_NAMESPACE: tractusx - IMAGE_NAME: irs-api if: env.DOCKER_HUB_USER != '' run: | docker tag ${{ matrix.image }} ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.image_tag }} @@ -153,10 +148,6 @@ jobs: # https://github.com/peter-evans/dockerhub-description - name: Update Docker Hub description - env: - DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }} - IMAGE_NAMESPACE: tractusx - IMAGE_NAME: irs-api if: env.DOCKER_HUB_USER != '' && github.event_name != 'pull_request' uses: peter-evans/dockerhub-description@v4 with: From 8962323a8f94af84f04d599a89f69e9fe886402c Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Mon, 24 Jun 2024 18:08:38 +0200 Subject: [PATCH 11/58] chore(build):[#222] trial to fix previous commit --- .github/workflows/irs-build.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index ef65fb6bfb..f8405854cd 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -53,10 +53,7 @@ jobs: analyze_with_Sonar: # No need to run if we cannot use the sonar token - if: >- - (env.GITHUB_TOKEN != '' && env.SONAR_TOKEN != '' && env.SONAR_PROJECT_KEY != '' && env.SONAR_ORGANIZATION != '') - && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) - && github.actor != 'dependabot[bot]' + if: (env.GITHUB_TOKEN != '' && env.SONAR_TOKEN != '' && env.SONAR_PROJECT_KEY != '' && env.SONAR_ORGANIZATION != '') && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 From ca6fe1d123ab59781045276b84353019b623bc66 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Mon, 24 Jun 2024 20:39:51 +0200 Subject: [PATCH 12/58] chore(build):[#222] trial to fix "Unrecognized named-value: 'env'" --- .github/workflows/irs-build.yml | 44 +++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index f8405854cd..2db25c7287 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -24,10 +24,22 @@ env: SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY }} SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }} DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }} - IMAGE_NAMESPACE: tractusx - IMAGE_NAME: irs-api jobs: + init: + runs-on: ubuntu-latest + steps: + - run: echo "Preparing variables" + outputs: + image_namespace: tractusx + image_name: irs-api + github_token: ${{ env.GITHUB_TOKEN }} + sonar_token: ${{ env.SONAR_TOKEN }} + sonar_project_key: ${{ env.SONAR_PROJECT_KEY }} + sonar_organization: ${{ env.SONAR_ORGANIZATION }} + docker_hub_user: ${{ env.DOCKER_HUB_USER }} + + build: runs-on: ubuntu-latest steps: @@ -52,8 +64,13 @@ jobs: mvn clean verify --batch-mode analyze_with_Sonar: + needs: [init] # No need to run if we cannot use the sonar token - if: (env.GITHUB_TOKEN != '' && env.SONAR_TOKEN != '' && env.SONAR_PROJECT_KEY != '' && env.SONAR_ORGANIZATION != '') && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]' + if: >- + (needs.init.outputs.github_token != '' && needs.init.outputs.sonar_token != '' + && needs.init.outputs.sonar_project_key != '' && needs.init.outputs.sonar_organization != '') + && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) + && github.actor != 'dependabot[bot]' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -84,10 +101,11 @@ jobs: run: | mvn --batch-mode --update-snapshots verify \ org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \ - -Dsonar.projectKey=${{ secrets.SONAR_PROJECT_KEY }} -Dsonar.organization=${{ secrets.SONAR_ORGANIZATION }} \ + -Dsonar.projectKey=${{ needs.init.outputs.sonar_project_key }} -Dsonar.organization=${{ needs.init.outputs.sonar_organization }} \ -Dcheckstyle.skip -Dpmd.skip=true build_images: + needs: [init] strategy: matrix: image: @@ -120,7 +138,7 @@ jobs: - name: Log in to registry if: >- - env.DOCKER_HUB_USER == '' && + needs.init.outputs.docker_hub_user == '' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]' # This is where you will update the personal access token to GITHUB_TOKEN @@ -128,29 +146,29 @@ jobs: - name: Login to Docker Hub - if: env.DOCKER_HUB_USER != '' + if: needs.init.outputs.docker_hub_user != '' uses: docker/login-action@v3 with: - username: ${{ secrets.DOCKER_HUB_USER }} - password: ${{ secrets.DOCKER_HUB_TOKEN }} + username: ${{ needs.init.outputs.docker_hub_user }} + password: ${{ needs.init.outputs.docker_hub_token }} - name: Push image (DockerHub) - if: env.DOCKER_HUB_USER != '' + if: needs.init.outputs.DOCKER_HUB_USER != '' run: | - docker tag ${{ matrix.image }} ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.image_tag }} - docker push ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.image_tag }} + docker tag ${{ matrix.image }} ${{ needs.init.outputs.image_namespace }}/${{ needs.init.outputs.image_name }}:${{ steps.version.outputs.image_tag }} + docker push ${{ needs.init.outputs.image_namespace }}/${{ needs.init.outputs.image_name }}:${{ steps.version.outputs.image_tag }} docker tag ${{ matrix.image }} $IMAGE_ID:$GITHUB_SHA docker push $IMAGE_ID:$GITHUB_SHA # https://github.com/peter-evans/dockerhub-description - name: Update Docker Hub description - if: env.DOCKER_HUB_USER != '' && github.event_name != 'pull_request' + if: needs.init.outputs.DOCKER_HUB_USER != '' && github.event_name != 'pull_request' uses: peter-evans/dockerhub-description@v4 with: username: ${{ secrets.DOCKER_HUB_USER }} password: ${{ secrets.DOCKER_HUB_TOKEN }} - repository: ${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }} + repository: ${{ needs.init.outputs.image_namespace }}/${{ needs.init.outputs.image_name }} readme-filepath: ./DOCKER_NOTICE.md trigger-trivy-image-scan: From 8138eb24ef5349817f72dc29903160f16269124f Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Mon, 24 Jun 2024 22:26:05 +0200 Subject: [PATCH 13/58] chore(build):[#222] trial to fix "Skip output 'github_token' since it may contain secret." --- .github/workflows/irs-build.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 2db25c7287..7ea9ccee3b 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -19,11 +19,11 @@ on: - '**' env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY }} SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }} DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }} + SONAR_TOKEN_AVAILABLE: ${{ secrets.SONAR_TOKEN != '' }} + GITHUB_TOKEN_AVAILABLE: ${{ secrets.GITHUB_TOKEN != '' }} jobs: init: @@ -33,13 +33,10 @@ jobs: outputs: image_namespace: tractusx image_name: irs-api - github_token: ${{ env.GITHUB_TOKEN }} - sonar_token: ${{ env.SONAR_TOKEN }} sonar_project_key: ${{ env.SONAR_PROJECT_KEY }} sonar_organization: ${{ env.SONAR_ORGANIZATION }} docker_hub_user: ${{ env.DOCKER_HUB_USER }} - build: runs-on: ubuntu-latest steps: @@ -67,7 +64,7 @@ jobs: needs: [init] # No need to run if we cannot use the sonar token if: >- - (needs.init.outputs.github_token != '' && needs.init.outputs.sonar_token != '' + (GITHUB_TOKEN_AVAILABLE && SONAR_TOKEN_AVAILABLE && needs.init.outputs.sonar_project_key != '' && needs.init.outputs.sonar_organization != '') && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]' @@ -98,10 +95,13 @@ jobs: restore-keys: ${{ runner.os }}-sonar - name: Analyze with Sonar + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | mvn --batch-mode --update-snapshots verify \ org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \ - -Dsonar.projectKey=${{ needs.init.outputs.sonar_project_key }} -Dsonar.organization=${{ needs.init.outputs.sonar_organization }} \ + -Dsonar.projectKey=${{ secrets.SONAR_PROJECT_KEY }} -Dsonar.organization=${{ secrets.SONAR_ORGANIZATION }} \ -Dcheckstyle.skip -Dpmd.skip=true build_images: @@ -149,11 +149,11 @@ jobs: if: needs.init.outputs.docker_hub_user != '' uses: docker/login-action@v3 with: - username: ${{ needs.init.outputs.docker_hub_user }} - password: ${{ needs.init.outputs.docker_hub_token }} + username: ${{ secrets.DOCKER_HUB_USER }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Push image (DockerHub) - if: needs.init.outputs.DOCKER_HUB_USER != '' + if: needs.init.outputs.docker_hub_user != '' run: | docker tag ${{ matrix.image }} ${{ needs.init.outputs.image_namespace }}/${{ needs.init.outputs.image_name }}:${{ steps.version.outputs.image_tag }} docker push ${{ needs.init.outputs.image_namespace }}/${{ needs.init.outputs.image_name }}:${{ steps.version.outputs.image_tag }} @@ -163,7 +163,7 @@ jobs: # https://github.com/peter-evans/dockerhub-description - name: Update Docker Hub description - if: needs.init.outputs.DOCKER_HUB_USER != '' && github.event_name != 'pull_request' + if: needs.init.outputs.docker_hub_user != '' && github.event_name != 'pull_request' uses: peter-evans/dockerhub-description@v4 with: username: ${{ secrets.DOCKER_HUB_USER }} From 77c7447c6d3901b2eedb6c6407ed1e898b2b0bdc Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Tue, 25 Jun 2024 00:48:34 +0200 Subject: [PATCH 14/58] chore(build):[#222] trial to fix previous commit --- .github/workflows/irs-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 7ea9ccee3b..2171f9ce96 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -64,7 +64,7 @@ jobs: needs: [init] # No need to run if we cannot use the sonar token if: >- - (GITHUB_TOKEN_AVAILABLE && SONAR_TOKEN_AVAILABLE + (env.GITHUB_TOKEN_AVAILABLE && env.SONAR_TOKEN_AVAILABLE && needs.init.outputs.sonar_project_key != '' && needs.init.outputs.sonar_organization != '') && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]' From 28b92291debf719633e83a4bedfbebbbd4868bd1 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Tue, 25 Jun 2024 00:50:43 +0200 Subject: [PATCH 15/58] chore(build):[#222] trial to fix previous commit --- .github/workflows/irs-build.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 2171f9ce96..dd033b3cb5 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -22,8 +22,8 @@ env: SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY }} SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }} DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }} - SONAR_TOKEN_AVAILABLE: ${{ secrets.SONAR_TOKEN != '' }} - GITHUB_TOKEN_AVAILABLE: ${{ secrets.GITHUB_TOKEN != '' }} +# SONAR_TOKEN_AVAILABLE: ${{ secrets.SONAR_TOKEN != '' }} +# GITHUB_TOKEN_AVAILABLE: ${{ secrets.GITHUB_TOKEN != '' }} jobs: init: @@ -36,6 +36,8 @@ jobs: sonar_project_key: ${{ env.SONAR_PROJECT_KEY }} sonar_organization: ${{ env.SONAR_ORGANIZATION }} docker_hub_user: ${{ env.DOCKER_HUB_USER }} + sonar_token_available: ${{ secrets.SONAR_TOKEN != '' }} + github_token_available: ${{ secrets.GITHUB_TOKEN != '' }} build: runs-on: ubuntu-latest @@ -64,7 +66,7 @@ jobs: needs: [init] # No need to run if we cannot use the sonar token if: >- - (env.GITHUB_TOKEN_AVAILABLE && env.SONAR_TOKEN_AVAILABLE + (needs.init.outputs.github_token_available && needs.init.outputs.sonar_token_available && needs.init.outputs.sonar_project_key != '' && needs.init.outputs.sonar_organization != '') && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]' From f13aa5c89e3a0bbf7b505af299edc67ba58b3e96 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Tue, 25 Jun 2024 01:37:24 +0200 Subject: [PATCH 16/58] chore(build):[#222] fixes / improvements - trial to fix "Skip output 'sonar_project_key' since it may contain secret." - trial to fix " Skip output 'sonar_organization' since it may contain secret." --- .github/workflows/irs-build.yml | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index dd033b3cb5..9c1416fc90 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -18,13 +18,6 @@ on: tags: - '**' -env: - SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY }} - SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }} - DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }} -# SONAR_TOKEN_AVAILABLE: ${{ secrets.SONAR_TOKEN != '' }} -# GITHUB_TOKEN_AVAILABLE: ${{ secrets.GITHUB_TOKEN != '' }} - jobs: init: runs-on: ubuntu-latest @@ -33,10 +26,8 @@ jobs: outputs: image_namespace: tractusx image_name: irs-api - sonar_project_key: ${{ env.SONAR_PROJECT_KEY }} - sonar_organization: ${{ env.SONAR_ORGANIZATION }} - docker_hub_user: ${{ env.DOCKER_HUB_USER }} - sonar_token_available: ${{ secrets.SONAR_TOKEN != '' }} + docker_hub_user: ${{ secrets.DOCKER_HUB_USER }} + sonar_configured: ${{ secrets.SONAR_TOKEN != '' && secrets.SONAR_PROJECT_KEY != '' && secrets.SONAR_ORGANIZATION != '' }} github_token_available: ${{ secrets.GITHUB_TOKEN != '' }} build: @@ -66,8 +57,7 @@ jobs: needs: [init] # No need to run if we cannot use the sonar token if: >- - (needs.init.outputs.github_token_available && needs.init.outputs.sonar_token_available - && needs.init.outputs.sonar_project_key != '' && needs.init.outputs.sonar_organization != '') + needs.init.outputs.sonar_configured && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]' runs-on: ubuntu-latest @@ -141,8 +131,8 @@ jobs: - name: Log in to registry if: >- needs.init.outputs.docker_hub_user == '' && - (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && - github.actor != 'dependabot[bot]' + (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) + && github.actor != 'dependabot[bot]' # This is where you will update the personal access token to GITHUB_TOKEN run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin @@ -179,3 +169,4 @@ jobs: needs: - build_images uses: ./.github/workflows/trivy-docker-hub-scan.yml + From af59c31657da4684d3dffa5078b89319e48261dc Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Tue, 25 Jun 2024 02:35:53 +0200 Subject: [PATCH 17/58] chore(build):[#222] add debug output --- .github/workflows/irs-build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 9c1416fc90..765853cae3 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -22,7 +22,9 @@ jobs: init: runs-on: ubuntu-latest steps: - - run: echo "Preparing variables" + - run: | + echo "Preparing variables" + echo "needs.init.outputs.sonar_configured: ${{ needs.init.outputs.sonar_configured }}" outputs: image_namespace: tractusx image_name: irs-api From c3f67aff31960cca1e4921e99f07fd4d46eb9899 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Tue, 25 Jun 2024 02:39:22 +0200 Subject: [PATCH 18/58] chore(build):[#222] add debug output --- .github/workflows/irs-build.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 765853cae3..23740c8e04 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -24,7 +24,6 @@ jobs: steps: - run: | echo "Preparing variables" - echo "needs.init.outputs.sonar_configured: ${{ needs.init.outputs.sonar_configured }}" outputs: image_namespace: tractusx image_name: irs-api @@ -32,6 +31,13 @@ jobs: sonar_configured: ${{ secrets.SONAR_TOKEN != '' && secrets.SONAR_PROJECT_KEY != '' && secrets.SONAR_ORGANIZATION != '' }} github_token_available: ${{ secrets.GITHUB_TOKEN != '' }} + dbg: + runs-on: ubuntu-latest + needs: [init] + steps: + - run: | + echo "needs.init.outputs.sonar_configured: ${{ needs.init.outputs.sonar_configured }}" + build: runs-on: ubuntu-latest steps: From 9c08e48c2c1a4a73c26c515c18f7bd5129b22342 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Tue, 25 Jun 2024 02:44:59 +0200 Subject: [PATCH 19/58] chore(build):[#222] trial to fix boolean --- .github/workflows/irs-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 23740c8e04..5278cce9ca 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -65,7 +65,7 @@ jobs: needs: [init] # No need to run if we cannot use the sonar token if: >- - needs.init.outputs.sonar_configured + needs.init.outputs.sonar_configured == true && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]' runs-on: ubuntu-latest From 00462432fd84a083ee2756b47f12ba1617c1b1a9 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Tue, 25 Jun 2024 03:12:47 +0200 Subject: [PATCH 20/58] chore(build):[#222] trial to fix / debug --- .github/workflows/irs-build.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 5278cce9ca..ed27c25a52 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -21,15 +21,24 @@ on: jobs: init: runs-on: ubuntu-latest - steps: - - run: | - echo "Preparing variables" + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN != '' }} + SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY != '' }} + SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION != '' }} + SONAR_CONFIGURED: ${{ secrets.SONAR_TOKEN != '' && secrets.SONAR_PROJECT_KEY != '' && secrets.SONAR_ORGANIZATION != '' }} outputs: image_namespace: tractusx image_name: irs-api docker_hub_user: ${{ secrets.DOCKER_HUB_USER }} sonar_configured: ${{ secrets.SONAR_TOKEN != '' && secrets.SONAR_PROJECT_KEY != '' && secrets.SONAR_ORGANIZATION != '' }} - github_token_available: ${{ secrets.GITHUB_TOKEN != '' }} + github_token_available: ${{ env.SONAR_CONFIGURED }} + steps: + - run: | + echo "Preparing variables" + echo "SONAR_CONFIGURED: ${{ env.SONAR_CONFIGURED }}" + echo "SONAR_CONFIGURED: ${{ env.SONAR_ORGANIZATION }}" + echo "SONAR_CONFIGURED: ${{ env.SONAR_PROJECT_KEY }}" + echo "SONAR_CONFIGURED: ${{ env.SONAR_TOKEN }}" dbg: runs-on: ubuntu-latest From 86d82f94773e954301fc17dd6afcbf2978bf2b30 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Tue, 25 Jun 2024 03:20:54 +0200 Subject: [PATCH 21/58] chore(build):[#222] trial to fix / debug --- .github/workflows/irs-build.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index ed27c25a52..27d15ad387 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -22,9 +22,9 @@ jobs: init: runs-on: ubuntu-latest env: - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN != '' }} - SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY != '' }} - SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION != '' }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY }} + SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }} SONAR_CONFIGURED: ${{ secrets.SONAR_TOKEN != '' && secrets.SONAR_PROJECT_KEY != '' && secrets.SONAR_ORGANIZATION != '' }} outputs: image_namespace: tractusx @@ -36,9 +36,9 @@ jobs: - run: | echo "Preparing variables" echo "SONAR_CONFIGURED: ${{ env.SONAR_CONFIGURED }}" - echo "SONAR_CONFIGURED: ${{ env.SONAR_ORGANIZATION }}" - echo "SONAR_CONFIGURED: ${{ env.SONAR_PROJECT_KEY }}" - echo "SONAR_CONFIGURED: ${{ env.SONAR_TOKEN }}" + echo "SONAR_ORGANIZATION: ${{ env.SONAR_ORGANIZATION }}" + echo "SONAR_PROJECT_KEY: ${{ env.SONAR_PROJECT_KEY }}" + echo "SONAR_TOKEN: ${{ env.SONAR_TOKEN }}" dbg: runs-on: ubuntu-latest @@ -74,7 +74,7 @@ jobs: needs: [init] # No need to run if we cannot use the sonar token if: >- - needs.init.outputs.sonar_configured == true + needs.init.outputs.sonar_configured == 'true' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]' runs-on: ubuntu-latest From 6ccb3c1d7eba02f8ab6c66eca416fe29163f3ab7 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Tue, 25 Jun 2024 03:29:58 +0200 Subject: [PATCH 22/58] chore(build):[#222] cleanup --- .github/workflows/irs-build.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 27d15ad387..3d78ffd15b 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -31,14 +31,11 @@ jobs: image_name: irs-api docker_hub_user: ${{ secrets.DOCKER_HUB_USER }} sonar_configured: ${{ secrets.SONAR_TOKEN != '' && secrets.SONAR_PROJECT_KEY != '' && secrets.SONAR_ORGANIZATION != '' }} - github_token_available: ${{ env.SONAR_CONFIGURED }} steps: - run: | echo "Preparing variables" echo "SONAR_CONFIGURED: ${{ env.SONAR_CONFIGURED }}" - echo "SONAR_ORGANIZATION: ${{ env.SONAR_ORGANIZATION }}" - echo "SONAR_PROJECT_KEY: ${{ env.SONAR_PROJECT_KEY }}" - echo "SONAR_TOKEN: ${{ env.SONAR_TOKEN }}" + dbg: runs-on: ubuntu-latest @@ -46,6 +43,7 @@ jobs: steps: - run: | echo "needs.init.outputs.sonar_configured: ${{ needs.init.outputs.sonar_configured }}" + build: runs-on: ubuntu-latest From c6eebfdaf2e657cb752ffbbfab4ec62d5377ae98 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Tue, 25 Jun 2024 03:35:20 +0200 Subject: [PATCH 23/58] chore(build):[#222] cleanup --- .github/workflows/irs-build.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 3d78ffd15b..73e346af40 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -37,14 +37,6 @@ jobs: echo "SONAR_CONFIGURED: ${{ env.SONAR_CONFIGURED }}" - dbg: - runs-on: ubuntu-latest - needs: [init] - steps: - - run: | - echo "needs.init.outputs.sonar_configured: ${{ needs.init.outputs.sonar_configured }}" - - build: runs-on: ubuntu-latest steps: From d5534ca16dd2088db0c242ecbb2bcd22269a86a7 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Tue, 25 Jun 2024 15:01:13 +0200 Subject: [PATCH 24/58] chore(build):[#222] cleanup --- .github/workflows/irs-build.yml | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index 73e346af40..ce5c6c1541 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -21,21 +21,16 @@ on: jobs: init: runs-on: ubuntu-latest - env: - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - SONAR_PROJECT_KEY: ${{ secrets.SONAR_PROJECT_KEY }} - SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }} - SONAR_CONFIGURED: ${{ secrets.SONAR_TOKEN != '' && secrets.SONAR_PROJECT_KEY != '' && secrets.SONAR_ORGANIZATION != '' }} outputs: image_namespace: tractusx image_name: irs-api docker_hub_user: ${{ secrets.DOCKER_HUB_USER }} + # In order to skip sonar if not configured sonar_configured: ${{ secrets.SONAR_TOKEN != '' && secrets.SONAR_PROJECT_KEY != '' && secrets.SONAR_ORGANIZATION != '' }} steps: - run: | echo "Preparing variables" - echo "SONAR_CONFIGURED: ${{ env.SONAR_CONFIGURED }}" - + echo "sonar_configured: ${{ secrets.SONAR_TOKEN != '' && secrets.SONAR_PROJECT_KEY != '' && secrets.SONAR_ORGANIZATION != '' }}" build: runs-on: ubuntu-latest @@ -135,15 +130,6 @@ jobs: echo VERSION=$VERSION echo "::set-output name=image_tag::$VERSION" - - name: Log in to registry - if: >- - needs.init.outputs.docker_hub_user == '' && - (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) - && github.actor != 'dependabot[bot]' - # This is where you will update the personal access token to GITHUB_TOKEN - run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin - - - name: Login to Docker Hub if: needs.init.outputs.docker_hub_user != '' uses: docker/login-action@v3 @@ -153,6 +139,7 @@ jobs: - name: Push image (DockerHub) if: needs.init.outputs.docker_hub_user != '' + # nur pushen wenn nicht auf pull request run: | docker tag ${{ matrix.image }} ${{ needs.init.outputs.image_namespace }}/${{ needs.init.outputs.image_name }}:${{ steps.version.outputs.image_tag }} docker push ${{ needs.init.outputs.image_namespace }}/${{ needs.init.outputs.image_name }}:${{ steps.version.outputs.image_tag }} From 80307b2b3a4564cf924ee5fb476289b0f152688c Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Tue, 25 Jun 2024 21:50:09 +0200 Subject: [PATCH 25/58] chore(build):[#222] do not push image in pull requests --- .github/workflows/irs-build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/irs-build.yml b/.github/workflows/irs-build.yml index ce5c6c1541..c726df7446 100644 --- a/.github/workflows/irs-build.yml +++ b/.github/workflows/irs-build.yml @@ -138,8 +138,7 @@ jobs: password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Push image (DockerHub) - if: needs.init.outputs.docker_hub_user != '' - # nur pushen wenn nicht auf pull request + if: needs.init.outputs.docker_hub_user != '' && github.event_name != 'pull_request' run: | docker tag ${{ matrix.image }} ${{ needs.init.outputs.image_namespace }}/${{ needs.init.outputs.image_name }}:${{ steps.version.outputs.image_tag }} docker push ${{ needs.init.outputs.image_namespace }}/${{ needs.init.outputs.image_name }}:${{ steps.version.outputs.image_tag }} From 971f72538d4e80dfdbb5fcc0956e0791703d4d65 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 11:13:52 +0200 Subject: [PATCH 26/58] chore(build):[#222] add message if secrets not defined --- .../cucumber-integration-test-INT.yaml | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/cucumber-integration-test-INT.yaml b/.github/workflows/cucumber-integration-test-INT.yaml index 4e0ead9325..fc491a7980 100644 --- a/.github/workflows/cucumber-integration-test-INT.yaml +++ b/.github/workflows/cucumber-integration-test-INT.yaml @@ -9,6 +9,26 @@ concurrency: cancel-in-progress: true jobs: + + check-config: + runs-on: ubuntu-latest + steps: + - name: Check if required secrets are defined + run: | + if [[ -z "${{ secrets.INT_REGULAR_USER_API_KEY }}" ]]; then + echo "Error: Secret INT_REGULAR_USER_API_KEY is not defined." + exit 1 + fi + if [[ -z "${{ secrets.INT_ADMIN_USER_API_KEY }}" ]]; then + echo "Error: Secret INT_ADMIN_USER_API_KEY is not defined." + exit 1 + fi + if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then + echo "Error: Secret IRS_CUCUMBER_PUBLISH_TOKEN is not defined." + exit 1 + fi + shell: bash + trigger-integration-test: uses: ./.github/workflows/cucumber-integration-test.yaml secrets: From 37246b499c704c48a2633f446a788dab7f241e0a Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 11:17:47 +0200 Subject: [PATCH 27/58] chore(build):[#222] add message if secrets not defined --- .github/workflows/cucumber-integration-test-INT.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/cucumber-integration-test-INT.yaml b/.github/workflows/cucumber-integration-test-INT.yaml index fc491a7980..c972dc4c50 100644 --- a/.github/workflows/cucumber-integration-test-INT.yaml +++ b/.github/workflows/cucumber-integration-test-INT.yaml @@ -19,10 +19,14 @@ jobs: echo "Error: Secret INT_REGULAR_USER_API_KEY is not defined." exit 1 fi + - name: Check if INT_ADMIN_USER_API_KEY is defined + run: | if [[ -z "${{ secrets.INT_ADMIN_USER_API_KEY }}" ]]; then echo "Error: Secret INT_ADMIN_USER_API_KEY is not defined." exit 1 fi + - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined + run: | if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then echo "Error: Secret IRS_CUCUMBER_PUBLISH_TOKEN is not defined." exit 1 @@ -30,6 +34,7 @@ jobs: shell: bash trigger-integration-test: + needs: check-config uses: ./.github/workflows/cucumber-integration-test.yaml secrets: regularUserApiKey: ${{ secrets.INT_REGULAR_USER_API_KEY }} From f632f7d559e8e004aff0477e6c43ea76db4deee6 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 11:26:29 +0200 Subject: [PATCH 28/58] chore(build):[#222] add message if secrets not defined --- .../cucumber-integration-test-INT.yaml | 24 --------------- .../workflows/cucumber-integration-test.yaml | 29 +++++++++++++++++++ 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/.github/workflows/cucumber-integration-test-INT.yaml b/.github/workflows/cucumber-integration-test-INT.yaml index c972dc4c50..722b2526bf 100644 --- a/.github/workflows/cucumber-integration-test-INT.yaml +++ b/.github/workflows/cucumber-integration-test-INT.yaml @@ -10,31 +10,7 @@ concurrency: jobs: - check-config: - runs-on: ubuntu-latest - steps: - - name: Check if required secrets are defined - run: | - if [[ -z "${{ secrets.INT_REGULAR_USER_API_KEY }}" ]]; then - echo "Error: Secret INT_REGULAR_USER_API_KEY is not defined." - exit 1 - fi - - name: Check if INT_ADMIN_USER_API_KEY is defined - run: | - if [[ -z "${{ secrets.INT_ADMIN_USER_API_KEY }}" ]]; then - echo "Error: Secret INT_ADMIN_USER_API_KEY is not defined." - exit 1 - fi - - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined - run: | - if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then - echo "Error: Secret IRS_CUCUMBER_PUBLISH_TOKEN is not defined." - exit 1 - fi - shell: bash - trigger-integration-test: - needs: check-config uses: ./.github/workflows/cucumber-integration-test.yaml secrets: regularUserApiKey: ${{ secrets.INT_REGULAR_USER_API_KEY }} diff --git a/.github/workflows/cucumber-integration-test.yaml b/.github/workflows/cucumber-integration-test.yaml index 6e417a74fe..c8827a232d 100644 --- a/.github/workflows/cucumber-integration-test.yaml +++ b/.github/workflows/cucumber-integration-test.yaml @@ -15,7 +15,36 @@ on: type: string jobs: + + check-config: + runs-on: ubuntu-latest + steps: + - name: Check for required secrets + run: | + CONFIG_OK=false + + if [[ -z "${{ secrets.regularUserApiKey }}" ]]; then + echo "Error: Secret regularUserApiKey is not defined." + CONFIG_OK=true + fi + + if [[ -z "${{ secrets.adminUserApiKey }}" ]]; then + echo "Error: Secret adminUserApiKey is not defined." + CONFIG_OK=true + fi + + if [[ -z "${{ secrets.cucumberPublishToken }}" ]]; then + echo "Error: Secret cucumberPublishToken is not defined." + CONFIG_OK=true + fi + + if [ "$CONFIG_OK" = true ]; then + exit 1 + fi + shell: bash + build: + needs: check-config runs-on: ubuntu-latest steps: From f2cfb8acdd1993e3a447c4ce647b825140c52fa7 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 11:39:55 +0200 Subject: [PATCH 29/58] chore(build):[#222] add message if secrets not defined --- .github/workflows/cucumber-integration-test.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cucumber-integration-test.yaml b/.github/workflows/cucumber-integration-test.yaml index c8827a232d..ff09b6b443 100644 --- a/.github/workflows/cucumber-integration-test.yaml +++ b/.github/workflows/cucumber-integration-test.yaml @@ -24,17 +24,17 @@ jobs: CONFIG_OK=false if [[ -z "${{ secrets.regularUserApiKey }}" ]]; then - echo "Error: Secret regularUserApiKey is not defined." + echo "Missing secret: Please configure the regular user API key." CONFIG_OK=true fi if [[ -z "${{ secrets.adminUserApiKey }}" ]]; then - echo "Error: Secret adminUserApiKey is not defined." + echo "Missing secret: Please configure the admin user API key." CONFIG_OK=true fi if [[ -z "${{ secrets.cucumberPublishToken }}" ]]; then - echo "Error: Secret cucumberPublishToken is not defined." + echo "Missing secret: Please confifure the cucumber publish token." CONFIG_OK=true fi From df80db20df4ba7e8ad2c870421f5cf70917880e2 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 11:50:43 +0200 Subject: [PATCH 30/58] chore(build):[#222] add message if secrets not defined --- .../cucumber-integration-test-DIL.yaml | 26 +++++++++++++++++ .../cucumber-integration-test-INT.yaml | 25 ++++++++++++++++ .../workflows/cucumber-integration-test.yaml | 28 ------------------ .github/workflows/integration-test-DEV.yaml | 29 +++++++++++++++++++ 4 files changed, 80 insertions(+), 28 deletions(-) diff --git a/.github/workflows/cucumber-integration-test-DIL.yaml b/.github/workflows/cucumber-integration-test-DIL.yaml index b3469503b0..bccbe5e15f 100644 --- a/.github/workflows/cucumber-integration-test-DIL.yaml +++ b/.github/workflows/cucumber-integration-test-DIL.yaml @@ -9,7 +9,33 @@ concurrency: cancel-in-progress: true jobs: + + check-config: + runs-on: ubuntu-latest + steps: + - name: Check if DIL_REGULAR_USER_API_KEY is defined + run: | + if [[ -z "${{ secrets.DIL_REGULAR_USER_API_KEY }}" ]]; then + echo "Error: Missing secret: Please configure DIL_REGULAR_USER_API_KEY." + exit 1 + fi + - name: Check if DIL_ADMIN_USER_API_KEY is defined + run: | + if [[ -z "${{ secrets.DIL_ADMIN_USER_API_KEY }}" ]]; then + echo "Error: Missing secret: Please configure DIL_ADMIN_USER_API_KEY." + exit 1 + fi +# TODO it this really required? +# - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined +# run: | +# if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then +# echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN." +# exit 1 +# fi +# shell: bash + trigger-integration-test: + needs: check-config uses: ./.github/workflows/cucumber-integration-test.yaml secrets: regularUserApiKey: ${{ secrets.DIL_REGULAR_USER_API_KEY }} diff --git a/.github/workflows/cucumber-integration-test-INT.yaml b/.github/workflows/cucumber-integration-test-INT.yaml index 722b2526bf..4f616db948 100644 --- a/.github/workflows/cucumber-integration-test-INT.yaml +++ b/.github/workflows/cucumber-integration-test-INT.yaml @@ -10,7 +10,32 @@ concurrency: jobs: + check-config: + runs-on: ubuntu-latest + steps: + - name: Check if INT_REGULAR_USER_API_KEY is defined + run: | + if [[ -z "${{ secrets.INT_REGULAR_USER_API_KEY }}" ]]; then + echo "Error: Missing secret: Please configure INT_REGULAR_USER_API_KEY." + exit 1 + fi + - name: Check if INT_ADMIN_USER_API_KEY is defined + run: | + if [[ -z "${{ secrets.INT_ADMIN_USER_API_KEY }}" ]]; then + echo "Error: Missing secret: Please configure INT_ADMIN_USER_API_KEY." + exit 1 + fi +# TODO it this really required? +# - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined +# run: | +# if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then +# echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN." +# exit 1 +# fi +# shell: bash + trigger-integration-test: + needs: check-config uses: ./.github/workflows/cucumber-integration-test.yaml secrets: regularUserApiKey: ${{ secrets.INT_REGULAR_USER_API_KEY }} diff --git a/.github/workflows/cucumber-integration-test.yaml b/.github/workflows/cucumber-integration-test.yaml index ff09b6b443..16f6bc7c7e 100644 --- a/.github/workflows/cucumber-integration-test.yaml +++ b/.github/workflows/cucumber-integration-test.yaml @@ -16,35 +16,7 @@ on: jobs: - check-config: - runs-on: ubuntu-latest - steps: - - name: Check for required secrets - run: | - CONFIG_OK=false - - if [[ -z "${{ secrets.regularUserApiKey }}" ]]; then - echo "Missing secret: Please configure the regular user API key." - CONFIG_OK=true - fi - - if [[ -z "${{ secrets.adminUserApiKey }}" ]]; then - echo "Missing secret: Please configure the admin user API key." - CONFIG_OK=true - fi - - if [[ -z "${{ secrets.cucumberPublishToken }}" ]]; then - echo "Missing secret: Please confifure the cucumber publish token." - CONFIG_OK=true - fi - - if [ "$CONFIG_OK" = true ]; then - exit 1 - fi - shell: bash - build: - needs: check-config runs-on: ubuntu-latest steps: diff --git a/.github/workflows/integration-test-DEV.yaml b/.github/workflows/integration-test-DEV.yaml index d2498bb84d..dd95e31c51 100644 --- a/.github/workflows/integration-test-DEV.yaml +++ b/.github/workflows/integration-test-DEV.yaml @@ -19,8 +19,37 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true + + + jobs: + + check-config: + runs-on: ubuntu-latest + steps: + - name: Check if DEV_REGULAR_USER_API_KEY is defined + run: | + if [[ -z "${{ secrets.DEV_REGULAR_USER_API_KEY }}" ]]; then + echo "Error: Missing secret: Please configure DEV_REGULAR_USER_API_KEY." + exit 1 + fi + - name: Check if DEV_ADMIN_USER_API_KEY is defined + run: | + if [[ -z "${{ secrets.DEV_ADMIN_USER_API_KEY }}" ]]; then + echo "Error: Missing secret: Please configure DEV_ADMIN_USER_API_KEY." + exit 1 + fi + # TODO it this really required? + # - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined + # run: | + # if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then + # echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN." + # exit 1 + # fi + # shell: bash + trigger-integration-test: + needs: check-config uses: ./.github/workflows/cucumber-integration-test.yaml secrets: regularUserApiKey: ${{ secrets.DEV_REGULAR_USER_API_KEY }} From eea4be12a4b8ebb971acd95bc29740128b64c4b6 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 12:00:21 +0200 Subject: [PATCH 31/58] chore(build):[#222] allow additonal execution filter on DEV --- .github/workflows/integration-test-DEV.yaml | 23 +++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/.github/workflows/integration-test-DEV.yaml b/.github/workflows/integration-test-DEV.yaml index dd95e31c51..1389710f42 100644 --- a/.github/workflows/integration-test-DEV.yaml +++ b/.github/workflows/integration-test-DEV.yaml @@ -48,12 +48,31 @@ jobs: # fi # shell: bash - trigger-integration-test: + + prepare-execution-filter: + runs-on: ubuntu-latest needs: check-config + outputs: + executionFilter: ${{ steps.set-filter.outputs.executionFilter }} + steps: + - name: Set execution filter + id: set-filter + run: | + base_filter="!Ignore & !INACTIVE & INTEGRATION_TEST & DEV" + if [ -n "${{ github.event.inputs.additionalFilter }}" ]; then + execution_filter="${base_filter} & ${{ github.event.inputs.additionalFilter }}" + else + execution_filter="${base_filter}" + fi + echo "::set-output name=executionFilter::${execution_filter}" + + + trigger-integration-test: + needs: prepare-execution-filter uses: ./.github/workflows/cucumber-integration-test.yaml secrets: regularUserApiKey: ${{ secrets.DEV_REGULAR_USER_API_KEY }} adminUserApiKey: ${{ secrets.DEV_ADMIN_USER_API_KEY }} cucumberPublishToken: ${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }} with: - executionFilter: "!Ignore & !INACTIVE & INTEGRATION_TEST & DEV" + executionFilter: ${{ needs.prepare-execution-filter.outputs.executionFilter }} From a89cb78ca2415704f1c9cc666fd12ea698d8562a Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 12:01:44 +0200 Subject: [PATCH 32/58] chore(build):[#222] allow additonal execution filter on DEV --- .github/workflows/integration-test-DEV.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/integration-test-DEV.yaml b/.github/workflows/integration-test-DEV.yaml index 1389710f42..577414ccf7 100644 --- a/.github/workflows/integration-test-DEV.yaml +++ b/.github/workflows/integration-test-DEV.yaml @@ -2,6 +2,11 @@ name: IRS DEV Cucumber Integration test execution on: workflow_dispatch: # Trigger manually + inputs: + additionalFilter: + description: 'Additional execution filter' + required: false + default: '' push: branches: - 'main' From d7b254f2ba097fa53ec3cff6dba6aa9594c21388 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 12:49:27 +0200 Subject: [PATCH 33/58] chore(build):[#222] trial to make publishing cucumber report optional --- .../irs/cucumber/RunCucumberTest.java | 18 +++++++++-- .../irs/cucumber/features/dummy.feature | 30 +++++++++++++++++++ 2 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 irs-cucumber-tests/src/test/resources/org/eclipse/tractusx/irs/cucumber/features/dummy.feature diff --git a/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java b/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java index ac1fd087f3..046c0eca07 100644 --- a/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java +++ b/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java @@ -24,6 +24,7 @@ import static io.cucumber.junit.platform.engine.Constants.PLUGIN_PROPERTY_NAME; import static io.cucumber.junit.platform.engine.Constants.PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME; +import org.junit.platform.commons.util.StringUtils; import org.junit.platform.suite.api.ConfigurationParameter; import org.junit.platform.suite.api.IncludeEngines; import org.junit.platform.suite.api.SelectPackages; @@ -33,9 +34,20 @@ @IncludeEngines("cucumber") @SelectPackages("org.eclipse.tractusx.irs.cucumber") @ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.eclipse.tractusx.irs.cucumber") -@ConfigurationParameter(key = PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME, value = "CUCUMBER_TOKEN_IRS_PLACEHOLDER") +//@ConfigurationParameter(key = PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME, value = "CUCUMBER_TOKEN_IRS_PLACEHOLDER") @ConfigurationParameter(key = ANSI_COLORS_DISABLED_PROPERTY_NAME, value = "true") -@ConfigurationParameter(key = PLUGIN_PROPERTY_NAME, - value = "pretty,junit:target/cucumber-junit-report.xml,html:target/report.html") +//@ConfigurationParameter(key = PLUGIN_PROPERTY_NAME, +// value = "pretty,junit:target/cucumber-junit-report.xml,html:target/report.html") public class RunCucumberTest { + + private static final String PUBLISH_REPORT_PROPERTY = "publish.report"; + + static { + String token = "CUCUMBER_TOKEN_IRS_PLACEHOLDER"; + if (StringUtils.isNotBlank(token)) { + System.setProperty(PLUGIN_PROPERTY_NAME, + "pretty,junit:target/cucumber-junit-report.xml,html:target/report.html"); + System.setProperty(PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME, token); + } + } } diff --git a/irs-cucumber-tests/src/test/resources/org/eclipse/tractusx/irs/cucumber/features/dummy.feature b/irs-cucumber-tests/src/test/resources/org/eclipse/tractusx/irs/cucumber/features/dummy.feature new file mode 100644 index 0000000000..446c42c6c5 --- /dev/null +++ b/irs-cucumber-tests/src/test/resources/org/eclipse/tractusx/irs/cucumber/features/dummy.feature @@ -0,0 +1,30 @@ +# +# Copyright (c) 2022,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) +# Copyright (c) 2021,2024 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License, Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0. +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +Feature: Dummy (just for testing during dev) + + Background: + Given the IRS URL "https://irs.dev.demo.catena-x.net/" -- policystore + And the admin user api key -- policystore + + @DEV @INTEGRATION_TEST + @DUMMY + Scenario: Asdf + # just do something for testing workflow here + When I successfully fetch all policies From b627e15be7f85113d39906dc10a61ebcf254aa5a Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 12:56:14 +0200 Subject: [PATCH 34/58] chore(build):[#222] undo does not seem to work --- .../irs/cucumber/RunCucumberTest.java | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java b/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java index 046c0eca07..faac7fda2f 100644 --- a/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java +++ b/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java @@ -24,7 +24,6 @@ import static io.cucumber.junit.platform.engine.Constants.PLUGIN_PROPERTY_NAME; import static io.cucumber.junit.platform.engine.Constants.PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME; -import org.junit.platform.commons.util.StringUtils; import org.junit.platform.suite.api.ConfigurationParameter; import org.junit.platform.suite.api.IncludeEngines; import org.junit.platform.suite.api.SelectPackages; @@ -34,20 +33,20 @@ @IncludeEngines("cucumber") @SelectPackages("org.eclipse.tractusx.irs.cucumber") @ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.eclipse.tractusx.irs.cucumber") -//@ConfigurationParameter(key = PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME, value = "CUCUMBER_TOKEN_IRS_PLACEHOLDER") +@ConfigurationParameter(key = PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME, value = "CUCUMBER_TOKEN_IRS_PLACEHOLDER") @ConfigurationParameter(key = ANSI_COLORS_DISABLED_PROPERTY_NAME, value = "true") -//@ConfigurationParameter(key = PLUGIN_PROPERTY_NAME, -// value = "pretty,junit:target/cucumber-junit-report.xml,html:target/report.html") +@ConfigurationParameter(key = PLUGIN_PROPERTY_NAME, + value = "pretty,junit:target/cucumber-junit-report.xml,html:target/report.html") public class RunCucumberTest { - private static final String PUBLISH_REPORT_PROPERTY = "publish.report"; - - static { - String token = "CUCUMBER_TOKEN_IRS_PLACEHOLDER"; - if (StringUtils.isNotBlank(token)) { - System.setProperty(PLUGIN_PROPERTY_NAME, - "pretty,junit:target/cucumber-junit-report.xml,html:target/report.html"); - System.setProperty(PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME, token); - } - } + // private static final String PUBLISH_REPORT_PROPERTY = "publish.report"; + // + // static { + // String token = "CUCUMBER_TOKEN_IRS_PLACEHOLDER"; + // if (StringUtils.isNotBlank(token)) { + // System.setProperty(PLUGIN_PROPERTY_NAME, + // "pretty,junit:target/cucumber-junit-report.xml,html:target/report.html"); + // System.setProperty(PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME, token); + // } + // } } From ef5e88cf5d1d32fb2fcdad27854ed043a8852960 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 13:35:01 +0200 Subject: [PATCH 35/58] chore(build):[#222] cumcumber publish token is mandatory (currently) --- .../workflows/cucumber-integration-test-DIL.yaml | 15 +++++++-------- .../workflows/cucumber-integration-test-INT.yaml | 15 +++++++-------- .github/workflows/integration-test-DEV.yaml | 15 +++++++-------- .../tractusx/irs/cucumber/RunCucumberTest.java | 11 ----------- 4 files changed, 21 insertions(+), 35 deletions(-) diff --git a/.github/workflows/cucumber-integration-test-DIL.yaml b/.github/workflows/cucumber-integration-test-DIL.yaml index bccbe5e15f..53a8375ab4 100644 --- a/.github/workflows/cucumber-integration-test-DIL.yaml +++ b/.github/workflows/cucumber-integration-test-DIL.yaml @@ -25,14 +25,13 @@ jobs: echo "Error: Missing secret: Please configure DIL_ADMIN_USER_API_KEY." exit 1 fi -# TODO it this really required? -# - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined -# run: | -# if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then -# echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN." -# exit 1 -# fi -# shell: bash + - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined + run: | + if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then + echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN." + exit 1 + fi + shell: bash trigger-integration-test: needs: check-config diff --git a/.github/workflows/cucumber-integration-test-INT.yaml b/.github/workflows/cucumber-integration-test-INT.yaml index 4f616db948..85ac6f3e04 100644 --- a/.github/workflows/cucumber-integration-test-INT.yaml +++ b/.github/workflows/cucumber-integration-test-INT.yaml @@ -25,14 +25,13 @@ jobs: echo "Error: Missing secret: Please configure INT_ADMIN_USER_API_KEY." exit 1 fi -# TODO it this really required? -# - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined -# run: | -# if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then -# echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN." -# exit 1 -# fi -# shell: bash + - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined + run: | + if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then + echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN." + exit 1 + fi + shell: bash trigger-integration-test: needs: check-config diff --git a/.github/workflows/integration-test-DEV.yaml b/.github/workflows/integration-test-DEV.yaml index 577414ccf7..274db2d2ef 100644 --- a/.github/workflows/integration-test-DEV.yaml +++ b/.github/workflows/integration-test-DEV.yaml @@ -44,14 +44,13 @@ jobs: echo "Error: Missing secret: Please configure DEV_ADMIN_USER_API_KEY." exit 1 fi - # TODO it this really required? - # - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined - # run: | - # if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then - # echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN." - # exit 1 - # fi - # shell: bash + - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined + run: | + if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then + echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN." + exit 1 + fi + shell: bash prepare-execution-filter: diff --git a/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java b/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java index faac7fda2f..ac1fd087f3 100644 --- a/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java +++ b/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java @@ -38,15 +38,4 @@ @ConfigurationParameter(key = PLUGIN_PROPERTY_NAME, value = "pretty,junit:target/cucumber-junit-report.xml,html:target/report.html") public class RunCucumberTest { - - // private static final String PUBLISH_REPORT_PROPERTY = "publish.report"; - // - // static { - // String token = "CUCUMBER_TOKEN_IRS_PLACEHOLDER"; - // if (StringUtils.isNotBlank(token)) { - // System.setProperty(PLUGIN_PROPERTY_NAME, - // "pretty,junit:target/cucumber-junit-report.xml,html:target/report.html"); - // System.setProperty(PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME, token); - // } - // } } From 2997b883195eaf5725034aaca9a219e575f344e4 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 13:58:19 +0200 Subject: [PATCH 36/58] chore(build):[#222] cleanup --- .../irs/cucumber/features/dummy.feature | 30 ------------------- 1 file changed, 30 deletions(-) delete mode 100644 irs-cucumber-tests/src/test/resources/org/eclipse/tractusx/irs/cucumber/features/dummy.feature diff --git a/irs-cucumber-tests/src/test/resources/org/eclipse/tractusx/irs/cucumber/features/dummy.feature b/irs-cucumber-tests/src/test/resources/org/eclipse/tractusx/irs/cucumber/features/dummy.feature deleted file mode 100644 index 446c42c6c5..0000000000 --- a/irs-cucumber-tests/src/test/resources/org/eclipse/tractusx/irs/cucumber/features/dummy.feature +++ /dev/null @@ -1,30 +0,0 @@ -# -# Copyright (c) 2022,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -# Copyright (c) 2021,2024 Contributors to the Eclipse Foundation -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License, Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0. -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -Feature: Dummy (just for testing during dev) - - Background: - Given the IRS URL "https://irs.dev.demo.catena-x.net/" -- policystore - And the admin user api key -- policystore - - @DEV @INTEGRATION_TEST - @DUMMY - Scenario: Asdf - # just do something for testing workflow here - When I successfully fetch all policies From 21e4405d201971934dc3e941ec8387f6ea2539c4 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 13:59:56 +0200 Subject: [PATCH 37/58] chore(build):[#222] simplify --- .github/workflows/integration-test-DEV.yaml | 29 ++++----------------- 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/.github/workflows/integration-test-DEV.yaml b/.github/workflows/integration-test-DEV.yaml index 274db2d2ef..25db785288 100644 --- a/.github/workflows/integration-test-DEV.yaml +++ b/.github/workflows/integration-test-DEV.yaml @@ -3,10 +3,10 @@ name: IRS DEV Cucumber Integration test execution on: workflow_dispatch: # Trigger manually inputs: - additionalFilter: - description: 'Additional execution filter' + executionFilter: + description: 'Execution filter' required: false - default: '' + default: '!Ignore & !INACTIVE & INTEGRATION_TEST & DEV' push: branches: - 'main' @@ -52,31 +52,12 @@ jobs: fi shell: bash - - prepare-execution-filter: - runs-on: ubuntu-latest - needs: check-config - outputs: - executionFilter: ${{ steps.set-filter.outputs.executionFilter }} - steps: - - name: Set execution filter - id: set-filter - run: | - base_filter="!Ignore & !INACTIVE & INTEGRATION_TEST & DEV" - if [ -n "${{ github.event.inputs.additionalFilter }}" ]; then - execution_filter="${base_filter} & ${{ github.event.inputs.additionalFilter }}" - else - execution_filter="${base_filter}" - fi - echo "::set-output name=executionFilter::${execution_filter}" - - trigger-integration-test: - needs: prepare-execution-filter + needs: check-config uses: ./.github/workflows/cucumber-integration-test.yaml secrets: regularUserApiKey: ${{ secrets.DEV_REGULAR_USER_API_KEY }} adminUserApiKey: ${{ secrets.DEV_ADMIN_USER_API_KEY }} cucumberPublishToken: ${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }} with: - executionFilter: ${{ needs.prepare-execution-filter.outputs.executionFilter }} + executionFilter: ${{ github.event.inputs.executionFilter }} From b115727cf7b276f73137e9327e68440c9b08e744 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 15:08:17 +0200 Subject: [PATCH 38/58] chore(build):[#222] try to make publish optional --- .github/workflows/cucumber-integration-test.yaml | 11 +++++++++-- .../tractusx/irs/cucumber/RunCucumberTest.java | 2 ++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cucumber-integration-test.yaml b/.github/workflows/cucumber-integration-test.yaml index 16f6bc7c7e..07c7953ea1 100644 --- a/.github/workflows/cucumber-integration-test.yaml +++ b/.github/workflows/cucumber-integration-test.yaml @@ -41,9 +41,16 @@ jobs: ADMIN_USER_API_KEY: ${{ secrets.adminUserApiKey }} ISSUE_FILTER: ${{ inputs.executionFilter }} CUCUMBER_PUBLISH_TOKEN: ${{ secrets.cucumberPublishToken }} - # workaround replacement since injecting the token via environment variable does not work run: | - sed -i "s/CUCUMBER_TOKEN_IRS_PLACEHOLDER/${CUCUMBER_PUBLISH_TOKEN}/g" irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java + if [ -z "${{ secrets.cucumberPublishToken }}" ]; then + echo "Publish cucumber report disabled" + sed -i "s/PUBLISH_ENABLED_FLAG/false/g" irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java + else + echo "Publish cucumber report enabled" + sed -i "s/PUBLISH_ENABLED_FLAG/true/g" irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java + # workaround replacement since injecting the token via environment variable does not work + sed -i "s/CUCUMBER_TOKEN_IRS_PLACEHOLDER/${CUCUMBER_PUBLISH_TOKEN}/g" irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java + fi mvn clean verify -P cucumber -Dgroups="$ISSUE_FILTER" -pl irs-cucumber-tests -am --batch-mode 2> irs-cucumber-tests/report-banner.txt diff --git a/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java b/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java index ac1fd087f3..d7a4f61fab 100644 --- a/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java +++ b/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java @@ -22,6 +22,7 @@ import static io.cucumber.junit.platform.engine.Constants.ANSI_COLORS_DISABLED_PROPERTY_NAME; import static io.cucumber.junit.platform.engine.Constants.GLUE_PROPERTY_NAME; import static io.cucumber.junit.platform.engine.Constants.PLUGIN_PROPERTY_NAME; +import static io.cucumber.junit.platform.engine.Constants.PLUGIN_PUBLISH_ENABLED_PROPERTY_NAME; import static io.cucumber.junit.platform.engine.Constants.PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME; import org.junit.platform.suite.api.ConfigurationParameter; @@ -33,6 +34,7 @@ @IncludeEngines("cucumber") @SelectPackages("org.eclipse.tractusx.irs.cucumber") @ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.eclipse.tractusx.irs.cucumber") +@ConfigurationParameter(key = PLUGIN_PUBLISH_ENABLED_PROPERTY_NAME, value = "PUBLISH_ENABLED_FLAG") @ConfigurationParameter(key = PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME, value = "CUCUMBER_TOKEN_IRS_PLACEHOLDER") @ConfigurationParameter(key = ANSI_COLORS_DISABLED_PROPERTY_NAME, value = "true") @ConfigurationParameter(key = PLUGIN_PROPERTY_NAME, From 6393ba4a41ca9b2bf05ba72e33f782aae9f17901 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 15:14:28 +0200 Subject: [PATCH 39/58] chore(build):[#222] try to make publish optional --- .github/workflows/integration-test-DEV.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/integration-test-DEV.yaml b/.github/workflows/integration-test-DEV.yaml index 25db785288..c371dea519 100644 --- a/.github/workflows/integration-test-DEV.yaml +++ b/.github/workflows/integration-test-DEV.yaml @@ -44,13 +44,13 @@ jobs: echo "Error: Missing secret: Please configure DEV_ADMIN_USER_API_KEY." exit 1 fi - - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined - run: | - if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then - echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN." - exit 1 - fi - shell: bash +# - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined +# run: | +# if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then +# echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN." +# exit 1 +# fi +# shell: bash trigger-integration-test: needs: check-config From 2dd068849b6481d63b875506662e049930486867 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 15:25:53 +0200 Subject: [PATCH 40/58] chore(build):[#222] revert trial to make publish optional (does not work somehow) --- .github/workflows/integration-test-DEV.yaml | 14 +++++++------- .../tractusx/irs/cucumber/RunCucumberTest.java | 2 -- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/integration-test-DEV.yaml b/.github/workflows/integration-test-DEV.yaml index c371dea519..25db785288 100644 --- a/.github/workflows/integration-test-DEV.yaml +++ b/.github/workflows/integration-test-DEV.yaml @@ -44,13 +44,13 @@ jobs: echo "Error: Missing secret: Please configure DEV_ADMIN_USER_API_KEY." exit 1 fi -# - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined -# run: | -# if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then -# echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN." -# exit 1 -# fi -# shell: bash + - name: Check if IRS_CUCUMBER_PUBLISH_TOKEN is defined + run: | + if [[ -z "${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }}" ]]; then + echo "Error: Missing secret: Please configure IRS_CUCUMBER_PUBLISH_TOKEN." + exit 1 + fi + shell: bash trigger-integration-test: needs: check-config diff --git a/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java b/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java index d7a4f61fab..ac1fd087f3 100644 --- a/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java +++ b/irs-cucumber-tests/src/test/java/org/eclipse/tractusx/irs/cucumber/RunCucumberTest.java @@ -22,7 +22,6 @@ import static io.cucumber.junit.platform.engine.Constants.ANSI_COLORS_DISABLED_PROPERTY_NAME; import static io.cucumber.junit.platform.engine.Constants.GLUE_PROPERTY_NAME; import static io.cucumber.junit.platform.engine.Constants.PLUGIN_PROPERTY_NAME; -import static io.cucumber.junit.platform.engine.Constants.PLUGIN_PUBLISH_ENABLED_PROPERTY_NAME; import static io.cucumber.junit.platform.engine.Constants.PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME; import org.junit.platform.suite.api.ConfigurationParameter; @@ -34,7 +33,6 @@ @IncludeEngines("cucumber") @SelectPackages("org.eclipse.tractusx.irs.cucumber") @ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "org.eclipse.tractusx.irs.cucumber") -@ConfigurationParameter(key = PLUGIN_PUBLISH_ENABLED_PROPERTY_NAME, value = "PUBLISH_ENABLED_FLAG") @ConfigurationParameter(key = PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME, value = "CUCUMBER_TOKEN_IRS_PLACEHOLDER") @ConfigurationParameter(key = ANSI_COLORS_DISABLED_PROPERTY_NAME, value = "true") @ConfigurationParameter(key = PLUGIN_PROPERTY_NAME, From 6f5dbf408b398bff9f4c9ef2e5e21f708716cfc5 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 15:37:19 +0200 Subject: [PATCH 41/58] chore(build):[#222] rename int-test-automation.yml to smoketest.yml --- .github/workflows/{int-test-automation.yml => smoketest.yml} | 2 +- TESTS.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename .github/workflows/{int-test-automation.yml => smoketest.yml} (97%) diff --git a/.github/workflows/int-test-automation.yml b/.github/workflows/smoketest.yml similarity index 97% rename from .github/workflows/int-test-automation.yml rename to .github/workflows/smoketest.yml index d9ac02bdff..e648281acb 100644 --- a/.github/workflows/int-test-automation.yml +++ b/.github/workflows/smoketest.yml @@ -1,4 +1,4 @@ -name: IRS integration tests +name: IRS smoke tests on: workflow_dispatch: diff --git a/TESTS.md b/TESTS.md index b7e9059acd..e19b86d9bc 100644 --- a/TESTS.md +++ b/TESTS.md @@ -47,7 +47,7 @@ Wiremock Tests and their corresponding utilities are marked by the suffix `Wirem ### Smoke Tests - The smoke test can be found under `irs-integration-tests/src/test/java/org/eclipse/tractusx/irs/smoketest/ItemGraphSmokeTest.java`. -- It is executed via the GitHub workflow [IRS integration tests](.github/workflows/int-test-automation.yml). +- It is executed via the GitHub workflow [IRS integration tests](.github/workflows/smoketest.yml). ### Regression Tests From 19fc5a3f22266f33cb390b8a0e7909e54ffe9ce3 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 16:02:04 +0200 Subject: [PATCH 42/58] chore(build):[#222] check for missing secrets in irs-load-test.yaml --- .github/workflows/irs-load-test.yaml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/workflows/irs-load-test.yaml b/.github/workflows/irs-load-test.yaml index 25fa75c633..8c3166c594 100644 --- a/.github/workflows/irs-load-test.yaml +++ b/.github/workflows/irs-load-test.yaml @@ -19,7 +19,32 @@ on: required: false jobs: + + check-config: + runs-on: ubuntu-latest + steps: + - name: Check if OAUTH2_CLIENT_TOKEN_URI is defined + run: | + if [[ -z "${{ secrets.OAUTH2_CLIENT_TOKEN_URI }}" ]]; then + echo "Error: Missing secret: Please configure OAUTH2_CLIENT_TOKEN_URI." + exit 1 + fi + - name: Check if OAUTH2_CLIENT_SECRET is defined + run: | + if [[ -z "${{ secrets.OAUTH2_CLIENT_SECRET }}" ]]; then + echo "Error: Missing secret: Please configure OAUTH2_CLIENT_SECRET." + exit 1 + fi + - name: Check if OAUTH2_CLIENT_ID is defined + run: | + if [[ -z "${{ secrets.OAUTH2_CLIENT_ID }}" ]]; then + echo "Error: Missing secret: Please configure OAUTH2_CLIENT_ID." + exit 1 + fi + shell: bash + gatling-test: + needs: check-config runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 From ba499ee32ea8ad871e02218aae240d753494745f Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 26 Jun 2024 17:51:35 +0200 Subject: [PATCH 43/58] chore(build):[#222] check that releases are created on Tractus-X only --- .github/workflows/helm-chart-release.yaml | 12 ++++++++++++ .github/workflows/release.yaml | 12 ++++++++++++ .github/workflows/update-docs-for-release.yml | 12 ++++++++++++ 3 files changed, 36 insertions(+) diff --git a/.github/workflows/helm-chart-release.yaml b/.github/workflows/helm-chart-release.yaml index 529bdd3289..da5d518757 100644 --- a/.github/workflows/helm-chart-release.yaml +++ b/.github/workflows/helm-chart-release.yaml @@ -9,7 +9,19 @@ on: - 'charts/**' jobs: + + check-repository: + runs-on: ubuntu-latest + steps: + - name: Check repository + run: | + if [ "${{ github.repository }}" != "eclipse-tractusx/your-repository-name" ]; then + echo "Releases must be created on Tractus-X only." + exit 1 + fi + get-helm-charts-versions-irs: + needs: check-repository outputs: latest_version: ${{ steps.step1.outputs.latest_version }} current_version: ${{ steps.step2.outputs.current_version }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 010c312c8a..ef9fed8c2a 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -17,7 +17,19 @@ on: type: string jobs: + + check-repository: + runs-on: ubuntu-latest + steps: + - name: Check repository + run: | + if [ "${{ github.repository }}" != "eclipse-tractusx/your-repository-name" ]; then + echo "Releases must be created on Tractus-X only." + exit 1 + fi + release: + needs: check-repository runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/update-docs-for-release.yml b/.github/workflows/update-docs-for-release.yml index 70fdf27f77..5a6a2c9f55 100644 --- a/.github/workflows/update-docs-for-release.yml +++ b/.github/workflows/update-docs-for-release.yml @@ -28,8 +28,20 @@ on: - 'No' default: 'No' jobs: + + check-repository: + runs-on: ubuntu-latest + steps: + - name: Check repository + run: | + if [ "${{ github.repository }}" != "eclipse-tractusx/your-repository-name" ]; then + echo "Releases must be created on Tractus-X only." + exit 1 + fi + update-docs-for-release: runs-on: ubuntu-latest + needs: check-repository outputs: previous-irs-version: ${{ steps.update-docs.outputs.previous-irs-version }} From aa2c2818f7570d0167e96a9925d3f9bafc037e43 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Thu, 27 Jun 2024 12:32:39 +0200 Subject: [PATCH 44/58] Revert "chore(build):[#222] check that releases are created on Tractus-X only" This reverts commit ba499ee32ea8ad871e02218aae240d753494745f. --- .github/workflows/helm-chart-release.yaml | 12 ------------ .github/workflows/release.yaml | 12 ------------ .github/workflows/update-docs-for-release.yml | 12 ------------ 3 files changed, 36 deletions(-) diff --git a/.github/workflows/helm-chart-release.yaml b/.github/workflows/helm-chart-release.yaml index da5d518757..529bdd3289 100644 --- a/.github/workflows/helm-chart-release.yaml +++ b/.github/workflows/helm-chart-release.yaml @@ -9,19 +9,7 @@ on: - 'charts/**' jobs: - - check-repository: - runs-on: ubuntu-latest - steps: - - name: Check repository - run: | - if [ "${{ github.repository }}" != "eclipse-tractusx/your-repository-name" ]; then - echo "Releases must be created on Tractus-X only." - exit 1 - fi - get-helm-charts-versions-irs: - needs: check-repository outputs: latest_version: ${{ steps.step1.outputs.latest_version }} current_version: ${{ steps.step2.outputs.current_version }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index ef9fed8c2a..010c312c8a 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -17,19 +17,7 @@ on: type: string jobs: - - check-repository: - runs-on: ubuntu-latest - steps: - - name: Check repository - run: | - if [ "${{ github.repository }}" != "eclipse-tractusx/your-repository-name" ]; then - echo "Releases must be created on Tractus-X only." - exit 1 - fi - release: - needs: check-repository runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/update-docs-for-release.yml b/.github/workflows/update-docs-for-release.yml index 5a6a2c9f55..70fdf27f77 100644 --- a/.github/workflows/update-docs-for-release.yml +++ b/.github/workflows/update-docs-for-release.yml @@ -28,20 +28,8 @@ on: - 'No' default: 'No' jobs: - - check-repository: - runs-on: ubuntu-latest - steps: - - name: Check repository - run: | - if [ "${{ github.repository }}" != "eclipse-tractusx/your-repository-name" ]; then - echo "Releases must be created on Tractus-X only." - exit 1 - fi - update-docs-for-release: runs-on: ubuntu-latest - needs: check-repository outputs: previous-irs-version: ${{ steps.update-docs.outputs.previous-irs-version }} From 4d0e4add0b5bcfdcdb5112d4241d970d19919b2c Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Thu, 27 Jun 2024 12:52:54 +0200 Subject: [PATCH 45/58] chore(build):[#222] delete outdated workflow script int-setup-testdata.yml --- .github/workflows/int-setup-testdata.yml | 84 ------------------------ 1 file changed, 84 deletions(-) delete mode 100644 .github/workflows/int-setup-testdata.yml diff --git a/.github/workflows/int-setup-testdata.yml b/.github/workflows/int-setup-testdata.yml deleted file mode 100644 index c97771b16d..0000000000 --- a/.github/workflows/int-setup-testdata.yml +++ /dev/null @@ -1,84 +0,0 @@ -name: Integration testdata setup - -on: - workflow_dispatch: - inputs: - testfilePath: - description: 'Path to Testdata file on GitHub' - required: true - type: string - submodelUrls: - description: 'Space-separated list of Submodel server URLs' - required: true - type: string - aasUrl: - description: 'Digital twin registry URL' - required: true - type: string - edcUrls: - description: 'Space-separated list of Provider control plane URLs' - required: true - type: string - edcApiKey: - description: 'API-Key for the provider control plane' - required: true - type: string - esrUrl: - description: 'ESR endpoint Url' - required: false - type: string - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: setup python - uses: actions/setup-python@v5 - with: - python-version: 3.8 #install the python needed - cache: 'pip' - - run: pip install -r local/testing/testdata/requirements.txt - - - name: Delete existing and setup new test data on provider EDC and Registry - if: ${{ github.event.inputs.esrUrl == '' }} - env: - TESTFILE_PATH: ${{ github.event.inputs.testfilePath }} - SUBMODEL_URLs: ${{ github.event.inputs.submodelUrls }} - AAS_URL: ${{ github.event.inputs.aasUrl }} - EDC_URLs: ${{ github.event.inputs.edcUrls }} - EDC_API_KEY: ${{ github.event.inputs.edcApiKey }} - run: | - python local/testing/testdata/reset-env.py \ - -a $AAS_URL \ - -edc $EDC_URLs \ - -k $EDC_API_KEY - python local/testing/testdata/transform-and-upload.py \ - -f $TESTFILE_PATH \ - -s $SUBMODEL_URLs \ - -a $AAS_URL \ - -edc $EDC_URLs \ - -k $EDC_API_KEY - - - name: Delete existing and setup new test data on provider EDC and Registry - if: ${{ github.event.inputs.esrUrl != '' }} - env: - TESTFILE_PATH: ${{ github.event.inputs.testfilePath }} - SUBMODEL_URLs: ${{ github.event.inputs.submodelUrls }} - AAS_URL: ${{ github.event.inputs.aasUrl }} - EDC_URLs: ${{ github.event.inputs.edcUrls }} - EDC_API_KEY: ${{ github.event.inputs.edcApiKey }} - ESR_URL: ${{ github.event.inputs.esrUrl }} - run: | - python local/testing/testdata/reset-env.py \ - -a $AAS_URL \ - -edc $EDC_URLs \ - -k $EDC_API_KEY - python local/testing/testdata/transform-and-upload.py \ - -f $TESTFILE_PATH \ - -s $SUBMODEL_URLs \ - -a $AAS_URL \ - -edc $EDC_URLs \ - -k $EDC_API_KEY - -e $ESR_URL From 205588e64c22d80f2938312544e0e27018f0213d Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Thu, 27 Jun 2024 14:30:43 +0200 Subject: [PATCH 46/58] chore(owasp):[#xxx] ignore false positive connector-core-0.6.0.jar: CVE-2024-4536(6.8) --- .config/owasp-suppressions.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.config/owasp-suppressions.xml b/.config/owasp-suppressions.xml index 051a11d32b..d2636c8f4c 100644 --- a/.config/owasp-suppressions.xml +++ b/.config/owasp-suppressions.xml @@ -35,4 +35,11 @@ ^pkg:maven/com.jayway.jsonpath/json-path@2.8.0$ CVE-2023-51074 + + + ^pkg:maven/org.eclipse.edc.connector.core@0.6.0$ + CVE-2024-4536 + \ No newline at end of file From b38a07228594449b6a25c9ead84a7e7b1ce8a0b8 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Thu, 27 Jun 2024 14:41:29 +0200 Subject: [PATCH 47/58] chore(owasp):[#222] allow triggering OWASP workflow manually --- .github/workflows/owasp.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/owasp.yml b/.github/workflows/owasp.yml index 7fc31acbcf..6fb83925ab 100644 --- a/.github/workflows/owasp.yml +++ b/.github/workflows/owasp.yml @@ -1,6 +1,8 @@ name: "OWASP dependency scanner" on: + workflow_dispatch: # Additionally allow to trigger manually + push: branches: main paths-ignore: From 86988bfc0b4b2f78b4adc4c263c6fbaf471e18d2 Mon Sep 17 00:00:00 2001 From: ds-jhartmann <57985712+ds-jhartmann@users.noreply.github.com> Date: Thu, 27 Jun 2024 13:04:41 +0000 Subject: [PATCH 48/58] chore(dependencies): Update irs-registry-client to 2.1.1-SNAPSHOT --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index c2a3bd8350..898c37ad11 100644 --- a/pom.xml +++ b/pom.xml @@ -75,7 +75,7 @@ - 2.1.0-SNAPSHOT + 2.1.1-SNAPSHOT 3.1.11 From 8d0bb37b28a9591689dcaa21da8dcf58b096ec30 Mon Sep 17 00:00:00 2001 From: jhartmann Date: Thu, 27 Jun 2024 15:25:04 +0200 Subject: [PATCH 49/58] chore(dependencies): Update irs-registry-client to 2.1.0 --- DEPENDENCIES | 10 +++++----- pom.xml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index d6c721bf7f..7bb221faf2 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -305,12 +305,12 @@ maven/mavencentral/org.eclipse.tractusx.edc/core-spi/0.6.0, Apache-2.0, approved maven/mavencentral/org.eclipse.tractusx.edc/edr-api/0.6.0, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.edc/edr-spi/0.6.0, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.irs/irs-api/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-common/2.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/2.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-models/2.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-common/2.1.0, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/2.1.0, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-models/2.1.0, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.irs/irs-policy-store/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/2.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-testing/2.1.0-SNAPSHOT, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/2.1.0, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-testing/2.1.0, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.glassfish/jakarta.json/2.0.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jsonp maven/mavencentral/org.hamcrest/hamcrest-core/2.2, BSD-3-Clause, approved, clearlydefined maven/mavencentral/org.hamcrest/hamcrest/2.2, BSD-3-Clause, approved, clearlydefined diff --git a/pom.xml b/pom.xml index 898c37ad11..e0618d8a0f 100644 --- a/pom.xml +++ b/pom.xml @@ -75,7 +75,7 @@ - 2.1.1-SNAPSHOT + 2.1.0 3.1.11 From b97f6e597512e3a52ef35da7953b468986b43560 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Sun, 30 Jun 2024 01:29:14 +0200 Subject: [PATCH 50/58] chore(trivy):[#xxx] try trivy fix mentioned in the Community Office Hour see https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/pull/949/files --- .github/workflows/trivy-image-scan.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/trivy-image-scan.yml b/.github/workflows/trivy-image-scan.yml index 27fe9c8719..23699557cd 100644 --- a/.github/workflows/trivy-image-scan.yml +++ b/.github/workflows/trivy-image-scan.yml @@ -58,9 +58,11 @@ jobs: image-ref: "localhost:5000/irs-api:testing" format: "sarif" output: "trivy-results2.sarif" - exit-code: "1" + exit-code: "1" # Trivy exits with code 1 if vulnerabilities are found, causing the workflow step to fail. severity: "CRITICAL,HIGH" trivyignores: .config/.trivyignore + limit-severities-for-sarif: true + - name: Upload Trivy scan results to GitHub Security tab if: always() From 4c519502ab0eabe0cc4ef92d4cbce766ffee47aa Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Sun, 30 Jun 2024 02:01:13 +0200 Subject: [PATCH 51/58] chore(trivy):[#xxx] update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47c1cd3419..ceaa7fceb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ _**For better traceability add the corresponding GitHub issue number in each cha - Fixed ESS Investigation job processing not starting #579 - Policy store API returns 'rightOperand' without 'odrl:' prefix now (see traceability-foss/issues/970). +- Fixed trivy workflow to fail only on CRITICAL, HIGH (according to https://github.com/eclipse-tractusx/eclipse-tractusx.github.io/pull/949/files). ### Changed From 88f7f185327eb100ba8add40d6eba31440236e03 Mon Sep 17 00:00:00 2001 From: ds-jhartmann <57985712+ds-jhartmann@users.noreply.github.com> Date: Mon, 1 Jul 2024 12:09:09 +0000 Subject: [PATCH 52/58] chore(dependencies): Update irs-registry-client to 2.1.1-SNAPSHOT --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e0618d8a0f..898c37ad11 100644 --- a/pom.xml +++ b/pom.xml @@ -75,7 +75,7 @@ - 2.1.0 + 2.1.1-SNAPSHOT 3.1.11 From 0f952e5eee12cc6f609c753db62dadfa6e2c8eed Mon Sep 17 00:00:00 2001 From: ds-jhartmann <57985712+ds-jhartmann@users.noreply.github.com> Date: Mon, 1 Jul 2024 12:10:31 +0000 Subject: [PATCH 53/58] chore(dependencies): Update DEPENDENCIES --- DEPENDENCIES | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 7bb221faf2..27195e3487 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -305,12 +305,12 @@ maven/mavencentral/org.eclipse.tractusx.edc/core-spi/0.6.0, Apache-2.0, approved maven/mavencentral/org.eclipse.tractusx.edc/edr-api/0.6.0, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.edc/edr-spi/0.6.0, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.irs/irs-api/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-common/2.1.0, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/2.1.0, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-models/2.1.0, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-common/2.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/2.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-models/2.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.irs/irs-policy-store/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/2.1.0, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-testing/2.1.0, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/2.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-testing/2.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.glassfish/jakarta.json/2.0.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jsonp maven/mavencentral/org.hamcrest/hamcrest-core/2.2, BSD-3-Clause, approved, clearlydefined maven/mavencentral/org.hamcrest/hamcrest/2.2, BSD-3-Clause, approved, clearlydefined From bfce2819189c259c5d1b3d4b01cc08497f28634c Mon Sep 17 00:00:00 2001 From: ds-lcapellino Date: Mon, 1 Jul 2024 10:51:31 +0200 Subject: [PATCH 54/58] feature: eclipse-tractusx/traceability-foss#639 rework exception messages for policy handling --- .../job/delegate/RelationshipDelegateTest.java | 2 +- .../job/delegate/SubmodelDelegateTest.java | 2 +- .../edc/client/ContractNegotiationService.java | 4 ++-- .../exceptions/UsagePolicyExpiredException.java | 6 +++--- .../UsagePolicyPermissionException.java | 17 ++++++++++++----- .../edc/client/policy/PolicyCheckerService.java | 2 +- .../edc/client/SubmodelFacadeWiremockTest.java | 5 +++-- pom.xml | 2 +- 8 files changed, 24 insertions(+), 16 deletions(-) diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/RelationshipDelegateTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/RelationshipDelegateTest.java index b6dea229fa..bc9a42531c 100644 --- a/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/RelationshipDelegateTest.java +++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/RelationshipDelegateTest.java @@ -391,7 +391,7 @@ void shouldCatchUsagePolicyExceptionAndPutTombstone() throws EdcClientException // when when(submodelFacade.getSubmodelPayload(any(), any(), any(), any())).thenThrow( - new UsagePolicyPermissionException("itemId", null, businessPartnerNumber)); + new UsagePolicyPermissionException(List.of(), null, businessPartnerNumber)); when(connectorEndpointsService.fetchConnectorEndpoints(any())).thenReturn(List.of("connector.endpoint.nl")); final ItemContainer result = relationshipDelegate.process(itemContainerWithShell, jobParameter(), new AASTransferProcess(), createKey()); diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/SubmodelDelegateTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/SubmodelDelegateTest.java index ab98d6123e..f6a98013c4 100644 --- a/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/SubmodelDelegateTest.java +++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/aaswrapper/job/delegate/SubmodelDelegateTest.java @@ -153,7 +153,7 @@ void shouldCatchUsagePolicyExceptionAndPutTombstone() throws EdcClientException // when when(submodelFacade.getSubmodelPayload(any(), any(), any(), any())).thenThrow( - new UsagePolicyPermissionException("itemId", null, businessPartnerNumber)); + new UsagePolicyPermissionException(List.of(), null, businessPartnerNumber)); when(connectorEndpointsService.fetchConnectorEndpoints(any())).thenReturn(List.of("connector.endpoint.nl")); final ItemContainer result = submodelDelegate.process(itemContainerShellWithTwoSubmodels, jobParameterCollectAspects(), new AASTransferProcess(), createKey()); diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/ContractNegotiationService.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/ContractNegotiationService.java index d45e24dac5..45a58bcb0e 100644 --- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/ContractNegotiationService.java +++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/ContractNegotiationService.java @@ -127,13 +127,13 @@ private CompletableFuture startNewNegotiation(final String if (!policyCheckerService.isValid(catalogItem.getPolicy(), bpn)) { log.warn("Policy was not allowed, canceling negotiation."); - throw new UsagePolicyPermissionException(catalogItem.getItemId(), catalogItem.getPolicy(), + throw new UsagePolicyPermissionException(policyCheckerService.getValidStoredPolicies(catalogItem.getConnectorId()), catalogItem.getPolicy(), catalogItem.getConnectorId()); } if (policyCheckerService.isExpired(catalogItem.getPolicy(), bpn)) { log.warn("Policy is expired, canceling negotiation."); - throw new UsagePolicyExpiredException(catalogItem.getItemId(), catalogItem.getPolicy(), + throw new UsagePolicyExpiredException(catalogItem.getPolicy(), catalogItem.getConnectorId()); } diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyExpiredException.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyExpiredException.java index e9c4e44fa7..097ed1c92a 100644 --- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyExpiredException.java +++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyExpiredException.java @@ -31,10 +31,10 @@ public class UsagePolicyExpiredException extends EdcClientException { private final transient Policy policy; private final String businessPartnerNumber; - public UsagePolicyExpiredException(final String itemId, final Policy policy, final String businessPartnerNumber) { - super("Consumption of asset '" + itemId - + "' is not permitted as the required catalog offer policies are expired."); + public UsagePolicyExpiredException(final Policy policy, final String businessPartnerNumber) { + super("Policy from " + businessPartnerNumber + " has expired."); this.policy = policy; this.businessPartnerNumber = businessPartnerNumber; } + } diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyPermissionException.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyPermissionException.java index c289672f12..3e2f1c797f 100644 --- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyPermissionException.java +++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyPermissionException.java @@ -23,8 +23,11 @@ ********************************************************************************/ package org.eclipse.tractusx.irs.edc.client.exceptions; +import java.util.List; + import lombok.Getter; import org.eclipse.edc.policy.model.Policy; +import org.eclipse.tractusx.irs.edc.client.policy.AcceptedPolicy; /** * Usage Policy Permission Exception errors in the contract negotiation. @@ -35,11 +38,15 @@ public class UsagePolicyPermissionException extends EdcClientException { private final transient Policy policy; private final String businessPartnerNumber; - public UsagePolicyPermissionException(final String itemId, final Policy policy, - final String businessPartnerNumber) { - super("Consumption of asset '" + itemId - + "' is not permitted as the required catalog offer policies do not comply with defined policies."); - this.policy = policy; + public UsagePolicyPermissionException(final List acceptedPolicies, + final Policy providedCatalogItemPolicy, final String businessPartnerNumber) { + super("Policies " + + acceptedPolicies.stream().map(policy -> policy.policy().getPolicyId()).toList() + + " did not match with policy from " + businessPartnerNumber + "."); + + this.policy = providedCatalogItemPolicy; this.businessPartnerNumber = businessPartnerNumber; + } + } diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/PolicyCheckerService.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/PolicyCheckerService.java index daa34c81d6..b4e052e914 100644 --- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/PolicyCheckerService.java +++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/PolicyCheckerService.java @@ -70,7 +70,7 @@ private boolean hasExpiredConstraint(final Permission permission, final List acceptedPolicy.validUntil().isBefore(OffsetDateTime.now())); } - private List getValidStoredPolicies(final String bpn) { + public List getValidStoredPolicies(final String bpn) { return policyStore.getAcceptedPolicies(bpn).stream().toList(); } diff --git a/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/SubmodelFacadeWiremockTest.java b/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/SubmodelFacadeWiremockTest.java index 135fd74842..ca71a2e2bf 100644 --- a/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/SubmodelFacadeWiremockTest.java +++ b/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/SubmodelFacadeWiremockTest.java @@ -37,6 +37,7 @@ import static org.eclipse.tractusx.irs.testing.wiremock.SubmodelFacadeWiremockSupport.TRACEABILITY_1_0; import static org.eclipse.tractusx.irs.testing.wiremock.WireMockConfig.responseWithStatus; import static org.eclipse.tractusx.irs.testing.wiremock.WireMockConfig.restTemplateProxy; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -235,13 +236,13 @@ void shouldThrowExceptionWhenPoliciesAreNotAccepted() { final AcceptedPolicy acceptedPolicy = new AcceptedPolicy(policy("IRS Policy", List.of(permission)), OffsetDateTime.now().plusYears(1)); - when(acceptedPoliciesProvider.getAcceptedPolicies("bpn")).thenReturn(List.of(acceptedPolicy)); + when(acceptedPoliciesProvider.getAcceptedPolicies(anyString())).thenReturn(List.of(acceptedPolicy)); prepareNegotiation(); givenThat(get(urlPathEqualTo(SUBMODEL_DATAPLANE_PATH)).willReturn(responseWithStatus(200).withBody("test"))); // Act & Assert - final String errorMessage = "Consumption of asset '5a7ab616-989f-46ae-bdf2-32027b9f6ee6-31b614f5-ec14-4ed2-a509-e7b7780083e7' is not permitted as the required catalog offer policies do not comply with defined policies."; + final String errorMessage = "Policies [IRS Policy] did not match with policy from BPNL00000000TEST."; assertThatExceptionOfType(UsagePolicyPermissionException.class).isThrownBy( () -> edcSubmodelClient.getSubmodelPayload(CONNECTOR_ENDPOINT_URL, SUBMODEL_DATAPLANE_URL, ASSET_ID, "bpn") .get()).withMessageEndingWith(errorMessage); diff --git a/pom.xml b/pom.xml index e0618d8a0f..898c37ad11 100644 --- a/pom.xml +++ b/pom.xml @@ -75,7 +75,7 @@ - 2.1.0 + 2.1.1-SNAPSHOT 3.1.11 From d1e0c05aedae4bf9b458465f5a26e4c93b14bb6f Mon Sep 17 00:00:00 2001 From: jhartmann Date: Tue, 2 Jul 2024 09:56:37 +0200 Subject: [PATCH 55/58] chore(deps): update registry client lib to 2.1.1 --- DEPENDENCIES | 10 +++++----- pom.xml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 27195e3487..08d3d96f54 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -305,12 +305,12 @@ maven/mavencentral/org.eclipse.tractusx.edc/core-spi/0.6.0, Apache-2.0, approved maven/mavencentral/org.eclipse.tractusx.edc/edr-api/0.6.0, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.edc/edr-spi/0.6.0, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.irs/irs-api/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-common/2.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/2.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-models/2.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-common/2.1.1, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/2.1.1, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-models/2.1.1, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.irs/irs-policy-store/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/2.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-testing/2.1.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/2.1.1, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-testing/2.1.1, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.glassfish/jakarta.json/2.0.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jsonp maven/mavencentral/org.hamcrest/hamcrest-core/2.2, BSD-3-Clause, approved, clearlydefined maven/mavencentral/org.hamcrest/hamcrest/2.2, BSD-3-Clause, approved, clearlydefined diff --git a/pom.xml b/pom.xml index 898c37ad11..815f535fbe 100644 --- a/pom.xml +++ b/pom.xml @@ -75,7 +75,7 @@ - 2.1.1-SNAPSHOT + 2.1.1 3.1.11 From bb13746bdd4fdcbea8f851e17c9d3aaff99c3ba0 Mon Sep 17 00:00:00 2001 From: ds-jhartmann <57985712+ds-jhartmann@users.noreply.github.com> Date: Tue, 2 Jul 2024 08:31:12 +0000 Subject: [PATCH 56/58] chore(dependencies): Update irs-registry-client to 2.1.2-SNAPSHOT --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 815f535fbe..fb0c6f84d7 100644 --- a/pom.xml +++ b/pom.xml @@ -75,7 +75,7 @@ - 2.1.1 + 2.1.2-SNAPSHOT 3.1.11 From 927d30d9422ea50ab40389905511aadaf0d335af Mon Sep 17 00:00:00 2001 From: ds-jhartmann <57985712+ds-jhartmann@users.noreply.github.com> Date: Tue, 2 Jul 2024 10:48:38 +0000 Subject: [PATCH 57/58] chore(dependencies): Update DEPENDENCIES --- DEPENDENCIES | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 08d3d96f54..d105b524ec 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -305,12 +305,12 @@ maven/mavencentral/org.eclipse.tractusx.edc/core-spi/0.6.0, Apache-2.0, approved maven/mavencentral/org.eclipse.tractusx.edc/edr-api/0.6.0, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.edc/edr-spi/0.6.0, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.irs/irs-api/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-common/2.1.1, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/2.1.1, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-models/2.1.1, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-common/2.1.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/2.1.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-models/2.1.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.irs/irs-policy-store/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/2.1.1, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-testing/2.1.1, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/2.1.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-testing/2.1.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.glassfish/jakarta.json/2.0.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jsonp maven/mavencentral/org.hamcrest/hamcrest-core/2.2, BSD-3-Clause, approved, clearlydefined maven/mavencentral/org.hamcrest/hamcrest/2.2, BSD-3-Clause, approved, clearlydefined From 46733a1c79da4b3a0cb70e41fce13d4936e05afa Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Tue, 2 Jul 2024 17:18:39 +0200 Subject: [PATCH 58/58] chore(github-actions): [#222] cucumber integration test DEV - fix default execution filter --- .github/workflows/integration-test-DEV.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration-test-DEV.yaml b/.github/workflows/integration-test-DEV.yaml index 25db785288..f314ec76b1 100644 --- a/.github/workflows/integration-test-DEV.yaml +++ b/.github/workflows/integration-test-DEV.yaml @@ -60,4 +60,4 @@ jobs: adminUserApiKey: ${{ secrets.DEV_ADMIN_USER_API_KEY }} cucumberPublishToken: ${{ secrets.IRS_CUCUMBER_PUBLISH_TOKEN }} with: - executionFilter: ${{ github.event.inputs.executionFilter }} + executionFilter: ${{ github.event.inputs.executionFilter || '!Ignore & !INACTIVE & INTEGRATION_TEST & DEV' }}