{"id":40865984,"url":"https://github.com/codelabsab/workflow-manager","last_synced_at":"2026-01-22T00:18:48.531Z","repository":{"id":196962078,"uuid":"561346553","full_name":"codelabsab/workflow-manager","owner":"codelabsab","description":"A web app to schedule github action workflows","archived":false,"fork":false,"pushed_at":"2024-04-10T08:11:17.000Z","size":825,"stargazers_count":7,"open_issues_count":4,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-04-14T04:10:16.629Z","etag":null,"topics":["github-actions","github-workflows","nextjs"],"latest_commit_sha":null,"homepage":"https://workflow-manager.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codelabsab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-11-03T13:50:18.000Z","updated_at":"2024-04-15T18:53:45.108Z","dependencies_parsed_at":"2023-09-28T12:51:35.155Z","dependency_job_id":"d21c72a3-227d-4a2a-885f-a6b470123da6","html_url":"https://github.com/codelabsab/workflow-manager","commit_stats":null,"previous_names":["codelabsab/workflow-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codelabsab/workflow-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelabsab%2Fworkflow-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelabsab%2Fworkflow-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelabsab%2Fworkflow-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelabsab%2Fworkflow-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codelabsab","download_url":"https://codeload.github.com/codelabsab/workflow-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codelabsab%2Fworkflow-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28648000,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T21:29:11.980Z","status":"ssl_error","status_checked_at":"2026-01-21T21:24:31.872Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-actions","github-workflows","nextjs"],"created_at":"2026-01-22T00:18:47.741Z","updated_at":"2026-01-22T00:18:48.526Z","avatar_url":"https://github.com/codelabsab.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Workflow Manager\n\n :warning: **This project isn't being actively maintained.** \n \n  If you're interested in helping out maintaining, please write [in this discussion](https://github.com/codelabsab/workflow-manager/discussions/233)\n\nHello there! 👋\n\nThank you for taking the time to check out this project. \n\nLooking to contribute? Great! Please read the [contribution guidelines](docs/CONTRIBUTING.md) first.\n\nDo you use github actions? Maybe you use it to run workflows that should do something at a specific date and time.\n\nThis is an app that will be able to dynamically import and schedule GitHub workflows.\n\n## Features\n\n- Github integration\n  - Authentication\n  - Importing repositories and workflows\n  - Triggering workflows  \n\n## Getting started\n\n### Quick start local development\n\nThe repository comes with a local `docker-compose` that can be used for development.\n\n1. Start ngrok to handle incoming webhooks from GitHub. [See the development readme for more details](docs/DEVELOPMENT.md#ngrok)\n\n    ```bash\n    ngrok http 3000\n    ```\n\n2. [Create the GitHub App](docs/DEVELOPMENT.md#creating-the-github-app)\n3. Copy [example env file](./.env-example) and update the values needed\n\n    ```bash\n    cp .env-example .env\n    ```\n\n4. Build and start the local docker compose containers\n\n    ```bash\n    docker compose up --build -d\n    ```\n\n5. Push the database schema to the database\n\n    ```bash\n    docker compose exec frontend npx prisma db push\n    ```\n\nNow you should be able to browse to \u003chttp://localhost:3000\u003e\n\n## Architecture\n\nThe application is built using Typescript, [Next.js](https://nextjs.org/), [tRPC](https://trpc.io/), [tailwindcss](https://tailwindcss.com/), and [Prisma](https://www.prisma.io/).\n\nAuthentication is done with [NextAuth.js](https://next-auth.js.org/) and using GitHub as the main [Provider](https://next-auth.js.org/providers/github).\n\nThe application relies on incoming webhooks to receive events from GitHub. To solve this when developing locally behind a NAT router we have used [ngrok](https://ngrok.com/). *Note that ngrok is not a requirement but one of many webhook development tools.*\n\n### Scheduling\n\nThe code that handles the scheduling at the moment quite simple.\n\n1. First we have a special private api endpoint that will find all of the scheduled workflows that should be fired in github at the current point in time.\n2. The second part consist of some small script that will make a http request to that endpoint every minute.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelabsab%2Fworkflow-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodelabsab%2Fworkflow-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodelabsab%2Fworkflow-manager/lists"}