From 80005290441cf22bbf857a427c4fb83de124ec68 Mon Sep 17 00:00:00 2001 From: Dawa Ometto Date: Tue, 4 Aug 2026 10:27:56 +0200 Subject: [PATCH 1/9] chore: update molecule config files --- README.md | 4 +++- molecule/default/.env.yml | 5 +++++ molecule/default/molecule.yml | 8 -------- 3 files changed, 8 insertions(+), 9 deletions(-) create mode 100644 molecule/default/.env.yml diff --git a/README.md b/README.md index 846bac3..b8b367d 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,9 @@ Additionally, you can create multiple test *scenarios*, in order to test the exe This repository contains some Molecule configuration files in `molecule/ext/molecule-src`. This setup is geared towards testing ResearchCloud components. It configures default container images, and [mimics certain other features of ResearchCloud workspaces](https://github.com/UtrechtUniversity/SRC-molecule#scenarios). -**Note: for `molecule` to run correctly, the path to the component playbook should be correctly set in `molecule/default/molecule.yml! It defaults to the default `playbook.yml`, but if you rename this file, be sure to change in the `molecule.yml`, too.** +**Note: for `molecule` to run correctly, the path to the component playbook should be correctly set in `molecule/default/.env.yml`! It defaults to the default `playbook.yml`, but if you rename this file, be sure to change in the `molecule.yml`, too.** + +**Note: parameters that should be passed to your playbook by molecule should be set in `molecule/default/.env.yml`!** To run `molecule`: diff --git a/molecule/default/.env.yml b/molecule/default/.env.yml new file mode 100644 index 0000000..3f9b4ca --- /dev/null +++ b/molecule/default/.env.yml @@ -0,0 +1,5 @@ +components: + - name: test_component + path: playbook.yml + parameters: + # Add parameters that you expect to be set in the ResearchCloud portal diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index 5b04fb0..ed97d53 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -1,9 +1 @@ --- -provisioner: - name: ansible - env: - components: - - name: test_component - path: playbook.yml - parameters: - # Add parameters that you expect to be set in the ResearchCloud portal From 8ab6d7707238827f68fdd1234280dd0e5bbe8e6a Mon Sep 17 00:00:00 2001 From: Dawa Ometto Date: Tue, 4 Aug 2026 10:59:46 +0200 Subject: [PATCH 2/9] chore: use uv to run ansible-lint, ignore .env.yml --- .ansible-lint | 1 + .github/workflows/ansible_lint.yml | 24 ++++++++++++++++++++---- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.ansible-lint b/.ansible-lint index 761ce48..6a21f08 100644 --- a/.ansible-lint +++ b/.ansible-lint @@ -6,6 +6,7 @@ exclude_paths: - molecule/ext # since this is a subtree, linting should be taken care of upstream - molecule/*/extra_prepare.yml # these are included with 'include_tasks' and hence do not validate as playbooks - docker-compose.yml + - molecule/*/.env.yml skip_list: - role-name - var-naming diff --git a/.github/workflows/ansible_lint.yml b/.github/workflows/ansible_lint.yml index e570f27..1c831dc 100644 --- a/.github/workflows/ansible_lint.yml +++ b/.github/workflows/ansible_lint.yml @@ -30,9 +30,25 @@ jobs: build: name: Ansible Lint # Naming the build is important to use it as a status check runs-on: ubuntu-latest + env: + VIRTUAL_ENV: ${{ github.workspace }}/.venv steps: - - uses: actions/checkout@v4 - - name: Run ansible-lint - uses: ansible/ansible-lint@main + - name: Set Up Python + uses: actions/setup-python@v7 with: - args: "." + python-version: '3.12' + + - name: Set up UV and caching + uses: astral-sh/setup-uv@v9.0.0 + with: + enable-cache: true + + - uses: actions/checkout@v7 + - name: Install Dependencies + run: | + uv venv $VIRTUAL_ENV + uv pip install ansible-lint + + - name: Run Ansible Lint + run: | + uv run ansible-lint . From 90417cccf67b775b154a215b714e84a3482c51b4 Mon Sep 17 00:00:00 2001 From: Dawa Ometto Date: Tue, 4 Aug 2026 11:26:49 +0200 Subject: [PATCH 3/9] Add verifier configuration to molecule.yml --- molecule/default/molecule.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index ed97d53..fe7a391 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -1 +1,2 @@ --- +verifier: ansible # molecule.yml can't be empty From f8d7d7bf543aea46dfb216947847b718da0f7927 Mon Sep 17 00:00:00 2001 From: Dawa Ometto Date: Tue, 4 Aug 2026 11:49:09 +0200 Subject: [PATCH 4/9] Remove verifier from molecule.yml Remove verifier entry from molecule.yml --- molecule/default/molecule.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index fe7a391..ed97d53 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -1,2 +1 @@ --- -verifier: ansible # molecule.yml can't be empty From df2387e0ea058510e5a2aa2c4c2a480815fb8b0a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 4 Aug 2026 09:54:26 +0000 Subject: [PATCH 5/9] Restore verifier entry in molecule/default/molecule.yml to fix schema validation Co-authored-by: dometto <147111+dometto@users.noreply.github.com> --- molecule/default/molecule.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index ed97d53..df60d64 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -1 +1,3 @@ --- +verifier: + name: ansible From a982fb2ef099f83b3c9b2bd14baedfa22cc4f941 Mon Sep 17 00:00:00 2001 From: Dawa Ometto Date: Tue, 4 Aug 2026 12:27:29 +0200 Subject: [PATCH 6/9] Update molecule.yml --- molecule/default/molecule.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index df60d64..326a03d 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -1,3 +1,13 @@ --- -verifier: - name: ansible +platforms: + - name: workspace-src-ubuntu_jammy + image: ghcr.io/utrechtuniversity/src-test-workspace:ubuntu_noble-nginx # you can optionally change to a non-nginx image + command: /sbin/init + pre_build_image: true + published_ports: # this is not necessary if not testing against nginx + - 8080:80 + registry: + url: $DOCKER_REGISTRY + credentials: + username: $DOCKER_USER + password: $DOCKER_PW From 5134a3178c951943b1a657585257480588a3467b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 4 Aug 2026 10:47:32 +0000 Subject: [PATCH 7/9] Fix molecule schema validation by specifying driver name in default molecule.yml Co-authored-by: dometto <147111+dometto@users.noreply.github.com> --- molecule/default/molecule.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index 326a03d..c67cb05 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -1,4 +1,6 @@ --- +driver: + name: podman platforms: - name: workspace-src-ubuntu_jammy image: ghcr.io/utrechtuniversity/src-test-workspace:ubuntu_noble-nginx # you can optionally change to a non-nginx image From e706e873400c320f23ae2adc9cc67b34e3d20799 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 4 Aug 2026 10:57:38 +0000 Subject: [PATCH 8/9] Remove registry block from molecule/default/molecule.yml to fix schema validation Co-authored-by: dometto <147111+dometto@users.noreply.github.com> --- molecule/default/molecule.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index c67cb05..d41c9dc 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -8,8 +8,4 @@ platforms: pre_build_image: true published_ports: # this is not necessary if not testing against nginx - 8080:80 - registry: - url: $DOCKER_REGISTRY - credentials: - username: $DOCKER_USER - password: $DOCKER_PW + From 047c013b8c07adb3f7c517e6ca2a9eea36c6487b Mon Sep 17 00:00:00 2001 From: Dawa Ometto Date: Tue, 4 Aug 2026 13:03:18 +0200 Subject: [PATCH 9/9] Remove unnecessary line from molecule.yml --- molecule/default/molecule.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index d41c9dc..030323b 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -8,4 +8,3 @@ platforms: pre_build_image: true published_ports: # this is not necessary if not testing against nginx - 8080:80 -