Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
68a27a8
Adds missing dependency for MongoDB Integration (#697)
FriedJannik Apr 9, 2025
9cb702b
Fixes wrong status Code on putFileByPath (#696)
FriedJannik Apr 9, 2025
fe8825f
Adds Submodel Service docker release step (#692)
aaronzi Apr 9, 2025
629c646
Fixes incorrect base image
aaronzi Apr 9, 2025
dcff950
Adds aas4j version to the docker build workflows
aaronzi Apr 9, 2025
12bf87b
Fixes handling of build args
aaronzi Apr 9, 2025
a1ead66
Removes submodel service from docker build workflow
aaronzi Apr 9, 2025
7babc9f
docs: added documentation for helm values file (#704)
marctuerke Apr 17, 2025
7367f43
feat: Added serialization endpoint to AAS Environment Client (#629)
ShehriyarShariq-Fraunhofer Apr 17, 2025
bc3de36
fixes problem with healthcheck when using context path (#708)
aaronzi Apr 18, 2025
025c597
Build(deps): Bump com.google.guava:guava from 33.4.5-jre to 33.4.8-jr…
dependabot[bot] Apr 21, 2025
9e6af4b
fix: set correct mount for aas discovery application properties in he…
marctuerke Apr 21, 2025
30a6941
Build(deps): Bump commons-io:commons-io from 2.18.0 to 2.19.0 (#702)
dependabot[bot] Apr 21, 2025
7cd48d8
Build(deps): Bump org.springframework.cloud:spring-cloud-dependencies…
dependabot[bot] Apr 22, 2025
8171d34
Fixes MongoDB null-field bug (#711)
FriedJannik Apr 24, 2025
626d6c2
Bumps version to milestone-05.1
aaronzi Apr 24, 2025
fd84f66
Bumps Version to 2.0.0-SNAPSHOT
aaronzi Apr 24, 2025
f94bc0a
Build(deps): Bump org.apache.poi:poi-ooxml from 5.4.0 to 5.4.1 (#716)
dependabot[bot] Apr 28, 2025
72e5efd
Build(deps): Bump org.springframework.boot:spring-boot-starter-parent…
dependabot[bot] Apr 28, 2025
da2a758
Adds Transactional to delete SME (#720)
FriedJannik Apr 29, 2025
bce6078
Build(deps): Bump org.projectlombok:lombok from 1.18.36 to 1.18.38 (#…
dependabot[bot] Apr 29, 2025
8c125d1
Adds Client for Discovery Service
FriedJannik Apr 30, 2025
86f7260
Adds Authorized Client for Discovery Service
FriedJannik Apr 30, 2025
6a37ac9
Merge branch 'eclipse-basyx:main' into main
FriedJannik Apr 30, 2025
4779eea
Refactoring
FriedJannik Apr 30, 2025
1ed8eb5
Merge remote-tracking branch 'origin/main'
FriedJannik Apr 30, 2025
2f374eb
Automatic Submodel Service Registry Integration (#664)
geso02 Apr 30, 2025
24a002f
Switch Keycloak Integration to NGINX Proxy for Flexible Authenticatio…
geso02 Apr 30, 2025
9c88ae0
fix: fixed cors and template issues (#717)
marctuerke Apr 30, 2025
7cc0cf5
Improves CI to be more reliable (#721)
FriedJannik Apr 30, 2025
4ab5bde
Merge remote-tracking branch 'origin/main'
aaronzi Apr 30, 2025
1a54e0a
🐳 Refactor Dockerfile to decouple from Maven and enable CLI builds (#…
geso02 Apr 30, 2025
f619d5a
Build(deps): Bump org.springdoc:springdoc-openapi-starter-webmvc-ui (…
dependabot[bot] May 2, 2025
bb3ce87
Fixes Problem with maven CLI in Submodel Service when using buildx (#…
aaronzi May 2, 2025
cdd6ad7
Fixes Error with CI when no Cache is available (#728)
FriedJannik May 2, 2025
a84f97b
Adds AAS Discovery Integration for AAS Repository (#726)
FriedJannik May 5, 2025
e0e13f1
Fixes SetFileValue bug with MognoDB Backend (#731)
FriedJannik May 7, 2025
a26b3c2
Adapts Secured Example to utilize Discovery Integration (#734)
FriedJannik May 7, 2025
2b94c0d
Implements SwaggerUI Redirect & example on how to deactivate (#732)
FriedJannik May 7, 2025
b93d532
Fixes problems with Keycloak in the CI (#739)
aaronzi May 9, 2025
98d8a33
Fixes Bug in InMemoryFileRepository (#738)
FriedJannik May 9, 2025
471d45f
Adapts Discovery Integration Feature (#736)
FriedJannik May 9, 2025
2acb07e
Build(deps): Bump com.nimbusds:oauth2-oidc-sdk from 11.23.1 to 11.24 …
dependabot[bot] May 12, 2025
d8c5382
Clean up previous messages (#742)
geso02 May 13, 2025
0bac9fe
Adapts Exception Handler to conform standard (#724)
FriedJannik May 13, 2025
d81b59c
Fixes Dynamic RBAC Example (#744)
FriedJannik May 14, 2025
538aa69
Update .gitattributes (#755)
FriedJannik Jun 2, 2025
0dc9d46
Fixes DynamicRBAC Duplicate Initial Roles Error (#754)
FriedJannik Jun 3, 2025
194c57e
Adds IT Tests for Submodel Service to CI Pipeline (#756)
FriedJannik Jun 3, 2025
9bad3b0
Adds Tests to check error-management of Endpoints of the AAS Reposito…
FriedJannik Jun 3, 2025
0eb5ed2
Enables assetIds and idShort Query Parameters of getAllAAS Endpoint (…
FriedJannik Jun 3, 2025
483d869
Update TestAasRepositoryHTTPError.java (#760)
FriedJannik Jun 3, 2025
8bbddab
Singleton Kafka Consumer (#762)
geso02 Jun 5, 2025
a79f451
Build(deps): Bump com.nimbusds:oauth2-oidc-sdk from 11.24 to 11.25 (#…
dependabot[bot] Jun 5, 2025
0ec5999
Build(deps): Bump org.json:json from 20250107 to 20250517 (#747)
dependabot[bot] Jun 5, 2025
4a7868a
Build(deps): Bump org.springdoc:springdoc-openapi-starter-webmvc-ui (…
dependabot[bot] Jun 5, 2025
331dcb1
fix(file-sme): preserve file attachments when updating metadata (Issu…
antesch Jun 6, 2025
fee3249
Build(deps): Bump org.apache.tika:tika-core from 3.1.0 to 3.2.0 (#766)
dependabot[bot] Jun 10, 2025
64c70ec
Build(deps): Bump org.springframework.cloud:spring-cloud-dependencies…
dependabot[bot] Jun 10, 2025
376e3f6
Update Spring Boot to 3.5.0 and fix SubmodelElement event path comput…
geso02 Jun 11, 2025
5da8c1b
Adds GitHub Actions for publishing to Maven Central (#772)
aaronzi Jun 12, 2025
af9dea5
Adds a fix to correctly activate the Central release profile (#773)
aaronzi Jun 12, 2025
199c29b
Updates version of maven gpg plugin (#774)
aaronzi Jun 12, 2025
8586af6
Improves docker release workflow (#775)
aaronzi Jun 12, 2025
ef3ab90
improves docker release workflow (#776)
aaronzi Jun 12, 2025
a007fd5
Exclude test jars from docker build release workflow (#777)
aaronzi Jun 13, 2025
dae8588
Build(deps): Bump org.springdoc:springdoc-openapi-starter-webmvc-ui (…
dependabot[bot] Jun 16, 2025
06f8841
Replaces usage of ofInputStream with ofString in clients where applic…
FrankSchnicke Jun 16, 2025
58eede4
feat: added rbac rules for every service (#784)
marctuerke Jun 19, 2025
6c63603
Build(deps): Bump org.codehaus.mojo:flatten-maven-plugin (#788)
dependabot[bot] Jun 23, 2025
1774c86
Build(deps): Bump org.sonatype.central:central-publishing-maven-plugi…
dependabot[bot] Jun 24, 2025
937146a
Build(deps): Bump io.swagger.codegen.v3:swagger-codegen-maven-plugin …
dependabot[bot] Jun 24, 2025
cc2c64f
Build(deps): Bump com.nimbusds:oauth2-oidc-sdk from 11.25 to 11.26 (#…
dependabot[bot] Jun 24, 2025
7945de5
Adds ContentType to setFileValue (#791)
aaronzi Jun 27, 2025
8034570
Fixes problem with hardcoded contentType in AAS Env (#792)
aaronzi Jun 27, 2025
f1ab22a
Build(deps): Bump org.springframework.boot:spring-boot-starter-parent…
dependabot[bot] Jun 30, 2025
7254f47
Fixes BaSyx Dynamic RBAC documentation in example (#796)
aaronzi Jul 4, 2025
9d859fc
Build(deps): Bump io.swagger.codegen.v3:swagger-codegen-maven-plugin …
dependabot[bot] Jul 7, 2025
c67f6fc
Build(deps): Bump org.apache.maven.plugins:maven-gpg-plugin (#797)
dependabot[bot] Jul 7, 2025
d22a8b1
Updates Snapshot release section
FrankSchnicke Jul 10, 2025
f9291c8
Build(deps): Bump org.apache.tika:tika-core from 3.2.0 to 3.2.1 (#799)
dependabot[bot] Jul 16, 2025
e979d8b
Removes Cloud example (#801)
aaronzi Jul 20, 2025
909b0c3
Build(deps): Bump commons-io:commons-io from 2.19.0 to 2.20.0 (#802)
dependabot[bot] Jul 21, 2025
294f33d
Build(deps): Bump org.springframework.boot:spring-boot-starter-parent…
dependabot[bot] Jul 28, 2025
4cda094
Build(deps): Bump com.nimbusds:oauth2-oidc-sdk from 11.26 to 11.26.1 …
dependabot[bot] Jul 28, 2025
702e0ed
Build(deps): Bump org.codehaus.mojo:flatten-maven-plugin (#807)
dependabot[bot] Aug 4, 2025
1def713
Build(deps): Bump com.nimbusds:oauth2-oidc-sdk from 11.26.1 to 11.27 …
dependabot[bot] Aug 4, 2025
4826b9b
Build(deps): Bump aas4j-version from 1.0.4 to 1.0.5 (#809)
dependabot[bot] Aug 11, 2025
ef8d9aa
Build(deps): Bump org.apache.tika:tika-core from 3.2.1 to 3.2.2 (#810)
dependabot[bot] Aug 11, 2025
e8155ba
Fixes context-path problem in nginx example
aaronzi Aug 13, 2025
1a986df
Remove all non null values that are returned (#813)
geso02 Aug 13, 2025
e9702fc
Adds Node-RED Example (#816)
aaronzi Aug 14, 2025
cd33e7b
Build(deps): Bump actions/checkout from 4 to 5 (#818)
dependabot[bot] Aug 18, 2025
5525663
Build(deps): Bump com.nimbusds:oauth2-oidc-sdk from 11.27 to 11.27.1 …
dependabot[bot] Aug 18, 2025
a542451
Adds Query Language (#814)
FriedJannik Aug 21, 2025
fc127dd
Update aas-env.properties for QL Example (#824)
FriedJannik Aug 22, 2025
da98fcd
Adds experimental flag to the basyx.feature.search (AASQL) (#826)
aaronzi Aug 22, 2025
be23d95
Build(deps): Bump com.fasterxml.jackson.core:jackson-databind (#832)
dependabot[bot] Aug 25, 2025
8ab221c
Build(deps): Bump actions/setup-java from 4 to 5 (#831)
dependabot[bot] Aug 25, 2025
3651703
Build(deps): Bump co.elastic.clients:elasticsearch-java (#827)
dependabot[bot] Aug 25, 2025
a44cdb5
Build(deps): Bump org.elasticsearch.client:elasticsearch-rest-client …
dependabot[bot] Aug 25, 2025
4bcd810
Build(deps): Bump com.fasterxml.jackson.core:jackson-annotations (#829)
dependabot[bot] Aug 25, 2025
5149bfe
Adds Pagination on Backend (#833)
FriedJannik Aug 26, 2025
a632825
Makes DynamicRBAC image references relative
aaronzi Aug 27, 2025
735cf20
Updates Dynamic RBAC README image inclusion
aaronzi Aug 27, 2025
f17cfc2
Adds missing tags in poms (#834)
FriedJannik Aug 28, 2025
dc7109f
Adapts Dash License Workflow (#835)
FriedJannik Aug 28, 2025
1616b89
Build(deps): Bump com.fasterxml.jackson.core:jackson-databind (#836)
dependabot[bot] Sep 1, 2025
ab48ee7
Build(deps): Bump actions/checkout from 4 to 5 (#841)
dependabot[bot] Sep 1, 2025
ebc436e
Build(deps): Bump org.yaml:snakeyaml from 2.4 to 2.5 (#840)
dependabot[bot] Sep 1, 2025
dff5bc4
Build(deps): Bump org.openapitools:jackson-databind-nullable (#837)
dependabot[bot] Sep 1, 2025
403aa20
Build(deps): Bump org.elasticsearch.client:elasticsearch-rest-client …
dependabot[bot] Sep 1, 2025
1eab18e
Build(deps): Bump com.nimbusds:oauth2-oidc-sdk from 11.27.1 to 11.28 …
dependabot[bot] Sep 1, 2025
e41b39a
Build(deps): Bump actions/setup-java from 4 to 5 (#839)
dependabot[bot] Sep 2, 2025
fa1807f
Build(deps): Bump co.elastic.clients:elasticsearch-java (#843)
dependabot[bot] Sep 3, 2025
8d7fa16
Build(deps): Bump org.springdoc:springdoc-openapi-starter-webmvc-ui (…
dependabot[bot] Sep 3, 2025
4ad5728
Build(deps): Bump io.swagger.codegen.v3:swagger-codegen-maven-plugin …
dependabot[bot] Sep 8, 2025
bc31044
Build(deps): Bump com.fasterxml.jackson.core:jackson-core (#849)
dependabot[bot] Sep 8, 2025
c6598da
Build(deps): Bump org.projectlombok:lombok from 1.18.38 to 1.18.40 (#…
dependabot[bot] Sep 8, 2025
c29bdff
Removes push from dash license trigger
aaronzi Sep 8, 2025
fdeac64
Adds README to Query Language Example (#854)
aaronzi Sep 11, 2025
fcc13c1
Build(deps): Bump org.apache.maven.plugins:maven-failsafe-plugin (#855)
dependabot[bot] Sep 15, 2025
7bf44bd
Build(deps): Bump org.springdoc:springdoc-openapi-starter-webmvc-ui (…
dependabot[bot] Sep 15, 2025
a03f8b7
Build(deps): Bump co.elastic.clients:elasticsearch-java (#856)
dependabot[bot] Sep 15, 2025
7bc060c
Adds AAS QL CORS Header (#858)
FriedJannik Sep 16, 2025
fb93cc9
Improves Query Language Examples README
aaronzi Sep 19, 2025
b11f11a
Adds example shells to the Query Language Example
aaronzi Sep 19, 2025
75724d9
Build(deps): Bump io.swagger.codegen.v3:swagger-codegen-maven-plugin …
dependabot[bot] Sep 22, 2025
ab6074c
Build(deps): Bump org.codehaus.mojo:flatten-maven-plugin (#864)
dependabot[bot] Sep 22, 2025
eab96b0
Build(deps): Bump org.projectlombok:lombok from 1.18.40 to 1.18.42 (#…
dependabot[bot] Sep 22, 2025
bb01310
Fixes wrong status code for PUT AssetInformation (#865)
aaronzi Sep 22, 2025
09b94cd
Fixes AAS Environment Serialization (#866)
FriedJannik Sep 24, 2025
bb30c8b
Build(deps): Bump com.fasterxml.jackson.core:jackson-annotations (#872)
dependabot[bot] Sep 29, 2025
1b9f249
Build(deps): Bump com.google.guava:guava from 33.4.8-jre to 33.5.0-jr…
dependabot[bot] Sep 29, 2025
06d072b
Build(deps): Bump org.elasticsearch.client:elasticsearch-rest-client …
dependabot[bot] Sep 29, 2025
87d97dd
Make MongoDB collection name configurable for AAS and Submodel regist…
geso02 Oct 1, 2025
ee0f2cf
Build(deps): Bump com.nimbusds:oauth2-oidc-sdk from 11.28 to 11.29.2 …
dependabot[bot] Oct 6, 2025
5af121c
Build(deps): Bump org.apache.tika:tika-core from 3.2.2 to 3.2.3 (#877)
dependabot[bot] Oct 6, 2025
af9f350
Build(deps): Bump org.sonatype.central:central-publishing-maven-plugi…
dependabot[bot] Oct 6, 2025
3c00769
Merge branch 'main' into upmerge-original-repo
swalter-letsdev Oct 7, 2025
8dd13bd
add some setup stuff to readme
swalter-letsdev Oct 7, 2025
d73b317
whitelist OPTIONS requests
swalter-letsdev Oct 8, 2025
d99bdfe
fix spring security cors handling
swalter-letsdev Oct 22, 2025
0ae8b54
update readme scripts
swalter-letsdev Oct 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* text=auto
* text=lf
497 changes: 452 additions & 45 deletions .github/workflows/basyx_test.yml

Large diffs are not rendered by default.

34 changes: 34 additions & 0 deletions .github/workflows/central-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Publish Release to Maven Central

on:
release:
types: [published]

jobs:
publish:
runs-on: ubuntu-latest

steps:
- name: Checkout source
uses: actions/checkout@v5

- name: Set up Java and Maven Central credentials
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'
server-id: central
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
gpg-private-key: ${{ secrets.ORG_GPG_PRIVATE_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE

- name: Set project version from tag
run: mvn --batch-mode versions:set -DnewVersion=${{ github.event.release.tag_name }} -DgenerateBackupPoms=false

- name: Publish to Central
run: mvn --batch-mode deploy -DskipTests -PMavenCentral
env:
MAVEN_USERNAME: ${{ secrets.CENTRAL_SONATYPE_TOKEN_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.CENTRAL_SONATYPE_TOKEN_PASSWORD }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.ORG_GPG_PASSPHRASE }}
46 changes: 46 additions & 0 deletions .github/workflows/central-snapshot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Publish Snapshot package to the Maven Central Repository

on:
push:
branches:
- main
paths-ignore:
- '.github/ISSUE_TEMPLATE/**'
- '.github/CODE_OF_CONDUCT.md'
- '.github/CODING_CONVENTIONS.md'
- '.github/CONTRIBUTING.md'
- '.github/dependabot.yml'
- '.github/pull_request_template.md'
- '.github/SECURITY.md'
- 'docs/**'
- 'examples/**'
- 'README.md'
- '.gitattributes'
- '.gitignore'
- 'LICENSE'
- 'NOTICE'

jobs:
publish:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v5

- name: Set up Maven Central Repository
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'
server-id: central
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
gpg-private-key: ${{ secrets.ORG_GPG_PRIVATE_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE

- name: Publish package
run: mvn --batch-mode deploy -DskipTests -PMavenCentral
env:
MAVEN_USERNAME: ${{ secrets.CENTRAL_SONATYPE_TOKEN_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.CENTRAL_SONATYPE_TOKEN_PASSWORD }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.ORG_GPG_PASSPHRASE }}
23 changes: 23 additions & 0 deletions .github/workflows/dash-license.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Dash License Check

on:
pull_request:
paths:
- '**/pom.xml'

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v5

- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 17

- name: Build with Maven
run: mvn org.eclipse.dash:license-tool-plugin:license-check -PDashLicense
109 changes: 62 additions & 47 deletions .github/workflows/docker-milestone-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ jobs:
path: basyx.aasrepository/basyx.aasrepository.component
- name: submodel-repository
path: basyx.submodelrepository/basyx.submodelrepository.component
- name: submodel-service
path: basyx.submodelservice/basyx.submodelservice.component
- name: conceptdescription-repository
path: basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component
- name: aas-discovery
Expand All @@ -44,7 +46,7 @@ jobs:

steps:
- name: Checkout Code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
Expand All @@ -61,64 +63,75 @@ jobs:
password: ${{ secrets.DOCKER_HUB_TOKEN }}

- name: Set up JDK 17
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'
cache: maven

- name: Build all modules first
run: mvn clean install -DskipTests

- name: Extract Release Tag
id: extract_tag
# Set the project version from the release tag
- name: Set project version from tag
run: |
# Extract the release tag from the GitHub context
TAG_NAME=${GITHUB_REF#refs/tags/}
echo "TAG_NAME=${TAG_NAME}" >> $GITHUB_ENV
echo "Setting project version from release tag: ${{ github.event.release.tag_name }}"
mvn --batch-mode versions:set -DnewVersion=${{ github.event.release.tag_name }} -DgenerateBackupPoms=false

# Build the project
# For registry modules, we activate the dockerbuild profile and specify the module with --pl
- name: Build BaSyx
run: |
if [[ "${{ matrix.name }}" == *"registry"* ]]; then
# Derive the module's artifactId from the path
module_root=$(dirname "$(dirname "$(dirname "${{ matrix.path }}")")")
artifact_id=$(basename "$module_root")
# Run with dockerbuild profile and namespace
mvn clean install -DskipTests -Pdockerbuild "-Ddocker.namespace=${{ env.DOCKER_NAMESPACE }}" --pl "org.eclipse.digitaltwin.basyx:${artifact_id}"
else
echo "Non-registry module - already built in the previous step."
fi
- name: Build all modules first
run: mvn clean install -DskipTests

- name: Prepare Registry JAR for Docker
# Process registry modules
- name: Process Registry Module
id: registry_module
if: contains(matrix.name, 'registry')
run: |
# Go three levels up from src/main/docker to get the module root
module_root=$(dirname "$(dirname "$(dirname "${{ matrix.path }}")")")

# Adjust the path to where the dockerbuild profile places the JAR
JAR_FILE=$(ls "$module_root/target/docker/${{ env.DOCKER_NAMESPACE }}/${{ matrix.name }}/${{ env.TAG_NAME }}/build/maven/"*.jar | head -n 1)
# Get the module path without /src/main/docker
MODULE_PATH=$(echo ${{ matrix.path }} | sed 's|/src/main/docker||')
echo "Building registry module at: ${MODULE_PATH}"

# Build with dockerbuild profile
mvn clean package -DskipTests -Pdockerbuild "-Ddocker.namespace=${{ env.DOCKER_NAMESPACE }}" "-Ddocker.image.tag=${{ github.event.release.tag_name }}" -f ${MODULE_PATH}/pom.xml

# Create maven directory for Docker
mkdir -p "${{ matrix.path }}/maven"

# Find the JAR file using multiple search patterns
echo "Looking for JAR files in standard target directory..."
JAR_FILE=$(find "${MODULE_PATH}/target" -name "*.jar" -not -name "*sources*" -not -name "*javadoc*" -not -name "*-tests.jar" | head -n 1)

if [ -z "$JAR_FILE" ]; then
echo "No repackaged JAR found in $module_root/target/docker/${{ env.DOCKER_NAMESPACE }}/${{ matrix.name }}/${{ env.TAG_NAME }}/build/maven. Check your build."
echo "Not found in standard location, trying docker build location..."
JAR_FILE=$(find "${MODULE_PATH}" -path "*/docker/*/${{ env.DOCKER_NAMESPACE }}/*/${{ github.event.release.tag_name }}/build/maven/*[!tests].jar" | head -n 1)
fi

# If still not found, try a more aggressive search
if [ -z "$JAR_FILE" ]; then
echo "Still not found, trying broader search..."
JAR_FILE=$(find "${MODULE_PATH}" -name "*.jar" -not -name "*sources*" -not -name "*javadoc*" -not -name "*-tests.jar" | head -n 1)
fi

if [ -z "$JAR_FILE" ]; then
echo "No JAR file found! Listing directory structure:"
find "${MODULE_PATH}" -type d | sort
echo "Listing all JAR files:"
find "${MODULE_PATH}" -name "*.jar" | sort
exit 1
fi

# Create the maven directory inside the Docker context and copy the JAR there
mkdir -p "${{ matrix.path }}/maven"
cp "$JAR_FILE" "${{ matrix.path }}/maven/"

# Extract the final name without .jar extension
FINAL_NAME=$(basename "$JAR_FILE" .jar)
echo "FINAL_ARGS=FINAL_NAME=${FINAL_NAME}" >> $GITHUB_ENV

- name: No-Op for Non-Registry Modules

echo "Found JAR: ${JAR_FILE}"
cp "${JAR_FILE}" "${{ matrix.path }}/maven/"

# Save the JAR name for Docker
JAR_BASENAME=$(basename "${JAR_FILE}" .jar)
echo "FINAL_NAME=${JAR_BASENAME}" >> $GITHUB_ENV

# Process non-registry modules
- name: Process Non-Registry Module
id: non_registry_module
if: "!contains(matrix.name, 'registry')"
run: echo "FINAL_ARGS=" >> $GITHUB_ENV

- name: Set short SHA
run: echo "SHORT_SHA=${GITHUB_SHA:0:7}" >> $GITHUB_ENV
run: |
echo "Processing non-registry module"
echo "FINAL_NAME=" >> $GITHUB_ENV

# Build and push Docker image
- name: Build and Push Docker Image
uses: docker/build-push-action@v6
with:
Expand All @@ -127,9 +140,11 @@ jobs:
push: true
platforms: linux/amd64,linux/arm64,linux/arm/v7
tags: |
${{ env.DOCKER_NAMESPACE }}/${{ matrix.name }}:${{ env.TAG_NAME }}
build-args: ${{ env.FINAL_ARGS }}
${{ env.DOCKER_NAMESPACE }}/${{ matrix.name }}:${{ github.event.release.tag_name }}
build-args: |
FINAL_NAME=${{ env.FINAL_NAME }}

- name: Verify Docker Image
run: |
docker pull ${{ env.DOCKER_NAMESPACE }}/${{ matrix.name }}:${{ env.TAG_NAME }}
echo "Verifying Docker image: ${{ env.DOCKER_NAMESPACE }}/${{ matrix.name }}:${{ github.event.release.tag_name }}"
docker pull ${{ env.DOCKER_NAMESPACE }}/${{ matrix.name }}:${{ github.event.release.tag_name }}
12 changes: 7 additions & 5 deletions .github/workflows/docker-snapshot-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ jobs:
path: basyx.aasrepository/basyx.aasrepository.component
- name: submodel-repository
path: basyx.submodelrepository/basyx.submodelrepository.component
- name: submodel-service
path: basyx.submodelservice/basyx.submodelservice.component
- name: conceptdescription-repository
path: basyx.conceptdescriptionrepository/basyx.conceptdescriptionrepository.component
- name: aas-discovery
Expand All @@ -60,7 +62,7 @@ jobs:

steps:
- name: Checkout Code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
Expand All @@ -77,7 +79,7 @@ jobs:
password: ${{ secrets.DOCKER_HUB_TOKEN }}

- name: Set up JDK 17
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'
Expand Down Expand Up @@ -119,11 +121,11 @@ jobs:

# Extract the final name without .jar extension
FINAL_NAME=$(basename "$JAR_FILE" .jar)
echo "FINAL_ARGS=FINAL_NAME=${FINAL_NAME}" >> $GITHUB_ENV
echo "FINAL_NAME=${FINAL_NAME}" >> $GITHUB_ENV

- name: No-Op for Non-Registry Modules
if: "!contains(matrix.name, 'registry')"
run: echo "FINAL_ARGS=" >> $GITHUB_ENV
run: echo echo "FINAL_NAME=" >> $GITHUB_ENV

- name: Set short SHA
run: echo "SHORT_SHA=${GITHUB_SHA:0:7}" >> $GITHUB_ENV
Expand All @@ -138,7 +140,7 @@ jobs:
tags: |
${{ env.DOCKER_NAMESPACE }}/${{ matrix.name }}:2.0.0-SNAPSHOT
${{ env.DOCKER_NAMESPACE }}/${{ matrix.name }}:2.0.0-SNAPSHOT-${{ env.SHORT_SHA }}
build-args: ${{ env.FINAL_ARGS }}
build-args: FINAL_NAME=${{ env.FINAL_NAME }}

- name: Verify Docker Image
run: |
Expand Down
Loading
Loading