From 0514ba128337eff62df9d8af8f9f9c1dadf54a92 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 11 Jan 2026 20:34:23 +0000 Subject: [PATCH] Add comprehensive CI documentation to README files Co-authored-by: dwinkler1 <22460147+dwinkler1@users.noreply.github.com> --- README.md | 70 +++++++++++++++++++++++++++++++++++++++++ templates/rde/README.md | 30 ++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..bfa3c32 --- /dev/null +++ b/README.md @@ -0,0 +1,70 @@ +# Nix Project Templates (np) + +A collection of Nix flake templates for reproducible development environments. + +## Templates + +### RDE (Research Development Environment) + +The default template for data science and research projects with support for R, Python, and Julia. + +**Quick start:** +```bash +nix flake init -t github:dwinkler1/np#rde +nix develop +``` + +**Features:** +- 🔬 Multi-language support (R, Python, Julia) +- 📦 Reproducible with Nix +- 🎨 Neovim-based IDE with LSP support +- 📊 Research-focused workflows +- 🔧 Modular and customizable + +See [templates/rde/README.md](templates/rde/README.md) for full documentation. + +## CI/CD + +All templates are automatically tested to ensure functionality: + +- **Build Tests**: Templates build successfully on Linux and macOS +- **Functionality Tests**: All commands and language support are verified +- **Configuration Tests**: Multiple configurations (R, Python, Julia) are tested +- **Automated Updates**: Dependencies are updated daily via automated PRs + +### CI Workflows + +- `.github/workflows/check.yml` - Comprehensive functionality tests (Ubuntu) +- `.github/workflows/check_macos.yml` - macOS compatibility tests +- `.github/workflows/update.yml` - Automated dependency updates + +## Usage + +1. **Initialize a new project:** + ```bash + nix flake init -t github:dwinkler1/np#rde + ``` + +2. **Enter development environment:** + ```bash + nix develop + # or with direnv + echo "use flake" > .envrc && direnv allow + ``` + +3. **Start working:** + ```bash + p-initProject # Create project structure + p # Launch Neovim + ``` + +## Contributing + +Contributions are welcome! Please ensure: +- All templates pass CI tests +- Documentation is updated for new features +- Code follows existing patterns + +## License + +See [LICENSE](LICENSE) file for details. diff --git a/templates/rde/README.md b/templates/rde/README.md index 5b048ff..c28ac3c 100644 --- a/templates/rde/README.md +++ b/templates/rde/README.md @@ -337,6 +337,36 @@ p-updateDeps # Or check overlays/r.nix for package name ``` +## CI and Testing + +This template is automatically tested on every change to ensure all functionality works correctly. The CI workflow (`.github/workflows/check.yml`) runs comprehensive tests including: + +### Default Configuration Tests (R enabled) +- ✅ Template builds successfully +- ✅ Flake check passes +- ✅ Development shell enters without errors +- ✅ Neovim launches in headless mode +- ✅ R console is available and runs code +- ✅ Utility commands (initProject, updateDeps) are available +- ✅ Project structure creation works correctly + +### Python Configuration Tests +- ✅ Template builds with Python enabled +- ✅ Python commands (p-py, p-ipy, p-initPython) are available +- ✅ Python interpreter launches and executes code + +### Julia Configuration Tests +- ✅ Template builds with Julia enabled +- ✅ Julia commands (p-jl, p-initJl) are available +- ✅ Julia REPL launches and executes code + +The CI runs on: +- Every push to template files (`.nix`, `.sh`, `.lua`, `flake.lock`) +- Every pull request affecting the template +- Manual dispatch for testing + +This ensures that users can confidently use the template knowing that all advertised functionality has been verified. + ## Related Documentation - [REFACTORING.md](REFACTORING.md) - Technical details about the modular structure