diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7c58d3d32dde4f89792c3e2e8a9c9457f04c9032..636876302549a50ac4151696d35f5981cb7aba47 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,20 +7,29 @@ stages: .bootstrap-axii: cache: - key: general-apt-cache - paths: - - .apt + - key: general-pip-cache + paths: + - .pip + - key: general-apt-cache + paths: + - .apt before_script: - export LC_ALL=C.UTF-8 - export LANG=C.UTF-8 + - source /etc/os-release + + # Pip cache configuration. + - export PIP_CACHE_DIR="$CI_PROJECT_DIR/.pip" + - mkdir -p ".pip" || true # Apt cache configuration. - rm -rf /var/cache/apt/archives || true - rm -f /etc/apt/apt.conf.d/docker-clean # Remove docker-clean script to avoid cache deletion. - - mkdir .apt || true - - ln -s "$CI_PROJECT_DIR/.apt" /var/cache/apt/archives + - mkdir -p ".apt/$VERSION_CODENAME" || true + - ln -s "$CI_PROJECT_DIR/.apt/$VERSION_CODENAME" /var/cache/apt/archives + # Apt preparation. - apt-get update -y - apt-get install sudo -y diff --git a/CHANGELOG.md b/CHANGELOG.md index e12f7b62f46ebb99144e3f7a9f87e230edce3b7c..4928717f806f2e30ddd27931908cc64979d41c10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,26 @@ This document accumulates all changes to Axii with the respective version ## Releases 23.01 +### Release [23.01.4.0](https://git.h2t.iar.kit.edu/sw/armarx/meta/axii/-/releases/23.01.4.0) + +**Update procedure**: + +- `axii self update` +- (with workspace activated) `axii workspace verify` + +**Modules:** + +- `h2t/research_projects/eurobin/*`: Move euROBIN modules to external DB (@kartmann, !490, !492) +- **New** `tools/nodejs/*`: Add modules for node and npm (@dreher, !489) +- `armarx/skills/control`: Remove constraint of building project with 4 jobs (@dreher, !488) +- **New** `armarx_integration/robots/armar6/*`: Add ARMAR-6 Models module (@dreher, !486) +- **New** `deps/embedded_template_library`: Add embedded_template_library module (@pohl, !485) + +_Other:_ + +- OS-specific apt CI caches and pip CI caches (@dreher, !487) + + ### Release [23.01.3.0](https://git.h2t.iar.kit.edu/sw/armarx/meta/axii/-/releases/23.01.3.0) **Update procedure**: diff --git a/armarx_setup/__init__.py b/armarx_setup/__init__.py index bd7ab2726c67a2cc0a60ca47235897e54f9a1123..6751921ea8d2d37e277aab77dd61e2ec2817c117 100644 --- a/armarx_setup/__init__.py +++ b/armarx_setup/__init__.py @@ -1,6 +1,6 @@ """Global Axii variables.""" -__version__ = "23.01.3.0" +__version__ = "23.01.4.0" import os diff --git a/data/modules/armarx/skills/control.json b/data/modules/armarx/skills/control.json index e8bbf1bfd70321f0595bdd95b3ba956900d6bd1d..77035467ee4323e60a5db9ca113c49b75f7a1949 100644 --- a/data/modules/armarx/skills/control.json +++ b/data/modules/armarx/skills/control.json @@ -1,6 +1,9 @@ { "general": { - "url": "https://git.h2t.iar.kit.edu/sw/armarx/skills/control" + "url": "https://git.h2t.iar.kit.edu/sw/armarx/skills/control", + "authors": [ + "Christian Dreher <c.dreher@kit.edu>" + ] }, "update": { @@ -8,6 +11,7 @@ "h2t_gitlab_slug": "sw/armarx/skills/control" } }, + "prepare": { "cmake": { "project_name": "armarx_control", @@ -17,14 +21,8 @@ } } }, - "build": { - "cmake": { - "env": { - "CMAKE_BUILD_PARALLEL_LEVEL": "4" - } - } - }, + "build": "cmake", "features": { "mplib": "mplib", diff --git a/data/modules/armarx_integration/robots/armar6.json b/data/modules/armarx_integration/robots/armar6.json index 2ecb932bbaca2f1ea0c718b476fb5ae0665357e4..f255e532bec68d7ec95723e27291e064453a621f 100644 --- a/data/modules/armarx_integration/robots/armar6.json +++ b/data/modules/armarx_integration/robots/armar6.json @@ -1,5 +1,13 @@ { + "general": { + "url": "https://git.h2t.iar.kit.edu/sw/armarx-integration/robots/armar6", + "authors": [ + "Christian Dreher <c.dreher@kit.edu>" + ] + }, + "required_modules": { + "armarx_integration/robots/armar6/models": {}, "armarx_integration/robots/armar6/rt": {}, "armarx_integration/robots/armar6/skills": {} } diff --git a/data/modules/armarx_integration/robots/armar6/models.json b/data/modules/armarx_integration/robots/armar6/models.json new file mode 100644 index 0000000000000000000000000000000000000000..8d59e6b8634ced913264006c83da9d5c3f479ec7 --- /dev/null +++ b/data/modules/armarx_integration/robots/armar6/models.json @@ -0,0 +1,31 @@ +{ + "general": { + "url": "https://git.h2t.iar.kit.edu/sw/armarx-integration/robots/armar6/models", + "authors": [ + "Christian Dreher <c.dreher@kit.edu>" + ] + }, + + "update": { + "git": { + "h2t_gitlab_slug": "sw/armarx-integration/robots/armar6/models" + } + }, + + "prepare": { + "cmake": { + "project_name": "armar6_models", + "definitions": { + "CMAKE_C_COMPILER": "$ARMARX_C_COMPILER", + "CMAKE_CXX_COMPILER": "$ARMARX_CXX_COMPILER" + } + } + }, + + "build": "cmake", + + "required_modules": { + "armarx/meta/compiler": {}, + "armarx/ArmarXCore": {} + } +} diff --git a/data/modules/armarx_integration/robots/armar6/rt.json b/data/modules/armarx_integration/robots/armar6/rt.json index 62a2c9477d9d25175cdae6ede0717d7f69638df4..ddc87e5af3be0f990b62beb0fd5df47e83d90bcd 100644 --- a/data/modules/armarx_integration/robots/armar6/rt.json +++ b/data/modules/armarx_integration/robots/armar6/rt.json @@ -1,6 +1,9 @@ { "general": { - "url": "https://git.h2t.iar.kit.edu/sw/armarx-integration/robots/armar6/rt" + "url": "https://git.h2t.iar.kit.edu/sw/armarx-integration/robots/armar6/rt", + "authors": [ + "Christian Dreher <c.dreher@kit.edu>" + ] }, "update": { @@ -8,6 +11,7 @@ "h2t_gitlab_slug": "sw/armarx-integration/robots/armar6/rt" } }, + "prepare": { "cmake": { "project_name": "armar6_rt", @@ -17,6 +21,7 @@ } } }, + "build": "cmake", "required_modules": { @@ -26,6 +31,8 @@ "armarx/RobotAPI": {}, "armarx/skills/control": {}, - "armarx_integration/devices/ethercat": {} + "armarx_integration/devices/ethercat": {}, + + "armarx_integration/robots/armar6/models": {} } } diff --git a/data/modules/armarx_integration/robots/armar6/skills.json b/data/modules/armarx_integration/robots/armar6/skills.json index 0d23732a72869ddf6818bf5011d261984db7fc2a..05425a4a05d6fee9c38208bc926d5d49ab5a294e 100644 --- a/data/modules/armarx_integration/robots/armar6/skills.json +++ b/data/modules/armarx_integration/robots/armar6/skills.json @@ -1,6 +1,9 @@ { "general": { - "url": "https://git.h2t.iar.kit.edu/sw/armarx-integration/robots/armar6/skills" + "url": "https://git.h2t.iar.kit.edu/sw/armarx-integration/robots/armar6/skills", + "authors": [ + "Christian Dreher <c.dreher@kit.edu>" + ] }, "update": { @@ -8,6 +11,7 @@ "h2t_gitlab_slug": "sw/armarx-integration/robots/armar6/skills" } }, + "prepare": { "cmake": { "project_name": "armar6_skills", @@ -17,6 +21,7 @@ } } }, + "build": "cmake", "required_modules": { @@ -35,7 +40,9 @@ "armarx/ArmarXSimulation": {}, "armarx/skills/manipulation": {}, - "armarx_integration/robots/armar6/rt": {} + "# TODO: Remove RT when models are moved from armar6::rt to armar6::models": null, + "armarx_integration/robots/armar6/rt": {}, + "armarx_integration/robots/armar6/models": {} } } diff --git a/data/modules/dbs/research_projects/eurobin.json b/data/modules/dbs/research_projects/eurobin.json new file mode 100644 index 0000000000000000000000000000000000000000..e75c21173e165c5b44475ef2d52b01c7172365c8 --- /dev/null +++ b/data/modules/dbs/research_projects/eurobin.json @@ -0,0 +1,23 @@ +{ + + "general": { + "url": "https://git.h2t.iar.kit.edu/research-projects/eurobin/axii-database", + "authors": "Rainer Kartmann <rainer.kartmann@kit.edu>", + "database": { + "for_namespace": "h2t/research_projects/eurobin" + } + }, + + "update": { + "git": { + "h2t_gitlab_slug": "research-projects/eurobin/axii-database" + } + }, + + "install": { + "env": { + "ARMARX_MODULES": "$MODULE_PATH:$ARMARX_MODULES" + } + } + +} diff --git a/data/modules/deps/embedded_template_library.json b/data/modules/deps/embedded_template_library.json new file mode 100644 index 0000000000000000000000000000000000000000..bc7f09da2f3bd7cea82886381e92a2a9ec9a9009 --- /dev/null +++ b/data/modules/deps/embedded_template_library.json @@ -0,0 +1,37 @@ +{ + "general": { + "url": "https://github.com/ETLCPP/etl", + "authors": "Christoph Pohl <pohl@kit.edu>" + }, + + "update": { + "git": { + "github_slug": "ETLCPP/etl" + } + }, + + "prepare": { + "cmake": { + "# project_name": "etl", + "definitions": { + "CMAKE_INSTALL_PREFIX": "install", + "CMAKE_C_COMPILER": "$ARMARX_C_COMPILER", + "CMAKE_CXX_COMPILER": "$ARMARX_CXX_COMPILER" + } + } + }, + + "build": "cmake", + + "install": { + "cmake": {}, + "env": { + "etl_DIR": "$MODULE_PATH/build/install/share/etl/cmake" + } + }, + + "required_modules": { + "tools/cmake/3.21": {}, + "armarx/meta/compiler": {} + } +} diff --git a/data/modules/h2t/research_projects/eurobin.json b/data/modules/h2t/research_projects/eurobin.json deleted file mode 100644 index ecce9ac58c0a3e0b5977537491341e98b194cc7d..0000000000000000000000000000000000000000 --- a/data/modules/h2t/research_projects/eurobin.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "required_modules": { - "h2t/research_projects/eurobin/wp2_skills": {} - } -} diff --git a/data/modules/h2t/research_projects/eurobin/wp2_skills.json b/data/modules/h2t/research_projects/eurobin/wp2_skills.json deleted file mode 100644 index 4afd41a209eeeea5f839f6dc9ba44058ed7b6be3..0000000000000000000000000000000000000000 --- a/data/modules/h2t/research_projects/eurobin/wp2_skills.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "general": { - "url": "https://git.h2t.iar.kit.edu/research-projects/eurobin/wp2-skills" - }, - - "update": { - "git": { - "h2t_gitlab_slug": "research-projects/eurobin/communication" - } - }, - "prepare": { - "cmake": { - "definitions": { - "CMAKE_C_COMPILER": "$ARMARX_C_COMPILER", - "CMAKE_CXX_COMPILER": "$ARMARX_CXX_COMPILER" - } - }, - "# python": { - "packages": { - "python/activity_recognition": { - "install_editable": [ - "$armarx__python3_armarx__PATH" - ] - } - } - } - }, - "build": "cmake", - - "required_modules": { - "armarx/meta/compiler": {}, - "armarx/ArmarXCore": {}, - "# armarx/python3-armarx": {}, - - "# armarx_integration/robots/armar6/skills": {}, - "# armarx_integration/robots/armar7/skills": {} - } -} diff --git a/data/modules/tools/nodejs/16.19.json b/data/modules/tools/nodejs/16.19.json new file mode 100644 index 0000000000000000000000000000000000000000..fcce84bef0f0dc57065e0ebc58c40567322f6394 --- /dev/null +++ b/data/modules/tools/nodejs/16.19.json @@ -0,0 +1,40 @@ +{ + "general": { + "url": "https://nodejs.org/en/download/releases/", + "authors": [ + "Christian Dreher <c.dreher@kit.edu>" + ] + }, + + "update": { + "download": { + "url": "https://nodejs.org/download/release/v16.18.1/node-v16.18.1-linux-x64.tar.xz", + "md5_checksum": "e580e257385ac9faa0c3ab1ca4dbb783" + } + }, + + "prepare": { + "extract": { + "file": "node-v16.18.1-linux-x64.tar.xz", + "extract_into": "$MODULE_PATH" + } + }, + + "install": { + "env": { + "NODE_16_18": "$MODULE_PATH/node-v16.18.1-linux-x64/bin/node", + "NPM_8_19": "$MODULE_PATH/node-v16.18.1-linux-x64/bin/npm" + }, + "executables": { + "node-16.18": { + "exec": "$MODULE_PATH/node-v16.18.1-linux-x64/bin/node" + }, + "npm-8.19": { + "pre_exec_commands": [ + "export PATH=$MODULE_PATH/node-v16.18.1-linux-x64/bin:$PATH" + ], + "exec": "$MODULE_PATH/node-v16.18.1-linux-x64/bin/npm" + } + } + } +} diff --git a/data/modules/tools/nodejs/18.13.json b/data/modules/tools/nodejs/18.13.json new file mode 100644 index 0000000000000000000000000000000000000000..f73cf709b67e7d6df2fc6754ef33328e6280f0d4 --- /dev/null +++ b/data/modules/tools/nodejs/18.13.json @@ -0,0 +1,40 @@ +{ + "general": { + "url": "https://nodejs.org/en/download/releases/", + "authors": [ + "Christian Dreher <c.dreher@kit.edu>" + ] + }, + + "update": { + "download": { + "url": "https://nodejs.org/download/release/v18.13.0/node-v18.13.0-linux-x64.tar.xz", + "md5_checksum": "e9c258601271fe0cce4a28d165ba43da" + } + }, + + "prepare": { + "extract": { + "file": "node-v18.13.0-linux-x64.tar.xz", + "extract_into": "$MODULE_PATH" + } + }, + + "install": { + "env": { + "NODE_18_13": "$MODULE_PATH/node-v18.13.0-linux-x64/bin/node", + "NPM_8_19": "$MODULE_PATH/node-v18.13.0-linux-x64/bin/npm" + }, + "executables": { + "node-18.13": { + "exec": "$MODULE_PATH/node-v18.13.0-linux-x64/bin/node" + }, + "npm-8.19": { + "pre_exec_commands": [ + "export PATH=$MODULE_PATH/node-v18.13.0-linux-x64/bin:$PATH" + ], + "exec": "$MODULE_PATH/node-v18.13.0-linux-x64/bin/npm" + } + } + } +}