Skip to content

Commit c006fbb

Browse files
committed
first commit
0 parents  commit c006fbb

File tree

82 files changed

+9323
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+9323
-0
lines changed

.github/workflows/ghpages.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: ghpages
2+
on:
3+
push:
4+
branches:
5+
- 'main'
6+
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
pages: write
12+
id-token: write
13+
14+
concurrency:
15+
group: "pages"
16+
cancel-in-progress: false
17+
18+
jobs:
19+
build:
20+
name: Build docu
21+
runs-on: ubuntu-latest
22+
timeout-minutes: 90
23+
steps:
24+
- name: Environment
25+
run: env | sort
26+
- uses: actions/checkout@v4
27+
- name: Set up JDK for x64
28+
uses: actions/setup-java@v3
29+
with:
30+
java-version: '21'
31+
distribution: 'temurin'
32+
architecture: x64
33+
- name: Generate
34+
run: ./gradlew asciidoctor
35+
- name: Upload artifact
36+
uses: actions/upload-pages-artifact@v3.0.1
37+
with:
38+
path: ./build/docs/asciidoc
39+
40+
publish-ghpages:
41+
needs: build
42+
runs-on: ubuntu-latest
43+
environment:
44+
name: github-pages
45+
url: ${{ steps.deployment.outputs.page_url }}
46+
steps:
47+
- name: Deploy to GitHub Pages
48+
id: deployment
49+
uses: actions/deploy-pages@v4

.github/workflows/release.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: release
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
version:
6+
description: 'Release version'
7+
required: true
8+
9+
env:
10+
JAVA_VERSION: '21'
11+
JAVA_DISTRO: 'temurin'
12+
13+
jobs:
14+
precheck:
15+
name: Precheck
16+
runs-on: ubuntu-latest
17+
outputs:
18+
VERSION: ${{ steps.vars.outputs.VERSION }}
19+
steps:
20+
- name: Checkout
21+
uses: actions/checkout@v3
22+
23+
- name: Setup Java
24+
uses: actions/setup-java@v3
25+
with:
26+
java-version: ${{ env.JAVA_VERSION }}
27+
distribution: ${{ env.JAVA_DISTRO }}
28+
29+
- name: Build
30+
run: ./gradlew test jsonPlugin
31+
32+
- name: Version
33+
id: vars
34+
shell: bash
35+
run: |
36+
VERSION=${{ github.event.inputs.version }}
37+
sed -i "s/^[#]*\s*version=.*/version=$VERSION/" gradle.properties
38+
git config --global user.email "github-actions[bot]@users.noreply.github.com"
39+
git config --global user.name "GitHub Action"
40+
git commit -a -m "Releasing version $VERSION"
41+
git push origin main
42+
43+
release:
44+
needs: [ precheck ]
45+
runs-on: ubuntu-latest
46+
steps:
47+
- name: Checkout
48+
uses: actions/checkout@v3
49+
with:
50+
ref: main
51+
fetch-depth: 0
52+
53+
- name: Setup Java
54+
uses: actions/setup-java@v3
55+
with:
56+
java-version: ${{ env.JAVA_VERSION }}
57+
distribution: ${{ env.JAVA_DISTRO }}
58+
59+
- name: Build
60+
run: ./gradlew releasePlugin

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Ignore Gradle project-specific cache directory
2+
.gradle
3+
4+
# Ignore Gradle build output directory
5+
build
6+
/.idea/
7+
/.nextflow/
8+
/validation/.nextflow/
9+
/validation/work/
10+
/validation/.nextflow.log
11+
/validation/.nextflow.log.*
12+
/validation/*.db
13+
/validation/*.db.wal

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Changelog
2+

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Incremental Steps Software Solutions
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
# nf-cachebrowser
2+
3+
A Nextflow plugin that provides a web-based interface for visualizing and exploring Nextflow pipeline executions directly in your browser.
4+
5+
[![Nextflow](https://img.shields.io/badge/nextflow-%E2%89%A522.10.0-brightgreen.svg)](https://www.nextflow.io/)
6+
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
7+
[![Version](https://img.shields.io/badge/version-0.0.1-orange.svg)](https://github.com/your-org/nf-cachebrowser/releases)
8+
9+
## Overview
10+
11+
nf-cachebrowser is a powerful Nextflow plugin that allows you to visualize pipeline executions through an intuitive web interface. Monitor your workflows, explore execution details, and analyze pipeline performance without leaving your browser.
12+
13+
## Features
14+
15+
- 🌐 **Web-based Interface** - Access pipeline execution data through a modern web UI
16+
- 📊 **Real-time Monitoring** - Track running pipelines in real-time (only in not blocking supported storages)
17+
- 🔍 **Detailed Execution View** - Explore individual process executions and their outputs
18+
- 📈 **Performance Analytics** - Analyze execution times, resource usage, and bottlenecks
19+
- 🗂️ **Cache Management** - Browse and manage Nextflow work directories and cached results
20+
- 🔄 **Resume Capabilities** - Visualize pipeline resume points and execution flow
21+
- 📱 **Responsive Design** - Works seamlessly on desktop and mobile devices
22+
-
23+
## Quick Start
24+
25+
### Prerequisites
26+
27+
- Nextflow 22.10.0 or later
28+
- Java 8 or later
29+
- Modern web browser
30+
31+
### Installation
32+
33+
Install globally:
34+
35+
```bash
36+
nextflow plugin install nf-cachebrowser
37+
```
38+
39+
### Basic Usage
40+
41+
Start the cache browser server:
42+
43+
```bash
44+
nextflow plugin nf-cachebrowser:run
45+
```
46+
47+
This will launch a web server (default: http://localhost:9999) where you can view your pipeline executions.
48+
49+
Run your pipeline:
50+
51+
```bash
52+
nextflow run your-pipeline.nf
53+
```
54+
55+
## Commands
56+
57+
### Start Server
58+
59+
Launch the web interface server:
60+
61+
```bash
62+
nextflow plugin nf-cachebrowser:run [OPTIONS]
63+
```
64+
65+
Options:
66+
- `--port, -p` - Server port (default: 9999)
67+
- `--directory, -d` - runtime Nextflow directory
68+
69+
### Stop Server
70+
71+
Stop the running server:
72+
73+
```bash
74+
TODO!!! kill the process by the moment
75+
```
76+
77+
## Web Interface
78+
79+
### Dashboard
80+
81+
The main dashboard provides:
82+
- Overview of recent pipeline executions
83+
- Quick access to running pipelines
84+
- System resource usage charts (TODO!!)
85+
- Execution statistics (TODO!!)
86+
87+
### Execution Details
88+
89+
For each pipeline execution, view:
90+
- Execution timeline and progress (TODO!!)
91+
- Process-level execution details
92+
- Resource consumption graphs (TODO!!)
93+
- Log files and error messages (TODO!!)
94+
- Work directory contents
95+
96+
### Tasks Details
97+
98+
99+
### Task Details
100+
101+
102+
## API Endpoints
103+
104+
The plugin also provides a REST API for programmatic access:
105+
106+
- `GET /api/executions` - List all executions
107+
- `GET /api/tasks/{id}` - Get execution details
108+
109+
110+
## Troubleshooting
111+
112+
### Common Issues
113+
114+
**Server won't start:**
115+
- Check if port is already in use
116+
- Verify Java version compatibility
117+
- Check file permissions in work directory
118+
119+
**Browser shows empty data:**
120+
- Ensure directory specified contains a `.nextflow` folder
121+
- Check if execution data exists in work directory
122+
- Verify network connectivity to server
123+
124+
125+
## Development
126+
127+
### Building from Source
128+
129+
```bash
130+
git clone https://github.com/incsteps/nf-cachebrowser.git
131+
cd nf-cachebrowser
132+
./gradlew build
133+
```
134+
135+
### Running Tests
136+
137+
```bash
138+
./gradlew test
139+
```
140+
141+
### Contributing
142+
143+
1. Fork the repository
144+
2. Create a feature branch: `git checkout -b feature/amazing-feature`
145+
3. Commit your changes: `git commit -m 'Add amazing feature'`
146+
4. Push to the branch: `git push origin feature/amazing-feature`
147+
5. Open a Pull Request
148+
149+
## License
150+
151+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
152+
153+
## Support
154+
155+
- 📖 [Documentation](https://github.com/your-org/nf-cachebrowser/wiki)
156+
- 🐛 [Issue Tracker](https://github.com/your-org/nf-cachebrowser/issues)
157+
- 💬 [Discussions](https://github.com/your-org/nf-cachebrowser/discussions)
158+
- 📧 [Email Support](mailto:support@your-org.com)
159+
160+
## Acknowledgments
161+
162+
- [Nextflow](https://www.nextflow.io/) team for the amazing workflow engine
163+
- Contributors and community members
164+
- Beta testers and early adopters
165+
166+
## Changelog
167+
168+
### v0.0.1-rc (2025-05-24)
169+
- Initial release
170+
- Web-based execution visualization
171+
- Real-time monitoring capabilities
172+
- RESTful API endpoints
173+
174+
175+
---
176+
177+
**Made with ❤️ by jagedn and Incremental Steps team**

0 commit comments

Comments
 (0)