Skip to content

Commit 54e9636

Browse files
committed
ENH: Add verify-meca pixi task
Verify the submitted article bundle can be reproduced.
1 parent e15c18a commit 54e9636

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ The project uses [Pixi](https://pixi.sh) for dependency management and task auto
9494
| `build-manuscript` | Build HTML, PDF, and citation file |
9595
| `build-pdfs` | Build both Typst and arXiv PDFs |
9696
| `build-meca` | Create complete [MECA] archive for journal submission |
97+
| `verify-meca` | Build MECA and verify bundle reproducibility |
9798
| `build` | **Main build task** - builds manuscript and tests project |
9899

99100
### Development Tasks
@@ -156,6 +157,12 @@ pixi run -e cxx test-project
156157
pixi run build-meca
157158
```
158159

160+
**Verify MECA bundle reproducibility:**
161+
```bash
162+
# Build MECA, unpack it, and verify the bundle builds correctly
163+
pixi run verify-meca
164+
```
165+
159166
## License
160167

161168
All source code in this repository is distributed under the Apache 2.0

pixi.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,16 @@ build-manuscript = { depends-on = ["build-html", "build-pdf", "build-cff"] }
4343
build-pdfs = { depends-on = ["build-pdf", "build-arxiv"] }
4444
build-meca = { cmd = "myst build --meca", depends-on = ["build-html", "build-pdfs", "build-tex", "build-docx", "build-cff"] }
4545

46+
# Verify MECA bundle reproducibility
47+
verify-meca = { cmd = '''
48+
myst build --meca &&
49+
rm -rf exports/manuscript.meca &&
50+
unzip exports/manuscript.meca.zip -d exports/manuscript.meca &&
51+
cd exports/manuscript.meca/bundle &&
52+
pixi run build &&
53+
pixi run test
54+
''', depends-on = ["build-meca"], description = "Build MECA export and verify bundle reproducibility" }
55+
4656
# Start development server
4757
start = "myst start"
4858
# Alias

0 commit comments

Comments
 (0)