From 1a479422eddf2c7f6340102450b8f3713f45c11b Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 17 Feb 2025 16:26:07 +0100 Subject: [PATCH 01/21] Directly run commands in ci container --- .github/workflows/build.yaml | 50 +++++++++++++++++++++++++++++++----- 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index dd13b84..491dd18 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,5 +1,10 @@ name: Build URCap -on: [push, pull_request] +on: + workflow_dispatch: + pull_request: + push: + branches: + - master jobs: build: @@ -7,16 +12,49 @@ jobs: strategy: fail-fast: false matrix: - SDK_VERSION: [1.6.1, 1.7.0, 1.8.0, 1.9.0] + SDK_VERSION: + #- 1.6.1 + #- 1.7.0 + #- 1.8.0 + - 1.9.0 + #- 1.10.0 + #- 1.11.0 + #- 1.12.0 + #- 1.13.0 + #- 1.14.0 + #- 1.15.0 + #- 1.16.0 steps: - - uses: actions/checkout@v1 - - uses: ./.github/actions/build_urcap + - uses: actions/checkout@v4 + - run: | + SDK_MAJOR=$(echo ${SDK_VERSION} | awk -F. '{print $1}') + SDK_MINOR=$(echo ${SDK_VERSION} | awk -F. '{print $2}') + SDK_BUILD=$(echo ${SDK_VERSION} | awk -F. '{print $3}') + apt-get update && apt-get install -y default-jdk maven dialog sshpass unzip curl + download_folder=$(mktemp -d) + pushd ${download_folder} + curl -o sdk-${SDK_VERSION}.zip https://s3-eu-west-1.amazonaws.com/urplus-developer-site/sdk/sdk-${SDK_VERSION}.zip + mkdir sdk + unzip -q sdk-${SDK_VERSION}.zip -d sdk + if [ "$SDK_MAJOR" -eq 1 ] && [ "$SDK_MINOR" -lt 10 ]; then + cd sdk + else + cd sdk/URCap_SDK-${SDK_VERSION} + fi + ./install.sh + popd + mvn install env: SDK_VERSION: ${{ matrix.SDK_VERSION }} - - name: Run URSim + - name: start ursim run: | - .github/dockerursim/build_and_run_docker_ursim.sh + docker run --rm -d -p 29999:29999 -p 30001-30004:30001:30004 --name ursim + #env: + #DOCKER_RUN_OPTS: --network ursim_net + #ROBOT_MODEL: ${{matrix.env.ROBOT_MODEL}} + #URSIM_VERSION: ${{matrix.env.URSIM_VERSION}} + #PROGRAM_FOLDER: ${{matrix.env.PROGRAM_FOLDER}} - name: Install netcat run: | sudo apt-get update && sudo apt-get install -y netcat From 8e60ba23a4c3076fb1b533f8715a35c97f7c021c Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 17 Feb 2025 16:27:31 +0100 Subject: [PATCH 02/21] Update upload-artifact --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 491dd18..d0246dc 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -65,7 +65,7 @@ jobs: run: | python3 tests/test_urcap.py - name: Upload urcap_artifact - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: path: target name: external_control_sdk-${{ matrix.SDK_VERSION }}.urcap From 60474e94beb7ec319c4f596eaff2fe920c9f3863 Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 17 Feb 2025 16:29:31 +0100 Subject: [PATCH 03/21] Use sudo --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d0246dc..bcf12c4 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -31,7 +31,7 @@ jobs: SDK_MAJOR=$(echo ${SDK_VERSION} | awk -F. '{print $1}') SDK_MINOR=$(echo ${SDK_VERSION} | awk -F. '{print $2}') SDK_BUILD=$(echo ${SDK_VERSION} | awk -F. '{print $3}') - apt-get update && apt-get install -y default-jdk maven dialog sshpass unzip curl + sudo apt-get update && sudo apt-get install -y default-jdk maven dialog sshpass unzip curl download_folder=$(mktemp -d) pushd ${download_folder} curl -o sdk-${SDK_VERSION}.zip https://s3-eu-west-1.amazonaws.com/urplus-developer-site/sdk/sdk-${SDK_VERSION}.zip From c5094966a5822e43468ccce91f326bbd28d63043 Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 17 Feb 2025 16:32:11 +0100 Subject: [PATCH 04/21] Use newer version --- .github/workflows/build.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index bcf12c4..b5163a9 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -16,14 +16,12 @@ jobs: #- 1.6.1 #- 1.7.0 #- 1.8.0 - - 1.9.0 + #- 1.9.0 #- 1.10.0 #- 1.11.0 #- 1.12.0 #- 1.13.0 - #- 1.14.0 - #- 1.15.0 - #- 1.16.0 + - 1.14.0 steps: - uses: actions/checkout@v4 From 21db98c1c31ba1a37c35ad108fb5b4717214f06d Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 17 Feb 2025 16:40:52 +0100 Subject: [PATCH 05/21] Fix version-dependent unzip --- .github/workflows/build.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index b5163a9..633ce2f 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -35,10 +35,10 @@ jobs: curl -o sdk-${SDK_VERSION}.zip https://s3-eu-west-1.amazonaws.com/urplus-developer-site/sdk/sdk-${SDK_VERSION}.zip mkdir sdk unzip -q sdk-${SDK_VERSION}.zip -d sdk - if [ "$SDK_MAJOR" -eq 1 ] && [ "$SDK_MINOR" -lt 10 ]; then - cd sdk - else + if [ "$SDK_MAJOR" -eq 1 ] && [ "$SDK_MINOR" -eq 10 ]; then cd sdk/URCap_SDK-${SDK_VERSION} + else + cd sdk fi ./install.sh popd From 61d9f2dc3405bb377688280b2d4eaa72b848f10a Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 17 Feb 2025 16:49:28 +0100 Subject: [PATCH 06/21] start ursim --- .github/workflows/build.yaml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 633ce2f..53722a1 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -13,11 +13,6 @@ jobs: fail-fast: false matrix: SDK_VERSION: - #- 1.6.1 - #- 1.7.0 - #- 1.8.0 - #- 1.9.0 - #- 1.10.0 #- 1.11.0 #- 1.12.0 #- 1.13.0 @@ -47,7 +42,7 @@ jobs: SDK_VERSION: ${{ matrix.SDK_VERSION }} - name: start ursim run: | - docker run --rm -d -p 29999:29999 -p 30001-30004:30001:30004 --name ursim + docker run --rm -d -p 29999:29999 -p 30001-30004:30001-30004 --name ursim universalrobots/ursim_e-series:latest #env: #DOCKER_RUN_OPTS: --network ursim_net #ROBOT_MODEL: ${{matrix.env.ROBOT_MODEL}} From e66f5da0de8c6d3d28931805d07f3c3981638f30 Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 17 Feb 2025 16:55:48 +0100 Subject: [PATCH 07/21] Use jdk-11 --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 53722a1..421ad77 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -24,7 +24,7 @@ jobs: SDK_MAJOR=$(echo ${SDK_VERSION} | awk -F. '{print $1}') SDK_MINOR=$(echo ${SDK_VERSION} | awk -F. '{print $2}') SDK_BUILD=$(echo ${SDK_VERSION} | awk -F. '{print $3}') - sudo apt-get update && sudo apt-get install -y default-jdk maven dialog sshpass unzip curl + sudo apt-get update && sudo apt-get install -y openjdk-11-jdk maven dialog sshpass unzip curl download_folder=$(mktemp -d) pushd ${download_folder} curl -o sdk-${SDK_VERSION}.zip https://s3-eu-west-1.amazonaws.com/urplus-developer-site/sdk/sdk-${SDK_VERSION}.zip From 5305cc28158cc448cbad0325a0d564aa0ba5591e Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 17 Feb 2025 16:56:24 +0100 Subject: [PATCH 08/21] Specify netcat version --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 421ad77..90f2284 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -50,7 +50,7 @@ jobs: #PROGRAM_FOLDER: ${{matrix.env.PROGRAM_FOLDER}} - name: Install netcat run: | - sudo apt-get update && sudo apt-get install -y netcat + sudo apt-get install -y netcat-openbsd - name: Wait for dashboard client run: | ./.github/helpers/wait_for_dashboard_server.sh From ecf93c12b0193612ad2acec8822b36b9b9d266d9 Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 17 Feb 2025 17:08:48 +0100 Subject: [PATCH 09/21] Mount program folder --- .github/workflows/build.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 90f2284..88c7668 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -42,12 +42,12 @@ jobs: SDK_VERSION: ${{ matrix.SDK_VERSION }} - name: start ursim run: | - docker run --rm -d -p 29999:29999 -p 30001-30004:30001-30004 --name ursim universalrobots/ursim_e-series:latest - #env: + docker run --rm -d -p 29999:29999 -p 30001-30004:30001-30004 --name ursim universalrobots/ursim_e-series:latest -v ${PROGRAM_FOLDER}:/ursim/programs + env: #DOCKER_RUN_OPTS: --network ursim_net #ROBOT_MODEL: ${{matrix.env.ROBOT_MODEL}} #URSIM_VERSION: ${{matrix.env.URSIM_VERSION}} - #PROGRAM_FOLDER: ${{matrix.env.PROGRAM_FOLDER}} + PROGRAM_FOLDER: ./.github/dockerursim/.vol - name: Install netcat run: | sudo apt-get install -y netcat-openbsd From 94a7cf7bb856bd54a6bf0e49dcb7aef0d3f53454 Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 17 Feb 2025 17:14:28 +0100 Subject: [PATCH 10/21] openjdk8 --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 88c7668..3b70af8 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -24,7 +24,7 @@ jobs: SDK_MAJOR=$(echo ${SDK_VERSION} | awk -F. '{print $1}') SDK_MINOR=$(echo ${SDK_VERSION} | awk -F. '{print $2}') SDK_BUILD=$(echo ${SDK_VERSION} | awk -F. '{print $3}') - sudo apt-get update && sudo apt-get install -y openjdk-11-jdk maven dialog sshpass unzip curl + sudo apt-get update && sudo apt-get install -y openjdk-8-jdk maven dialog sshpass unzip curl download_folder=$(mktemp -d) pushd ${download_folder} curl -o sdk-${SDK_VERSION}.zip https://s3-eu-west-1.amazonaws.com/urplus-developer-site/sdk/sdk-${SDK_VERSION}.zip From 54e3ca84edca630829a7e2e0e6c540c6e61cee66 Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Fri, 21 Nov 2025 11:47:45 +0100 Subject: [PATCH 11/21] tmp --- .github/actions/build_urcap/Dockerfile | 2 +- .github/actions/build_urcap/entrypoint.sh | 6 +++--- .../dockerursim/build_and_run_docker_ursim.sh | 16 ---------------- 3 files changed, 4 insertions(+), 20 deletions(-) delete mode 100755 .github/dockerursim/build_and_run_docker_ursim.sh diff --git a/.github/actions/build_urcap/Dockerfile b/.github/actions/build_urcap/Dockerfile index 5a9cc94..c95a53d 100644 --- a/.github/actions/build_urcap/Dockerfile +++ b/.github/actions/build_urcap/Dockerfile @@ -1,5 +1,5 @@ # Container image that runs your code -FROM ubuntu:bionic +FROM ubuntu:noble # Copies your code file from your action repository to the filesystem path `/` of the container COPY entrypoint.sh /entrypoint.sh diff --git a/.github/actions/build_urcap/entrypoint.sh b/.github/actions/build_urcap/entrypoint.sh index 08f0583..fda26fe 100755 --- a/.github/actions/build_urcap/entrypoint.sh +++ b/.github/actions/build_urcap/entrypoint.sh @@ -11,10 +11,10 @@ pushd ${download_folder} curl -o sdk-${SDK_VERSION}.zip https://s3-eu-west-1.amazonaws.com/urplus-developer-site/sdk/sdk-${SDK_VERSION}.zip mkdir sdk unzip -q sdk-${SDK_VERSION}.zip -d sdk -if [ "$SDK_MAJOR" -eq 1 ] && [ "$SDK_MINOR" -lt 10 ]; then - cd sdk -else +if [ "$SDK_MAJOR" -eq 1 ] && [ "$SDK_MINOR" -eq 10 ]; then cd sdk/URCap_SDK-${SDK_VERSION} +else + cd sdk fi ./install.sh diff --git a/.github/dockerursim/build_and_run_docker_ursim.sh b/.github/dockerursim/build_and_run_docker_ursim.sh deleted file mode 100755 index ac54b61..0000000 --- a/.github/dockerursim/build_and_run_docker_ursim.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - -# Make directory to store the URCap -mkdir ${DIR}/urcaps 2>/dev/null -cp target/externalcontrol-*.jar ${DIR}/urcaps/externalcontrol.jar - -docker run --rm --name="mydockerursim" -d \ - -e ROBOT_MODEL=UR5 \ - --network host \ - -v "${DIR}/.vol":/ursim/programs \ - -v "${DIR}/urcaps":/urcaps \ - --privileged \ - --cpus=1 \ - universalrobots/ursim_e-series From 063bef81ec39eb4d3c3e596ba1e8f0312bd0c34b Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 1 Dec 2025 13:49:38 +0100 Subject: [PATCH 12/21] Update compiler version --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index e024f05..1eaf8bd 100644 --- a/pom.xml +++ b/pom.xml @@ -52,8 +52,8 @@ maven-compiler-plugin 3.6.0 - 1.6 - 1.6 + 1.8 + 1.8 From d7c4a69f06f81d0983cacf726dc67333bbe43454 Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 1 Dec 2025 13:54:48 +0100 Subject: [PATCH 13/21] Add full matrix --- .github/workflows/build.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 3b70af8..5afdd25 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -13,9 +13,9 @@ jobs: fail-fast: false matrix: SDK_VERSION: - #- 1.11.0 - #- 1.12.0 - #- 1.13.0 + - 1.11.0 + - 1.12.0 + - 1.13.0 - 1.14.0 steps: From 6d565de94943f86fb795cbba0757cae2c41c4ea7 Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 1 Dec 2025 14:49:32 +0100 Subject: [PATCH 14/21] Fix docker command --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 5afdd25..45651d0 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -42,7 +42,7 @@ jobs: SDK_VERSION: ${{ matrix.SDK_VERSION }} - name: start ursim run: | - docker run --rm -d -p 29999:29999 -p 30001-30004:30001-30004 --name ursim universalrobots/ursim_e-series:latest -v ${PROGRAM_FOLDER}:/ursim/programs + docker run --rm -d -p 29999:29999 -p 30001-30004:30001-30004 -v ${PROGRAM_FOLDER}:/ursim/programs --name ursim universalrobots/ursim_e-series:latest env: #DOCKER_RUN_OPTS: --network ursim_net #ROBOT_MODEL: ${{matrix.env.ROBOT_MODEL}} From 003d8602f1205c215ddcee5bc3843a7b052a07bd Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 1 Dec 2025 15:04:38 +0100 Subject: [PATCH 15/21] Use relative path --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 45651d0..194f569 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -47,7 +47,7 @@ jobs: #DOCKER_RUN_OPTS: --network ursim_net #ROBOT_MODEL: ${{matrix.env.ROBOT_MODEL}} #URSIM_VERSION: ${{matrix.env.URSIM_VERSION}} - PROGRAM_FOLDER: ./.github/dockerursim/.vol + PROGRAM_FOLDER: .github/dockerursim/.vol - name: Install netcat run: | sudo apt-get install -y netcat-openbsd From 1fc024e866da39d71dabfc995768757e3d07ae07 Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 1 Dec 2025 15:06:42 +0100 Subject: [PATCH 16/21] Add debug output --- .github/workflows/build.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 194f569..42a6ad5 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -43,6 +43,7 @@ jobs: - name: start ursim run: | docker run --rm -d -p 29999:29999 -p 30001-30004:30001-30004 -v ${PROGRAM_FOLDER}:/ursim/programs --name ursim universalrobots/ursim_e-series:latest + docker container inspect ursim env: #DOCKER_RUN_OPTS: --network ursim_net #ROBOT_MODEL: ${{matrix.env.ROBOT_MODEL}} From 434b4ac4f7ce292fa2e22ad20184f533af330995 Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 1 Dec 2025 15:12:47 +0100 Subject: [PATCH 17/21] Mount urcaps outout folder --- .github/workflows/build.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 42a6ad5..dc8ee54 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -42,13 +42,14 @@ jobs: SDK_VERSION: ${{ matrix.SDK_VERSION }} - name: start ursim run: | - docker run --rm -d -p 29999:29999 -p 30001-30004:30001-30004 -v ${PROGRAM_FOLDER}:/ursim/programs --name ursim universalrobots/ursim_e-series:latest + docker run --rm -d -p 29999:29999 -p 30001-30004:30001-30004 -v ${PROGRAM_FOLDER}:/ursim/programs -v ${PROGRAM_FOLDER}:/urcaps --name ursim universalrobots/ursim_e-series:latest docker container inspect ursim env: #DOCKER_RUN_OPTS: --network ursim_net #ROBOT_MODEL: ${{matrix.env.ROBOT_MODEL}} #URSIM_VERSION: ${{matrix.env.URSIM_VERSION}} - PROGRAM_FOLDER: .github/dockerursim/.vol + PROGRAM_FOLDER: ./.github/dockerursim/.vol + URCAPS_FOLDER: ./target - name: Install netcat run: | sudo apt-get install -y netcat-openbsd From fc20daf23a8f059806065bf3db8b18381a0ab020 Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 1 Dec 2025 15:17:27 +0100 Subject: [PATCH 18/21] Fix variable name --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index dc8ee54..74460fe 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -42,7 +42,7 @@ jobs: SDK_VERSION: ${{ matrix.SDK_VERSION }} - name: start ursim run: | - docker run --rm -d -p 29999:29999 -p 30001-30004:30001-30004 -v ${PROGRAM_FOLDER}:/ursim/programs -v ${PROGRAM_FOLDER}:/urcaps --name ursim universalrobots/ursim_e-series:latest + docker run --rm -d -p 29999:29999 -p 30001-30004:30001-30004 -v ${PROGRAM_FOLDER}:/ursim/programs -v ${URCAPS_FOLDER}:/urcaps --name ursim universalrobots/ursim_e-series:latest docker container inspect ursim env: #DOCKER_RUN_OPTS: --network ursim_net From fb7706475d69594d51803e271d114abf5d79f045 Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 1 Dec 2025 16:49:31 +0100 Subject: [PATCH 19/21] Refactor wait_for_dashboard_server --- .github/helpers/wait_for_dashboard_server.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/helpers/wait_for_dashboard_server.sh b/.github/helpers/wait_for_dashboard_server.sh index cde78d1..6542fd3 100755 --- a/.github/helpers/wait_for_dashboard_server.sh +++ b/.github/helpers/wait_for_dashboard_server.sh @@ -1,11 +1,12 @@ #!/bin/bash -netcat -z 127.0.0.1 29999 -while [ $? -eq 1 ] +expected="Connected: Universal Robots Dashboard Server +Disconnected" +response=$(echo "quit" | netcat -q 1 127.0.0.1 29999) +while [ "$response" != "$expected" ] do echo "Dashboard server not accepting connections..." sleep 3 - netcat -z 127.0.0.1 29999 + response=$(echo "quit" | netcat -q 1 127.0.0.1 29999) done echo "Dashboard server connections are possible." -sleep 5 \ No newline at end of file From 511ac8e288251bbe9b790e7e8b0765457eeefd30 Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 1 Dec 2025 17:45:29 +0100 Subject: [PATCH 20/21] Use ursim_net --- .github/dockerursim/.vol/default.installation | 164 +++++++++--------- .github/dockerursim/.vol/default.variables | 3 +- .github/workflows/build.yaml | 14 +- 3 files changed, 94 insertions(+), 87 deletions(-) diff --git a/.github/dockerursim/.vol/default.installation b/.github/dockerursim/.vol/default.installation index 7cd0e67..cd49183 100644 --- a/.github/dockerursim/.vol/default.installation +++ b/.github/dockerursim/.vol/default.installation @@ -1,4 +1,4 @@ - + @@ -19,8 +19,7 @@ - - + @@ -31,23 +30,11 @@ - + + - - - - - - - - - - - - - - - + + @@ -61,8 +48,51 @@ - +[SafetyIOConfiguration Inputs] +emergencyStopInputA = 255 +emergencyStopInputB = 255 +reducedModeInputA = 255 +reducedModeInputB = 255 +safeguardStopResetInputA = 0 +safeguardStopResetInputB = 1 +threePositionEnablingInputA = 255 +threePositionEnablingInputB = 255 +operationalModeInputA = 255 +operationalModeInputB = 255 +automaticModeSafeguardStopInputA = 255 +automaticModeSafeguardStopInputB = 255 +automaticModeSafeguardStopResetInputA = 255 +automaticModeSafeguardStopResetInputB = 255 +freedriveOnRobotInputA = 255 +freedriveOnRobotInputB = 255 + +[SafetyIOConfiguration Outputs] +systemEmergencyStopOutputA = 255 +systemEmergencyStopOutputB = 255 +robotMovingOutputA = 255 +robotMovingOutputB = 255 +robotNotStoppingOutputA = 255 +robotNotStoppingOutputB = 255 +reducedModeOutputA = 255 +reducedModeOutputB = 255 +notReducedModeOutputA = 255 +notReducedModeOutputB = 255 +safeHomeOutputA = 255 +safeHomeOutputB = 255 +configOut0and1_OSSD = 0 +configOut2and3_OSSD = 0 +configOut4and5_OSSD = 0 +configOut6and7_OSSD = 0 + +[SafetySetup] +verified = true +withPositionLimits = [true, true, true, true, true, true] + +[Safety Checksum] +version = 5.5 +crc = 1475618907 + [SafetyLimits BoundaryPlane0] name = Safety plane 0 displacement = 0.0 @@ -132,20 +162,16 @@ tcpOrientationVector = [0.0, 0.0, 1.0] maximumTcpOrientationDeviation = 3.159045946109736 mode = DISABLED -[WorkpieceConfiguration] -toolSpheres = [[0.0, 0.0, 0.0, 0.0]] -toolSphereNames = [Tool Flange] -toolSphereIDs = [null] -toolDirectionInclination = 0.0 -toolDirectionAzimuth = 0.0 +[MiscConfiguration] +teach_pendant = 1 +euromap67 = 0 [ThreePositionEnabling] useTP3PE = 0 allowManualHighSpeed = 1 -[MiscConfiguration] -teach_pendant = 1 -euromap67 = 0 +[SafeHome] +safeHomePosition = [-1.0, -1.0, -1.0, -1.0, -1.0, -1.0] [SafetyLimits Normal Values] maxTcpSpeed = 1.5 @@ -181,62 +207,40 @@ maxJointPosition = [0.05235987799999986, 0.05235987799999986, 0.0523598779999998 minJointRevolutions = [-2, -2, -2, -2, -2, -2] maxJointRevolutions = [1, 1, 1, 1, 1, 1] -[SafetySetup] -withPositionLimits = [true, true, true, true, true, true] -verified = true - -[Safety Checksum] -version = 5.5 -crc = 1475618907 - -[SafeHome] -safeHomePosition = [-1.0, -1.0, -1.0, -1.0, -1.0, -1.0] - -[SafetyIOConfiguration Inputs] -emergencyStopInputA = 255 -emergencyStopInputB = 255 -reducedModeInputA = 255 -reducedModeInputB = 255 -safeguardStopResetInputA = 0 -safeguardStopResetInputB = 1 -threePositionEnablingInputA = 255 -threePositionEnablingInputB = 255 -operationalModeInputA = 255 -operationalModeInputB = 255 -automaticModeSafeguardStopInputA = 255 -automaticModeSafeguardStopInputB = 255 -automaticModeSafeguardStopResetInputA = 255 -automaticModeSafeguardStopResetInputB = 255 - -[SafetyIOConfiguration Outputs] -systemEmergencyStopOutputA = 255 -systemEmergencyStopOutputB = 255 -robotMovingOutputA = 255 -robotMovingOutputB = 255 -robotNotStoppingOutputA = 255 -robotNotStoppingOutputB = 255 -reducedModeOutputA = 255 -reducedModeOutputB = 255 -notReducedModeOutputA = 255 -notReducedModeOutputB = 255 -safeHomeOutputA = 255 -safeHomeOutputB = 255 -configOut0and1_OSSD = 0 -configOut2and3_OSSD = 0 -configOut4and5_OSSD = 0 -configOut6and7_OSSD = 0 +[WorkpieceConfiguration] +toolSpheres = [[0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0]] +toolSphereNames = [Tool Flange, DISABLED, DISABLED] +toolSphereIDs = [null, 05cb2fa6-f92a-43e7-9f8f-268f9eb48afd, 05cb2fa6-f92a-43e7-9f8f-268f9eb48afd] +toolDirectionInclination = 0.0 +toolDirectionAzimuth = 0.0 + + + + + + + + + + + + + + + + + + - - - - - - + + + + - + \ No newline at end of file diff --git a/.github/dockerursim/.vol/default.variables b/.github/dockerursim/.vol/default.variables index ddb1239..04d8bd2 100644 --- a/.github/dockerursim/.vol/default.variables +++ b/.github/dockerursim/.vol/default.variables @@ -1,2 +1 @@ -# -#Fri Jun 18 10:27:46 BST 2021 + \ No newline at end of file diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 74460fe..e3fa083 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -40,14 +40,18 @@ jobs: mvn install env: SDK_VERSION: ${{ matrix.SDK_VERSION }} + - run: docker network create --subnet=192.168.56.0/24 ursim_net - name: start ursim run: | - docker run --rm -d -p 29999:29999 -p 30001-30004:30001-30004 -v ${PROGRAM_FOLDER}:/ursim/programs -v ${URCAPS_FOLDER}:/urcaps --name ursim universalrobots/ursim_e-series:latest - docker container inspect ursim + docker run --rm -d \ + -p 29999:29999 \ + -p 30001-30004:30001-30004 \ + -v ${PROGRAM_FOLDER}:/ursim/programs \ + -v ${URCAPS_FOLDER}:/urcaps \ + --net ursim_net --ip 192.168.56.101 \ + --name ursim \ + universalrobots/ursim_e-series:latest env: - #DOCKER_RUN_OPTS: --network ursim_net - #ROBOT_MODEL: ${{matrix.env.ROBOT_MODEL}} - #URSIM_VERSION: ${{matrix.env.URSIM_VERSION}} PROGRAM_FOLDER: ./.github/dockerursim/.vol URCAPS_FOLDER: ./target - name: Install netcat From 68a3af46bf96a1c5a2d79512d756321817e95fdd Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Mon, 1 Dec 2025 17:48:35 +0100 Subject: [PATCH 21/21] Remove custom action --- .github/actions/build_urcap/Dockerfile | 16 ---------------- .github/actions/build_urcap/action.yml | 6 ------ .github/actions/build_urcap/entrypoint.sh | 23 ----------------------- 3 files changed, 45 deletions(-) delete mode 100644 .github/actions/build_urcap/Dockerfile delete mode 100644 .github/actions/build_urcap/action.yml delete mode 100755 .github/actions/build_urcap/entrypoint.sh diff --git a/.github/actions/build_urcap/Dockerfile b/.github/actions/build_urcap/Dockerfile deleted file mode 100644 index c95a53d..0000000 --- a/.github/actions/build_urcap/Dockerfile +++ /dev/null @@ -1,16 +0,0 @@ -# Container image that runs your code -FROM ubuntu:noble - -# Copies your code file from your action repository to the filesystem path `/` of the container -COPY entrypoint.sh /entrypoint.sh - -RUN apt-get update && apt-get install -y \ - default-jdk\ - maven\ - unzip\ - dialog\ - sshpass\ - curl - -# Code file to execute when the docker container starts up (`entrypoint.sh`) -ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/actions/build_urcap/action.yml b/.github/actions/build_urcap/action.yml deleted file mode 100644 index b6dbda0..0000000 --- a/.github/actions/build_urcap/action.yml +++ /dev/null @@ -1,6 +0,0 @@ -# action.yml -name: 'Build URCap' -description: 'Builds a URCap in a container' -runs: - using: 'docker' - image: 'Dockerfile' diff --git a/.github/actions/build_urcap/entrypoint.sh b/.github/actions/build_urcap/entrypoint.sh deleted file mode 100755 index fda26fe..0000000 --- a/.github/actions/build_urcap/entrypoint.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -set -e - -SDK_MAJOR=$(echo ${SDK_VERSION} | awk -F. '{print $1}') -SDK_MINOR=$(echo ${SDK_VERSION} | awk -F. '{print $2}') -SDK_BUILD=$(echo ${SDK_VERSION} | awk -F. '{print $3}') - -download_folder=$(mktemp -d) -pushd ${download_folder} -curl -o sdk-${SDK_VERSION}.zip https://s3-eu-west-1.amazonaws.com/urplus-developer-site/sdk/sdk-${SDK_VERSION}.zip -mkdir sdk -unzip -q sdk-${SDK_VERSION}.zip -d sdk -if [ "$SDK_MAJOR" -eq 1 ] && [ "$SDK_MINOR" -eq 10 ]; then - cd sdk/URCap_SDK-${SDK_VERSION} -else - cd sdk -fi -./install.sh - -popd - -mvn install