From 279589af639bfe1f08d7367b52ba56a30ef1a441 Mon Sep 17 00:00:00 2001
From: "allcontributors[bot]"
<46447321+allcontributors[bot]@users.noreply.github.com>
Date: Wed, 24 Jun 2026 13:29:52 +0000
Subject: [PATCH 1/3] update README.md
---
README.md | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/README.md b/README.md
index dc92ae9..636b24f 100644
--- a/README.md
+++ b/README.md
@@ -130,8 +130,17 @@ Thanks goes to these wonderful people, sorted alphabetically ([emoji key](https:
+
+
+
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
From 806c139665e9dad9a35711f35fdbdd1c7044d110 Mon Sep 17 00:00:00 2001
From: "allcontributors[bot]"
<46447321+allcontributors[bot]@users.noreply.github.com>
Date: Wed, 24 Jun 2026 13:29:53 +0000
Subject: [PATCH 2/3] update .all-contributorsrc
---
.all-contributorsrc | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/.all-contributorsrc b/.all-contributorsrc
index 6e70cda..809c855 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -9,8 +9,20 @@
"imageSize": 100,
"commit": false,
"commitConvention": "none",
- "contributors": [],
+ "contributors": [
+ {
+ "login": "tud-mchen6",
+ "name": "mchen6",
+ "avatar_url": "https://avatars.githubusercontent.com/u/133768452?v=4",
+ "profile": "https://github.com/tud-mchen6",
+ "contributions": [
+ "bug",
+ "review"
+ ]
+ }
+ ],
"contributorsPerLine": 7,
"linkToUsage": false,
- "contributorsSortAlphabetically": true
+ "contributorsSortAlphabetically": true,
+ "commitType": "docs"
}
From c3a2e166e410629912495e11f1395c27d9fd17e1 Mon Sep 17 00:00:00 2001
From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com>
Date: Wed, 24 Jun 2026 16:36:18 +0200
Subject: [PATCH 3/3] update CI to fix flaky test
---
.copier-answers.yml | 2 +-
.github/workflows/pr-ci.yml | 7 +++----
tests/integration_test.py | 23 +++++++----------------
3 files changed, 11 insertions(+), 21 deletions(-)
diff --git a/.copier-answers.yml b/.copier-answers.yml
index c3cb097..06db349 100644
--- a/.copier-answers.yml
+++ b/.copier-answers.yml
@@ -1,6 +1,6 @@
# Changes here will be overwritten by Copier
# !!!!! DO NOT MANUALLY MODIFY THIS FILE !!!!!
-_commit: v1.0.1
+_commit: v1.0.2
_src_path: https://github.com/modelblocks-org/data-module-template.git
author_email: i.ruizmanuel@tudelft.nl
author_family_name: Ruiz Manuel
diff --git a/.github/workflows/pr-ci.yml b/.github/workflows/pr-ci.yml
index 0e17ea4..18c5f00 100644
--- a/.github/workflows/pr-ci.yml
+++ b/.github/workflows/pr-ci.yml
@@ -13,11 +13,10 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
- python-version: ["3.12"]
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v7
- name: Setup pixi
- uses: prefix-dev/setup-pixi@v0.8.3
+ uses: prefix-dev/setup-pixi@v0.9.6
- name: Run integration tests
id: tests
run: pixi run test-integration
@@ -30,7 +29,7 @@ jobs:
continue-on-error: true
- name: Save integration logs
if: ${{ always() }}
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v7
with:
name: integration-test-logs-${{ matrix.os }}
path: tests/integration/resources/module/logs
diff --git a/tests/integration_test.py b/tests/integration_test.py
index e20dba3..c56b086 100644
--- a/tests/integration_test.py
+++ b/tests/integration_test.py
@@ -4,8 +4,8 @@
Contents may be updated in future template updates.
"""
-import json
import subprocess
+import tomllib
from pathlib import Path
import pytest
@@ -13,22 +13,13 @@
@pytest.fixture(scope="module")
-def pixi_environments(module_path) -> dict:
- """Pixi environments defined for this project."""
- process = subprocess.run(
- ["pixi", "info", "--json"],
- check=True,
- cwd=module_path,
- capture_output=True,
- text=True,
- )
- return {
- environment["name"]: environment
- for environment in json.loads(process.stdout)["environments_info"]
- }
+def pixi_platforms(module_path) -> list[str]:
+ """Pixi platforms defined for this project."""
+ with (module_path / "pixi.toml").open("rb") as pixi_config:
+ return tomllib.load(pixi_config)["workspace"]["platforms"]
-def test_snakemake_environments(module_path, pixi_environments, tmp_path):
+def test_snakemake_environments(module_path, pixi_platforms, tmp_path):
"""All Snakemake environment files should be based on pixi counterparts."""
env_dir = module_path / "workflow/envs"
env_files = sorted(env_dir.glob("*.yaml"))
@@ -47,7 +38,7 @@ def test_snakemake_environments(module_path, pixi_environments, tmp_path):
generated_yaml = output_dir / env_file.name
assert generated_yaml.read_text() == env_file.read_text()
- for platform in pixi_environments[env_name]["platforms"]:
+ for platform in pixi_platforms:
pin_file = env_dir / f"{env_name}.{platform}.pin.txt"
assert pin_file.exists(), f"{env_name} has no conda pins for {platform}"