fix: use external reference for Operation semanticId in aas #1430
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Check New Pull Request | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| paths-ignore: | |
| - 'documentation/decisions/**' | |
| permissions: {} | |
| jobs: | |
| build-and-test: | |
| name: ${{ matrix.os }} build | |
| runs-on: ${{ matrix.os }} | |
| permissions: | |
| contents: read | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| os: [windows-latest, ubuntu-latest, macos-15-intel] | |
| steps: | |
| - name: Disable git autocrlf (Windows) | |
| if: matrix.os == 'windows-latest' | |
| run: | | |
| git config --global core.autocrlf false | |
| git config --global core.eol lf | |
| - name: Enable long paths for checkout (Windows) | |
| if: matrix.os == 'windows-latest' | |
| shell: pwsh | |
| env: | |
| GIT_CONFIG_GLOBAL: ${{ runner.temp }}\.gitconfig | |
| run: | | |
| git config --global core.longpaths true | |
| - name: Checkout repository (Windows) | |
| if: matrix.os == 'windows-latest' | |
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 #v6.0.1 | |
| env: | |
| GIT_CONFIG_GLOBAL: ${{ runner.temp }}\.gitconfig | |
| with: | |
| submodules: recursive | |
| persist-credentials: false | |
| - name: Checkout repository (non-Windows) | |
| if: matrix.os != 'windows-latest' | |
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 #v6.0.1 | |
| with: | |
| submodules: recursive | |
| persist-credentials: false | |
| - name: Setup JDK | |
| uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e | |
| with: | |
| java-version: '25.0.1' | |
| distribution: 'temurin' | |
| - name: Set RELEASE_VERSION from Maven project.version | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| version="$(mvn -q -DforceStdout help:evaluate -Dexpression=project.version --non-recursive)" | |
| echo "RELEASE_VERSION=$version" >> "$GITHUB_ENV" | |
| echo "RELEASE_VERSION=$version" | |
| - name: Setup Python | |
| uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 #v6.3.0 | |
| with: | |
| python-version: '3.13' | |
| - run: pip install pefile | |
| - name: Cache Maven packages | |
| uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb #v5.0.1 | |
| with: | |
| path: ~/.m2/repository | |
| key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-maven- | |
| - name: Check code style | |
| if: matrix.os != 'windows-latest' | |
| run: | | |
| mvn spotless:check | |
| mvn checkstyle:check | |
| shell: bash | |
| - name: Build and run tests | |
| run: | | |
| java --version | |
| export MAVEN_OPTS="-Xmx4096m" | |
| export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" | |
| # Actual build of core SDK | |
| mvn -B -pl '!org.eclipse.esmf:samm-cli' clean install -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 | |
| # Build samm-cli executable jar | |
| unset JAVA_TOOL_OPTIONS | |
| mvn -B -pl tools/samm-cli clean verify -Dmaven.wagon.httpconnectionManager.ttlSeconds=60 | |
| shell: bash | |
| - name: Build native image (Linux) | |
| if: matrix.os == 'ubuntu-latest' | |
| run: | | |
| bundle="samm-cli-${RELEASE_VERSION}" | |
| mkdir -p ${bundle}/runtime | |
| curl -Lo jre.tar.gz https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.1%2B8/OpenJDK25U-jre_x64_linux_hotspot_25.0.1_8.tar.gz | |
| tar -xvf jre.tar.gz | |
| mv ./jdk-25.0.1+8-jre ./${bundle}/runtime/jre | |
| # The jar must not sit in or next to a directory that ClassGraph probes for | |
| # JRE/ext jars (java.home and its parent), hence the jre lives under runtime/ | |
| cp tools/samm-cli/target/samm-cli-${RELEASE_VERSION}.jar ./${bundle}/ | |
| cp tools/samm-cli/scripts/linux/run.sh ./${bundle}/ | |
| chmod +x ./${bundle}/run.sh | |
| curl -Lo warp-packer https://github.com/kirbylink/warp/releases/download/v1.3.0/linux-x64.warp-packer | |
| if [ "$(sha256sum warp-packer | cut -d' ' -f1)" != "add6f937db8b9207d1bb81a900ef609f41875f07c6c8b2d596bfc134c8f285ff" ]; then | |
| echo "Warp packer checksum does not match" | |
| exit 1 | |
| fi | |
| chmod +x warp-packer | |
| ./warp-packer pack --arch linux-x64 --input-dir ${bundle} --exec run.sh --output samm --prefix samm-cli-${RELEASE_VERSION} | |
| chmod a+x samm | |
| shell: bash | |
| - name: Build native image (Windows) | |
| if: matrix.os == 'windows-latest' | |
| run: | | |
| bundle="samm-cli-${RELEASE_VERSION}" | |
| mkdir -p ${bundle}/runtime | |
| curl -Lo jre.zip https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.1%2B8/OpenJDK25U-jre_x64_windows_hotspot_25.0.1_8.zip | |
| 7z x jre.zip | |
| mv ./jdk-25.0.1+8-jre ./${bundle}/runtime/jre | |
| # The jar must not sit in or next to a directory that ClassGraph probes for | |
| # JRE/ext jars (java.home and its parent), hence the jre lives under runtime/ | |
| cp tools/samm-cli/target/samm-cli-${RELEASE_VERSION}.jar ./${bundle}/ | |
| cp tools/samm-cli/scripts/windows/run.bat ./${bundle}/ | |
| curl -Lo warp-packer.exe https://github.com/kirbylink/warp/releases/download/v1.3.0/windows-x64.warp-packer.exe | |
| if [ "$(sha256sum warp-packer.exe | cut -d' ' -f1)" != "483726e0eb10a43167c03c8e4f27a2901741affd245e5ec8ed45509f9dcd7a8a" ]; then | |
| echo "Warp packer checksum does not match" | |
| exit 1 | |
| fi | |
| ./warp-packer.exe pack --arch windows-x64 --input-dir ${bundle} --exec run.bat --output samm.exe --prefix samm-cli-${RELEASE_VERSION} | |
| python3 tools/samm-cli/scripts/windows/set_cui_flag.py samm.exe | |
| shell: bash | |
| - name: Build native image (Mac) | |
| if: matrix.os == 'macos-15-intel' | |
| run: | | |
| bundle="samm-cli-${RELEASE_VERSION}" | |
| mkdir -p ${bundle}/runtime | |
| curl -Lo jre.tar.gz https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.1%2B8/OpenJDK25U-jre_x64_mac_hotspot_25.0.1_8.tar.gz | |
| tar -xvf jre.tar.gz | |
| mv ./jdk-25.0.1+8-jre ./${bundle}/runtime/jre | |
| # The jar must not sit in or next to a directory that ClassGraph probes for | |
| # JRE/ext jars (java.home and its parent), hence the jre lives under runtime/ | |
| cp tools/samm-cli/target/samm-cli-${RELEASE_VERSION}.jar ./${bundle}/ | |
| cp tools/samm-cli/scripts/macos/run.sh ./${bundle}/ | |
| chmod +x ./${bundle}/run.sh | |
| curl -Lo warp-packer https://github.com/kirbylink/warp/releases/download/v1.3.0/macos-x64.warp-packer | |
| if [ "$(shasum -a 256 warp-packer | cut -d' ' -f1)" != "311bd238d087ea92f486d3d754a0f11826d9bd49d6f8ae849e5d6f6089a2e9c9" ]; then | |
| echo "Warp packer checksum does not match" | |
| exit 1 | |
| fi | |
| chmod +x warp-packer | |
| xattr -d com.apple.quarantine warp-packer || true | |
| ./warp-packer pack --arch macos-x64 --input-dir ${bundle} --exec run.sh --output samm --prefix samm-cli-${RELEASE_VERSION} | |
| chmod a+x samm | |
| shell: bash | |
| - name: Upload executable jar | |
| # We only need one OS job to upload the jar | |
| if: matrix.os == 'ubuntu-latest' | |
| uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f #v6.0.0 | |
| with: | |
| name: samm-cli-jar | |
| path: tools/samm-cli/target/samm-cli-*.jar | |
| - name: Upload binary (Windows) | |
| if: matrix.os == 'windows-latest' | |
| uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f #v6.0.0 | |
| with: | |
| name: samm-cli-binary-${{ matrix.os }} | |
| path: | | |
| samm.exe | |
| - name: Upload binary (Linux) | |
| if: matrix.os == 'ubuntu-latest' | |
| uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f #v6.0.0 | |
| with: | |
| name: samm-cli-binary-${{ matrix.os }} | |
| path: | | |
| samm | |
| - name: Upload binary (Mac) | |
| if: matrix.os == 'macos-15-intel' | |
| uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f #v6.0.0 | |
| with: | |
| name: samm-cli-binary-${{ matrix.os }} | |
| path: | | |
| samm |