{"id":31642186,"url":"https://github.com/thre4dripper/reusable-atomic-workflows","last_synced_at":"2026-04-18T12:03:40.253Z","repository":{"id":315800761,"uuid":"1058742240","full_name":"Thre4dripper/Reusable-Atomic-Workflows","owner":"Thre4dripper","description":"A comprehensive collection of reusable GitHub Actions workflows for modern development - CI/CD, quality checks, documentation generation, and deployment automation.","archived":false,"fork":false,"pushed_at":"2025-09-20T20:25:33.000Z","size":88,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-20T21:09:42.704Z","etag":null,"topics":["actions","atomic","reusable","workflows"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Thre4dripper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-17T13:43:48.000Z","updated_at":"2025-09-20T20:25:36.000Z","dependencies_parsed_at":"2025-09-20T21:09:56.673Z","dependency_job_id":null,"html_url":"https://github.com/Thre4dripper/Reusable-Atomic-Workflows","commit_stats":null,"previous_names":["thre4dripper/reusable-atomic-workflows"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Thre4dripper/Reusable-Atomic-Workflows","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thre4dripper%2FReusable-Atomic-Workflows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thre4dripper%2FReusable-Atomic-Workflows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thre4dripper%2FReusable-Atomic-Workflows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thre4dripper%2FReusable-Atomic-Workflows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Thre4dripper","download_url":"https://codeload.github.com/Thre4dripper/Reusable-Atomic-Workflows/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thre4dripper%2FReusable-Atomic-Workflows/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278717448,"owners_count":26033542,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["actions","atomic","reusable","workflows"],"created_at":"2025-10-07T03:57:03.321Z","updated_at":"2025-10-07T03:57:14.709Z","avatar_url":"https://github.com/Thre4dripper.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔄 Reusable GitHub Actions Workflows\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![GitHub stars](https://img.shields.io/github/stars/Thre4dripper/Reusable-Atomic-Workflows?style=social)](https://github.com/Thre4dripper/Reusable-Atomic-Workflows/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/Thre4dripper/Reusable-Atomic-Workflows?style=social)](https://github.com/Thre4dripper/Reusable-Atomic-Workflows/network/members)\n\nA comprehensive collection of reusable GitHub Actions workflows designed to\nstreamline CI/CD processes across projects. These workflows are built with best\npractices in mind and can be easily integrated into any repository.\n\n## 📋 Table of Contents\n\n- [About](#about)\n- [Available Workflows](#available-workflows)\n- [Quick Start](#quick-start)\n- [Folder Structure](#folder-structure)\n- [Usage Examples](#usage-examples)\n- [Contributing](#contributing)\n- [Security](#security)\n- [License](#license)\n- [Support](#support)\n\n## 🚀 About\n\nThis repository contains a curated collection of reusable GitHub Actions\nworkflows that can help you:\n\n- ⚡ **Speed up development** with pre-built CI/CD pipelines\n- 🔒 **Enhance security** with automated security checks\n- 📊 **Improve code quality** with automated testing and linting\n- 🚀 **Streamline deployments** with reliable deployment workflows\n- 🔧 **Standardize processes** across multiple repositories\n\nAll workflows are designed to be:\n\n- **Modular**: Easy to customize for specific needs\n- **Secure**: Following security best practices\n- **Efficient**: Optimized for performance and cost\n- **Well-documented**: Clear usage instructions and examples\n\n\u003c!-- BEGIN: Available Workflows Section --\u003e\n## 📦 Available Workflows\n\n\u003c!-- AUTO-GENERATED CONTENT - DO NOT EDIT MANUALLY --\u003e\n\u003c!-- This section is automatically updated by the documentation generator --\u003e\n\n\u003e ⚡ **Auto-Generated** ⚡\n\u003e \n\u003e This section is automatically updated whenever workflows are added, modified, or removed.\n\u003e The documentation reflects the current state of all reusable workflows in this repository.\n\n### 🧪 Testing\n\n| Workflow Name | Description | Inputs | Outputs | Secrets |\n|:-------------|:------------|:-------|:--------|:--------|\n| **[Unit Tests Worker](./.github/workflows/test-unit.yml)** | This workflow runs unit tests using a specified\u003cbr\u003epackage manager and commands. | `package-manager`\u003cbr\u003e`test-command`\u003cbr\u003e`coverage-command` | *None* | *None* |\n\n### 🔧 Code Quality\n\n| Workflow Name | Description | Inputs | Outputs | Secrets |\n|:-------------|:------------|:-------|:--------|:--------|\n| **[TypeScript Type Checker](./.github/workflows/quality-typecheck.yml)** | This workflow checks TypeScript types using a\u003cbr\u003especified package manager. | `package-manager` | *None* | *None* |\n| **[Sonar Analysis](./.github/workflows/quality-sonarqube.yml)** | This workflow uses the SonarQube GitHub Action to\u003cbr\u003eperform code analysis with SonarQube Cloud. | *None* | *None* | `sonar-token`\u003cbr\u003e`workflow-token` |\n| **[Qodana](./.github/workflows/quality-qodana-code.yml)** | This workflow uses the Qodana GitHub Action to\u003cbr\u003eperform code analysis with Qodana Cloud. | `qodana-endpoint` | *None* | `qodana-token` |\n| **[Lint Checker](./.github/workflows/quality-lint.yml)** | This workflow checks linting using a specified\u003cbr\u003epackage manager and command. | `package-manager`\u003cbr\u003e`lint-check-command` | *None* | *None* |\n| **[Code Formatter](./.github/workflows/quality-format.yml)** | This workflow checks and applies code formatting\u003cbr\u003eusing a specified package manager and commands. | `package-manager`\u003cbr\u003e`format-check-command`\u003cbr\u003e`format-fix-command` | *None* | `workflow-token` |\n\n### 🚀 Deployment\n\n| Workflow Name | Description | Inputs | Outputs | Secrets |\n|:-------------|:------------|:-------|:--------|:--------|\n| **[EC2 Deployment](./.github/workflows/deploy-node-ec2.yml)** | Deploys a Node.js application to AWS EC2 using\u003cbr\u003eSSH with build verification | `node-version`\u003cbr\u003e`package-manager`\u003cbr\u003e`install-command`\u003cbr\u003e`build-command`\u003cbr\u003e`build-output-dir`\u003cbr\u003e`repository-url`\u003cbr\u003e`deploy-directory`\u003cbr\u003e`pm2-app-name`\u003cbr\u003e`pre-deploy-cleanup` | *None* | `ssh-private-key`\u003cbr\u003e`ec2-public-ip`\u003cbr\u003e`env-file` |\n| **[Build Release APK](./.github/workflows/build-release-apk.yml)** | Generate a release APK for an Android project\u003cbr\u003eusing customizable inputs. | `java-version`\u003cbr\u003e`java-distribution`\u003cbr\u003e`gradle-cache`\u003cbr\u003e`checkout-ref`\u003cbr\u003e`secret-files-artifact-name`\u003cbr\u003e`secret-files-path`\u003cbr\u003e`gradle-build-command`\u003cbr\u003e`apk-output-path`\u003cbr\u003e`artifact-name`\u003cbr\u003e`artifact-retention-days`\u003cbr\u003e`should-build-condition`\u003cbr\u003e`include-additional-files`\u003cbr\u003e`additional-files-path` | *None* | `release-store-password`\u003cbr\u003e`release-key-alias`\u003cbr\u003e`release-key-password` |\n| **[Build Debug APK](./.github/workflows/build-debug-apk.yml)** | Generate a debug APK for an Android project using\u003cbr\u003ecustomizable inputs. | `java-version`\u003cbr\u003e`java-distribution`\u003cbr\u003e`gradle-cache`\u003cbr\u003e`checkout-ref`\u003cbr\u003e`secret-files-artifact-name`\u003cbr\u003e`secret-files-path`\u003cbr\u003e`gradle-build-command`\u003cbr\u003e`apk-output-path`\u003cbr\u003e`artifact-name`\u003cbr\u003e`artifact-retention-days` | *None* | *None* |\n\n\u003c!-- END: Available Workflows Section --\u003e\n\n\u003c!-- BEGIN: Workflows Folder Structure Section --\u003e\n## 🏗️ Workflows Folder Structure\n\n\u003c!-- AUTO-GENERATED CONTENT - DO NOT EDIT MANUALLY --\u003e\n\u003c!-- This section is automatically updated by the documentation generator --\u003e\n\n\u003e ⚡ **Auto-Generated** ⚡\n\u003e \n\u003e This folder structure is automatically scanned and updated to reflect the current repository layout.\n\u003e It shows all workflows and actions with their types (reusable/internal).\n\n```\n.github/\n├── workflows/          # GitHub Actions Workflows\n│   ├── # ⚙️ Internal\n│   ├── _docs.yml (internal)\n│   ├── _format.yml (internal)\n│   │\n│   ├── # 🚀 Deployment\n│   ├── build-debug-apk.yml (reusable)\n│   ├── build-release-apk.yml (reusable)\n│   ├── deploy-node-ec2.yml (reusable)\n│   │\n│   ├── # 🔧 Code Quality\n│   ├── quality-format.yml (reusable)\n│   ├── quality-lint.yml (reusable)\n│   ├── quality-qodana-code.yml (reusable)\n│   ├── quality-sonarqube.yml (reusable)\n│   ├── quality-typecheck.yml (reusable)\n│   │\n│   ├── # 🧪 Testing\n│   ├── test-unit.yml (reusable)\n└── actions/            # Custom Composite Actions\n    └── web-dependencies-setup/\n        └── action.yml\n```\n\u003c!-- END: Workflows Folder Structure Section --\u003e\n\n\n\n## ⚡ Quick Start\n\n### Using a Reusable Workflow\n\n1. **Create a workflow file** in your repository at `.github/workflows/`\n2. **Reference the reusable workflow** using the following syntax:\n\n```yaml\nname: CI Pipeline\non:\n  push:\n    branches: [main, develop]\n  pull_request:\n    branches: [main]\n\njobs:\n  build-and-test:\n  uses: Thre4dripper/Reusable-Atomic-Workflows/.github/workflows/build-test-lint.yml@main\n    with:\n      node-version: '18'\n      run-tests: true\n      run-lint: true\n    secrets:\n      token: ${{ secrets.GITHUB_TOKEN }}\n```\n\n### Workflow Input Parameters\n\nEach workflow accepts various input parameters to customize behavior:\n\n```yaml\n# Example with all common parameters\njobs:\n  my-job:\n  uses: Thre4dripper/Reusable-Atomic-Workflows/.github/workflows/[workflow-name].yml@main\n    with:\n      # Environment settings\n      environment: 'production'\n\n      # Language/Framework specific\n      node-version: '18'\n      python-version: '3.9'\n      java-version: '11'\n\n      # Feature flags\n      run-tests: true\n      run-lint: true\n      generate-coverage: true\n\n      # Deployment settings\n      deploy-environment: 'staging'\n      docker-registry: 'ghcr.io'\n```\n\n## 📖 Usage Examples\n\n### Example 1: Node.js Application CI/CD\n\n```yaml\nname: Node.js CI/CD\non:\n  push:\n    branches: [main]\n  pull_request:\n    branches: [main]\n\njobs:\n  test-and-build:\n  uses: Thre4dripper/Reusable-Atomic-Workflows/.github/workflows/build-test-lint.yml@main\n    with:\n      node-version: '18'\n      package-manager: 'npm'\n      run-tests: true\n      run-lint: true\n      generate-coverage: true\n    secrets:\n      token: ${{ secrets.GITHUB_TOKEN }}\n      codecov-token: ${{ secrets.CODECOV_TOKEN }}\n```\n\n### Example 2: Docker Multi-Platform Build\n\n```yaml\nname: Docker Build and Publish\non:\n  release:\n    types: [published]\n\njobs:\n  docker-build:\n  uses: Thre4dripper/Reusable-Atomic-Workflows/.github/workflows/docker-publish.yml@main\n    with:\n      image-name: 'my-app'\n      platforms: 'linux/amd64,linux/arm64'\n      push-to-registry: true\n    secrets:\n      registry-username: ${{ secrets.DOCKER_USERNAME }}\n      registry-password: ${{ secrets.DOCKER_PASSWORD }}\n```\n\n### Example 3: Security Scanning\n\n```yaml\nname: Security Scan\non:\n  schedule:\n    - cron: '0 2 * * 1' # Weekly on Monday at 2 AM\n  push:\n    branches: [main]\n\njobs:\n  security-check:\n  uses: Thre4dripper/Reusable-Atomic-Workflows/.github/workflows/security-scan.yml@main\n    with:\n      scan-type: 'full'\n      fail-on-severity: 'high'\n    secrets:\n      github-token: ${{ secrets.GITHUB_TOKEN }}\n      snyk-token: ${{ secrets.SNYK_TOKEN }}\n```\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md)\nfor details on how to:\n\n- 🐛 Report bugs\n- 💡 Suggest new workflows\n- 🔧 Submit improvements\n- 📝 Improve documentation\n\n### Quick Contribution Steps\n\n1. **Fork the repository**\n2. **Create a feature branch**: `git checkout -b feature/new-workflow`\n3. **Make your changes** following our coding standards\n4. **Test your workflow** thoroughly\n5. **Submit a pull request** with a clear description\n\n## 🔒 Security\n\nSecurity is a top priority. If you discover a security vulnerability, please see\nour [Security Policy](SECURITY.md) for responsible disclosure guidelines.\n\n### Security Features\n\n- 🔐 **Secret scanning** in all workflows\n- 🛡️ **Dependency vulnerability checking**\n- 📋 **Security-first defaults**\n- 🔍 **Regular security audits**\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file\nfor details.\n\n## 🆘 Support\n\n- 📖 **Documentation**: Check our workflow-specific README files\n- 🐛 **Issues**:\n  [Report bugs or request features](https://github.com/Thre4dripper/Reusable-Atomic-Workflows/issues)\n- 💬 **Discussions**:\n  [Join community discussions](https://github.com/Thre4dripper/Reusable-Atomic-Workflows/discussions)\n- ⭐ **Star the repo** if you find it useful!\n\n## 🙏 Acknowledgments\n\n- GitHub Actions team for the amazing platform\n- Open source community for inspiration and best practices\n- Contributors who help improve these workflows\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**[⬆ Back to Top](#-reusable-github-actions-workflows)**\n\nMade with ❤️ by [Ijlal Ahmad](https://github.com/Thre4dripper)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthre4dripper%2Freusable-atomic-workflows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthre4dripper%2Freusable-atomic-workflows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthre4dripper%2Freusable-atomic-workflows/lists"}