mirror of
https://github.com/dwinkler1/np.git
synced 2026-02-19 14:30:59 -05:00
Add comprehensive CI documentation to README files
Co-authored-by: dwinkler1 <22460147+dwinkler1@users.noreply.github.com>
This commit is contained in:
parent
cfccd9a010
commit
0514ba1283
2 changed files with 100 additions and 0 deletions
70
README.md
Normal file
70
README.md
Normal file
|
|
@ -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.
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue