diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8f54957277d33720dcab081783ab767bc8701e8a..42e85535f48947ecfb7f14ac57856f76db6376bb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -72,9 +72,6 @@ build gui: stage: build extends: .build_image variables: - GIT_SUBMODULE_STRATEGY: recursive - GIT_SUBMODULE_UPDATE_FLAGS: --jobs 4 - GIT_SUBMODULE_PATHS: gui/* TARGET: dev_node DESTINATION: "${CI_REGISTRY_IMAGE}/dev_node:${DOCKER_TAG}" @@ -92,9 +89,6 @@ build python: stage: build extends: .build_image variables: - GIT_SUBMODULE_STRATEGY: recursive - GIT_SUBMODULE_UPDATE_FLAGS: --jobs 4 - GIT_SUBMODULE_PATHS: gui/* TARGET: dev_python DESTINATION: "${CI_REGISTRY_IMAGE}/dev_python:${DOCKER_TAG}" @@ -128,8 +122,6 @@ check helm chart: python linting: stage: test image: ${CI_REGISTRY_IMAGE}/dev_python:${DOCKER_TAG} - variables: - GIT_SUBMODULE_STRATEGY: none script: - ruff check nomad tests - ruff format nomad tests --check @@ -158,9 +150,6 @@ python package clean up: check python dependencies: stage: test image: python:3.9 - variables: - GIT_SUBMODULE_STRATEGY: recursive - GIT_SUBMODULE_UPDATE_FLAGS: --jobs 4 before_script: - pip install --upgrade uv script: @@ -186,9 +175,6 @@ check python dependencies: - name: mongo:5.0.6 alias: mongo variables: - GIT_SUBMODULE_STRATEGY: recursive - GIT_SUBMODULE_DEPTH: 1 - GIT_SUBMODULE_UPDATE_FLAGS: --jobs 4 RABBITMQ_ERLANG_COOKIE: SWQOKODSQALRPCLNMEQG RABBITMQ_DEFAULT_USER: rabbitmq RABBITMQ_DEFAULT_PASS: rabbitmq @@ -305,10 +291,6 @@ gui tests: check gui artifacts: stage: test image: ${CI_REGISTRY_IMAGE}/dev_python:${DOCKER_TAG} - variables: - GIT_SUBMODULE_STRATEGY: recursive - GIT_SUBMODULE_DEPTH: 1 - GIT_SUBMODULE_UPDATE_FLAGS: --jobs 4 script: - uv pip install ".[dev,parsing,infrastructure]" - uv pip install -r requirements-plugins.txt -c requirements-dev.txt # remove this after moving to distro @@ -327,9 +309,6 @@ check gui artifacts: build python package: stage: test variables: - GIT_SUBMODULE_STRATEGY: recursive - GIT_SUBMODULE_DEPTH: 1 - GIT_SUBMODULE_UPDATE_FLAGS: --jobs 4 SETUPTOOLS_SCM_PRETEND_VERSION: "${SETUPTOOLS_SCM_PRETEND_VERSION}" extends: .build_image script: @@ -356,9 +335,6 @@ build final image: stage: test needs: ["build python package", "update_scm_pretend_version"] variables: - GIT_SUBMODULE_STRATEGY: recursive - GIT_SUBMODULE_DEPTH: 1 - GIT_SUBMODULE_UPDATE_FLAGS: --jobs 4 SETUPTOOLS_SCM_PRETEND_VERSION: "${SETUPTOOLS_SCM_PRETEND_VERSION}" TARGET: final DESTINATION: "${CI_REGISTRY_IMAGE}:${DOCKER_TAG}" diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index f6a27bbae8b63c1cf5e7eb07642201998cf1578b..0000000000000000000000000000000000000000 --- a/.gitmodules +++ /dev/null @@ -1,9 +0,0 @@ -[submodule "examples/plugins/schema"] - path = examples/plugins/schema - url = https://github.com/nomad-coe/nomad-schema-plugin-example.git -[submodule "examples/plugins/parser"] - path = examples/plugins/parser - url = https://github.com/nomad-coe/nomad-parser-plugin-example.git -[submodule "examples/plugins/normalizer"] - path = examples/plugins/normalizer - url = https://github.com/nomad-coe/nomad-normalizer-plugin-example.git diff --git a/docs/howto/develop/contrib.md b/docs/howto/develop/contrib.md index 5d2c0ce0faf4aba8527b4a00207a0bb638535f19..c806ded6319a35b2319013c0f84febae9eca877b 100644 --- a/docs/howto/develop/contrib.md +++ b/docs/howto/develop/contrib.md @@ -82,28 +82,19 @@ See also the [documentation part](./code.md#documentation) in our code navigatio Also read the guide on [how to develop, publish, and distribute plugins](../plugins/plugins.md). -### Built-in plugins (and submodules) +### Built-in plugins Most plugins that are maintained by the NOMAD team are built-in plugins (e.g. all the parsers). These plugins are also available on the public NOMAD service. -These plugins are tied to the main project's source code via submodules. They are included -in the build and therefore automatically distributed as part of the NOMAD docker images -and Python package. +These plugins are tied to the main project's source code via dependencies. To contribute to these plugins, use the respective GitHub projects. See also the list of [parsers](../../reference/parsers.md) and the list of -[built-in plugins](../../reference/plugins.md). The same rules apply there. A merge request -to the main project will also be required to update the submodule. - -All these submodules are placed in the `dependencies` directory. After merging or -checking out, you have to make sure that the modules are updated to not accidentally -commit old submodule commits again. Usually you do the following to check if you really -have a clean working directory: +[built-in plugins](../../reference/plugins.md). The same rules apply there. ```shell git checkout something-with-changes -git submodule update --init --recursive git status ``` diff --git a/docs/howto/develop/setup.md b/docs/howto/develop/setup.md index 1a22fcf5c0a2bf2332f94d19a277252fc0c4ab8b..f258468347da19f51dbc681a25d58ba996f5146f 100644 --- a/docs/howto/develop/setup.md +++ b/docs/howto/develop/setup.md @@ -45,15 +45,6 @@ git checkout -b <my-branch-name> This branch can be pushed to the repo, and then later may be merged to the relevant branch. -### Install submodules - -Parts of the NOMAD software, such as parsers, are maintained in separate Git repositories. -These are then connected to the main repository as Git submodules. To clone and initialize -these submodules, run: - -```shell -git submodule update --init -``` ## Installation @@ -135,8 +126,7 @@ python -c "import magic" ### Install NOMAD -The following command can be used to install all dependencies of all submodules -and NOMAD itself. +The following command can be used to install NOMAD. ```shell ./scripts/setup_dev_env.sh @@ -145,12 +135,6 @@ and NOMAD itself. ??? note "Installation details" Here is more detailed rundown of the installation steps. - First we ensure that all submodules are up-to-date: - - ```shell - git submodule update --init --recursive - ``` - Previous build is cleaned: ```shell diff --git a/docs/howto/oasis/plugins_install.md b/docs/howto/oasis/plugins_install.md index 22870b30fa8c0af9d7381d04a5bb8db262578ea0..ea782055edbd25a4feb4d93b1bf867e4a963c6c4 100644 --- a/docs/howto/oasis/plugins_install.md +++ b/docs/howto/oasis/plugins_install.md @@ -104,27 +104,4 @@ export COMPOSE_FILE=docker-compose.yaml:docker-compose.plugins.yaml docker compose up -d ``` -Here is a complete Oasis setup [nomad-oasis-with-plugins.zip](../../assets/nomad-oasis-with-plugins.zip). Simply download, extract, and start like any other Oasis: - -```sh -unzip nomad-oasis-with-plugins.zip -cd nomad-oasis-with-plugins -sudo chown -R 1000 .volumes -sudo chown -R 1000 nomad-schema-plugin-example -sudo chown -R 1000 nomad-parser-plugin-example -sudo chown -R 1000 nomad-normalizer-plugin-example -export COMPOSE_FILE=docker-compose.yaml:docker-compose.plugins.yaml -docker compose pull -docker compose up -d -curl localhost/nomad-oasis/alive -``` - -!!! warning "Attention" - It is important to set up the correct user rights for your volumes and - plugins. Our default `docker-compose` setup uses the user `1000` in group - `1000` to run the services, this is the reason for the `chown` commands - above that ensure that the processes have access to the data stored in - volumes and in the plugins. If you use another user/group to run the docker - services, update the commands accordingly. - Read the [Oasis install guide](install.md) for more details. diff --git a/examples/plugins/normalizer b/examples/plugins/normalizer deleted file mode 160000 index 0d8b9116cb90c8d70b831ec93416d3302595f7c0..0000000000000000000000000000000000000000 --- a/examples/plugins/normalizer +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0d8b9116cb90c8d70b831ec93416d3302595f7c0 diff --git a/examples/plugins/parser b/examples/plugins/parser deleted file mode 160000 index 3b246145b21484b72c67c6d4fb12207c1f869b0d..0000000000000000000000000000000000000000 --- a/examples/plugins/parser +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3b246145b21484b72c67c6d4fb12207c1f869b0d diff --git a/examples/plugins/schema b/examples/plugins/schema deleted file mode 160000 index 48752a78360e1369d7754fcfccae068bf932d428..0000000000000000000000000000000000000000 --- a/examples/plugins/schema +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 48752a78360e1369d7754fcfccae068bf932d428 diff --git a/scripts/generate_docs_artifacts.sh b/scripts/generate_docs_artifacts.sh index 3694cc3db5c3da84d6e9526ba9996425cbe2afc7..b8f8b7fd956e60acf441171ff5f7bbe9c92a5895 100755 --- a/scripts/generate_docs_artifacts.sh +++ b/scripts/generate_docs_artifacts.sh @@ -11,10 +11,4 @@ rm -rf $project_dir/docs/assets/nomad-oasis* zip -r $project_dir/docs/assets/nomad-oasis.zip nomad-oasis -x "**/.gitignore" zip -r $project_dir/docs/assets/nomad-oasis-with-keycloak.zip nomad-oasis-with-keycloak -x "**/.gitignore" -rm -rf nomad-oasis-with-plugins/.volumes nomad-oasis-with-plugins/configs nomad-oasis-with-plugins/docker-compose.yaml nomad-oasis-with-plugins/nomad-* -cp -r nomad-oasis/configs nomad-oasis/docker-compose.yaml nomad-oasis/.volumes nomad-oasis-with-plugins/ -git clone https://github.com/nomad-coe/nomad-schema-plugin-example.git ./nomad-oasis-with-plugins/nomad-schema-plugin-example -git clone https://github.com/nomad-coe/nomad-parser-plugin-example.git ./nomad-oasis-with-plugins/nomad-parser-plugin-example -git clone https://github.com/nomad-coe/nomad-normalizer-plugin-example.git ./nomad-oasis-with-plugins/nomad-normalizer-plugin-example -cat nomad-oasis-with-plugins/nomad.yaml >> nomad-oasis-with-plugins/configs/nomad.yaml -zip -r $project_dir/docs/assets/nomad-oasis-with-plugins.zip nomad-oasis-with-plugins -x "**/.gitignore" -x "nomad-oasis-with-plugins/nomad.yaml" \ No newline at end of file +cp -r nomad-oasis/configs nomad-oasis/docker-compose.yaml nomad-oasis/.volumes diff --git a/scripts/setup_dev_env.sh b/scripts/setup_dev_env.sh index 49f63bf6db05894364503e399e21bb114f734bee..6dfa3f90638e59f8b8370e503d1314fcda4be952 100755 --- a/scripts/setup_dev_env.sh +++ b/scripts/setup_dev_env.sh @@ -7,9 +7,6 @@ project_dir=$(dirname $(dirname $(realpath $0))) cd $project_dir -# Initialise all of the submodules -git submodule update --init --recursive - # Clean up any previous build rm -rf nomad/app/static/docs rm -rf nomad/app/static/gui