Skip to content

create, manage, and notify your community about your Github workflows with a few clicks

License

Notifications You must be signed in to change notification settings

ChiragAgg5k/flow-forge

Repository files navigation

⚠️ Note: Appwrite is currently facing some outage and because of this, the app might not work as expected. Please check the appwrite status here.

🌟 About

Flow-Forge is your one-stop solution to optimize GitHub workflows. With features like repository orchestration, automated issue management, and streamlined PR reviews, Flow-Forge turns chaotic workflows into seamless clockwork operations.

πŸŽ₯ Demo

demo.mov

πŸ“Ό You can also find our Hackfrost submission video here: https://youtu.be/-FPnJWJPmk8?feature=shared

Successful Implementation of Our Kestra Workflow πŸš€

kestra

πŸš€ Deployment

  • Kestra: Deployed on an Azure Virtual Machine.
  • Flow-Forge Next.js App: Deployed on Vercel.

$~$

πŸ“Š Workflow

kestra

$~$

πŸ“‚ Features

  1. GitHub Workflow Monitoring
    Track workflow statuses (success, failure, in-progress) with GitHub API integration.

  2. Automated Issue Creation
    Automatically generate detailed GitHub issues for failed workflows.

  3. Real-Time Notifications
    Receive instant alerts on Discord and Slack for workflow updates.

  4. Email Notifications
    Detailed workflow failure alerts via email for extended team reach.

  5. Orchestration with Kestra
    Handle multiple repositories and workflows with task automation.

$~$

πŸ› οΈ Setup and Configuration

Prerequisites

  • GitHub PAT: Required for API access.
  • Discord/Slack Webhooks: Notification channels setup.
  • Appwrite: Database and collection setup.
  • Azure VM: Deployment platform for backend services.
  • Node.js & npm: Runtime and package manager.

Installation Steps

  1. Clone Repository

    git clone https://github.com/ChiragAgg5k/flow-forge
    cd flow-forge
  2. Install Dependencies

    pnpm install
  3. Configure Environment Variables Add a .env.local file with:

    NEXT_PUBLIC_APPWRITE_PROJECT_ID = <your_project_id>
    NEXT_PUBLIC_APPWRITE_DATABASE_ID = <your_database_id>
    NEXT_PUBLIC_APPWRITE_COLLECTION_ID = <your_collection_id>
    
    NEXT_PUBLIC_GITHUB_TOKEN = <your_token>
    
    GROQ_API_KEY = <your_key>
    
  4. Build Application

    pnpm build
  5. Deploy on Azure VM

    • Follow the instructors on Kestra.io on how to deploy Kestra on Azure VM, and replace the public IP address for it in the code. You can find the workflow file here. $~$

πŸ“‘ Documentation Highlights

CI/CD Manager Overview

Flow-Forge simplifies continuous integration and delivery with:

  • Workflow status tracking.
  • Automated notifications.
  • Intuitive dashboard interfaces.

Workflow

Key Features

  • GitHub Issue Automation
    Automates logging failed workflows.

  • Discord and Slack Integration
    Real-time alerts for quick issue resolution.

  • Kestra Workflow Integration
    Visual workflow design for managing orchestration tasks.

$~$

πŸ› οΈ VS Code Integration

Features

Notifications

  • Receive real-time updates about Kestra workflows (success or failure) directly in VS Code.

Logs

  • Access detailed workflow logs in the "Kestra Logs" output channel.

Commands

  • Execute tasks like fetching GitHub workflows or creating issues, all from within VS Code.

Benefits

  • Reduces Context Switching: Stay within the VS Code environment without jumping between tools.
  • Simplifies Monitoring and Debugging: View detailed logs and workflow statuses effortlessly.
  • Keeps Developers Focused: All workflow management features are seamlessly integrated into your IDE.

How It Works

Kestra Workflow

  • Sends HTTP requests to the VS Code extension:
    • /notify: Sends notifications about workflow statuses.
    • /logs: Sends execution logs.

VS Code Extension

  • Displays updates in real-time, enabling seamless workflow management directly within the IDE.

$~$

πŸ“„ License

This project is licensed under the MIT License.
You can find the full text of the license here.

$~$

⏱️ Monitor the Uptime of our App

To keep track of the uptime and status of Flow Forge, visit Uptime Monitoring.

App Status Loader

πŸ§‘β€πŸ€β€πŸ§‘ Our List of Contributors

πŸ“§ Contact

About

create, manage, and notify your community about your Github workflows with a few clicks

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published