{"id":49364047,"url":"https://github.com/nisalgunawardhana/github-actions-learning","last_synced_at":"2026-04-27T18:07:49.060Z","repository":{"id":331576674,"uuid":"1127127181","full_name":"nisalgunawardhana/github-actions-learning","owner":"nisalgunawardhana","description":"This repository is designed to help beginners understand GitHub Actions through simple, practical examples. It covers the fundamentals of CI/CD, workflow structure, triggers, jobs, and steps, with hands-on sample workflows.","archived":false,"fork":false,"pushed_at":"2026-01-10T06:04:58.000Z","size":962,"stargazers_count":16,"open_issues_count":3,"forks_count":18,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-11T01:44:37.873Z","etag":null,"topics":["automation","build-and-deploy","cd-examples","cicd-pipeline","devops-basics","github-actions","github-actions-for-beginners","github-actions-learning","github-actions-tutorial","github-workflows","workflow-automation","yaml-workflows"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/nisalgunawardhana.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-03T08:28:40.000Z","updated_at":"2026-01-10T14:57:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nisalgunawardhana/github-actions-learning","commit_stats":null,"previous_names":["nisalgunawardhana/github-actions-learning"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/nisalgunawardhana/github-actions-learning","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisalgunawardhana%2Fgithub-actions-learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisalgunawardhana%2Fgithub-actions-learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisalgunawardhana%2Fgithub-actions-learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisalgunawardhana%2Fgithub-actions-learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nisalgunawardhana","download_url":"https://codeload.github.com/nisalgunawardhana/github-actions-learning/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nisalgunawardhana%2Fgithub-actions-learning/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32348088,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T17:12:42.749Z","status":"ssl_error","status_checked_at":"2026-04-27T17:12:41.658Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["automation","build-and-deploy","cd-examples","cicd-pipeline","devops-basics","github-actions","github-actions-for-beginners","github-actions-learning","github-actions-tutorial","github-workflows","workflow-automation","yaml-workflows"],"created_at":"2026-04-27T18:07:47.991Z","updated_at":"2026-04-27T18:07:49.051Z","avatar_url":"https://github.com/nisalgunawardhana.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 GitHub Actions Learning Repository\n\nWelcome to your hands-on learning journey with **GitHub Actions**! This repository is designed for beginners and intermediate developers who want to master CI/CD automation.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"images/banner.png\" alt=\"GitHub for Beginners banner\" /\u003e\n\u003c/p\u003e\n\n[![Follow me on GitHub](https://img.shields.io/github/followers/nisalgunawardhana?label=Follow\u0026style=social)](https://github.com/nisalgunawardhana)\n[![Star this repo](https://img.shields.io/github/stars/nisalgunawardhana/github-actions-learnin?style=social)](https://github.com/nisalgunawardhana/github-actions-learning/stargazers)\n\n## 📚 What You'll Learn\n\n- ✅ GitHub Actions fundamentals (workflows, jobs, steps)\n- ✅ Automating builds and tests\n- ✅ CI/CD pipeline creation\n- ✅ Deploying applications to Azure App Service\n- ✅ Working with secrets and environment variables\n- ✅ Real-world workflow examples\n\n## 🎯 Target Audience\n\n- Beginners to CI/CD\n- Developers wanting to automate their workflows\n- Students learning DevOps practices\n- Anyone interested in GitHub Actions\n\n## 📋 Prerequisites \u0026 Setup\n\n### Requirements\n- A GitHub account\n- Git installed locally\n- Node.js v16+ installed\n- (Optional) Azure account for deployment tasks\n\n### Quick Setup (5 minutes)\n\n1. **Fork this repository**\n   ```bash\n   # Click \"Fork\" button on GitHub\n   ```\n\n2. **Clone your fork**\n   ```bash\n   git clone https://github.com/YOUR-USERNAME/github-actions-learning.git\n   cd github-actions-learning\n   ```\n\n3. **Install dependencies for sample app**\n   ```bash\n   cd sample-app\n   npm install\n   npm start\n   ```\n   Visit `http://localhost:3000` - you should see the welcome page!\n\n4. **Run tests locally**\n   ```bash\n   npm test\n   ```\n   All tests should pass ✅\n\n---\n\n## 📚 Learning Content \u0026 Documentation\n\n### 1️⃣ Start Here: Quick Start (5 minutes)\n\n**Getting started immediately:**\n- Fork the repository\n- Clone: `git clone https://github.com/YOUR-USERNAME/github-actions-learning.git`\n- Install: `cd sample-app \u0026\u0026 npm install`\n- Run: `npm start` (visit http://localhost:3000)\n- Test: `npm test`\n\n### 2️⃣ Read Documentation (45-60 minutes)\n\nGo through these in order in the `docs/` folder:\n\n1. [01-what-is-github-actions.md](docs/01-what-is-github-actions.md) - Concepts \u0026 basics (10 min)\n2. [02-workflow-basics.md](docs/02-workflow-basics.md) - YAML syntax \u0026 structure (15 min)\n3. [03-triggers-and-events.md](docs/03-triggers-and-events.md) - When workflows run (10 min)\n4. [04-jobs-and-steps.md](docs/04-jobs-and-steps.md) - Execution model (15 min)\n5. [05-secrets-and-env.md](docs/05-secrets-and-env.md) - Security \u0026 configuration (10 min)\n6. [06-build-and-test.md](docs/06-build-and-test.md) - CI/CD patterns (15 min)\n7. [07-deploy-to-azure.md](docs/07-deploy-to-azure.md) - Cloud deployment (10 min)\n\n### 3️⃣ Complete All Tasks (2-4 hours)\n\nFollow [TASKS.md](TASKS.md) for 10+ hands-on exercises organized by difficulty:\n\n| Level | Tasks | Time | Skills |\n|-------|-------|------|--------|\n| 🌟 **Beginner** | 1-3 | 30 min | Fundamentals \u0026 basics |\n| ⭐⭐ **Intermediate** | 4-7 | 1-2 hours | Workflow creation \u0026 automation |\n| ⭐⭐⭐ **Advanced** | 8-10 | 2-3 hours | Production-ready patterns |\n\n### 4️⃣ Example Workflows\n\nThree production-ready workflows to learn from:\n\n- **[hello-world.yml](.github/workflows/hello-world.yml)** - Basic workflow, manual triggers\n- **[build-test.yml](.github/workflows/build-test.yml)** - CI/CD pipeline with matrix testing\n- **[deploy-azure-app-service.yml](.github/workflows/deploy-azure-app-service.yml)** - Production deployment\n\n---\n\n## 🏅 Earn Digital Badges\n\nComplete tasks at each level and submit your work to earn prestigious badges!\n\n### 🌟 Beginner Badge\n**Complete Tasks 1-3**\n\n**Steps:**\n1. Complete all Beginner tasks in [TASKS.md](TASKS.md#beginner-tasks-)\n2. Take screenshots of successful workflow runs\n3. Fork the repo → Create branch `working-beginner-yourname`\n4. Create file `.github/submissions/beginner-yourname.md` with evidence\n5. Commit → Push → Create Pull Request\n6. Submit link via [🎖️ Badge Submission issue](.github/ISSUE_TEMPLATE/badge_submission.md) (select \"Beginner\")\n7. Automatic labels applied: `submission`, `beginner`, `pending-review`\n8. Auto-assigned to reviewer for approval\n\n**Proof needed:**\n- Task 1: Hello World workflow running ✅\n- Task 2: Workflow triggered by push event ✅\n- Task 3: Local tests passing with npm test ✅\n\n---\n\n### ⭐⭐ Intermediate Badge\n**Complete Tasks 4-7**\n\n**Steps:**\n1. Complete all Intermediate tasks in [TASKS.md](TASKS.md#intermediate-tasks-)\n2. Gather workflow execution screenshots and logs\n3. Fork the repo → Create branch `working-intermediate-yourname`\n4. Create file `.github/submissions/intermediate-yourname.md` with evidence\n5. Commit → Push → Create Pull Request\n6. Submit link via [🎖️ Badge Submission issue](.github/ISSUE_TEMPLATE/badge_submission.md) (select \"Intermediate\")\n7. Automatic labels applied: `submission`, `intermediate`, `pending-review`\n8. Auto-assigned to reviewer for approval\n\n**Proof needed:**\n- Task 4: Custom workflow running on develop branch ✅\n- Task 5: Environment variables displaying in logs ✅\n- Task 6: GitHub secrets access (masked in logs) ✅\n- Task 7: Matrix testing across 3 Node versions in parallel ✅\n\n---\n\n### ⭐⭐⭐ Advanced Badge\n**Complete Tasks 8-10**\n\n**Steps:**\n1. Complete all Advanced tasks in [TASKS.md](TASKS.md#advanced-tasks-)\n2. Gather comprehensive screenshots and workflow logs\n3. Fork the repo → Create branch `working-advanced-yourname`\n4. Create file `.github/submissions/advanced-yourname.md` with evidence\n5. Commit → Push → Create Pull Request\n6. Submit link via [🎖️ Badge Submission issue](.github/ISSUE_TEMPLATE/badge_submission.md) (select \"Advanced\")\n7. Automatic labels applied: `submission`, `advanced`, `pending-review`\n8. Auto-assigned to reviewer for approval\n\n**Proof needed:**\n- Task 8: Artifacts uploaded \u0026 downloaded between jobs ✅\n- Task 9: Conditional execution (deploy on main only) ✅\n- Task 10: PR created with template \u0026 issue using template ✅\n\n---\n\n## 🎯 Submission Process Simplified\n\n### One Simple Way to Submit\n\n1. **Fork the repo** (click Fork button)\n\n2. **Clone your fork**\n   ```bash\n   git clone https://github.com/YOUR-USERNAME/github-actions-learning.git\n   cd github-actions-learning\n   ```\n\n3. **Create working branch** (use this naming: `working-\u003clevel\u003e-\u003cyourname\u003e`)\n   ```bash\n   git checkout -b working-beginner-john\n   ```\n\n4. **Complete your tasks** from TASKS.md and gather evidence (screenshots)\n\n5. **Create submission file** in `.github/submissions/`\n   ```bash\n   # Create this folder if it doesn't exist\n   mkdir -p .github/submissions\n   \n   # Create file: beginner-john.md (for Beginner)\n   # or: intermediate-john.md (for Intermediate)\n   # or: advanced-john.md (for Advanced)\n   ```\n\n6. **Add evidence to your file** (screenshots, workflow links, etc.)\n\n7. **Commit your changes**\n   ```bash\n   git add .github/submissions/beginner-john.md\n   git commit -m \"feat: add beginner badge submission\"\n   git push origin working-beginner-john\n   ```\n\n8. **Create Pull Request** on GitHub with your branch\n\n9. **Submit Tracking Issue** via [🎖️ Badge Submission](https://github.com/YOUR-USERNAME/your-repo/issues/new?assignees=nisalgunawardhana\u0026labels=submission%2Cpending-review\u0026template=badge_submission.md\u0026title=Badge+Submission)\n   - Select your level (Beginner/Intermediate/Advanced)\n   - Paste your PR link\n   - Labels \u0026 assignment happen automatically!\n\n**That's it!** 🎉 Automatic labels and assignment handle the rest.\n\n---\n\n## ✅ What Happens After Submission\n\n| Step | Automatic | Manual |\n|------|-----------|--------|\n| **Level Selection** | N/A | You choose in issue |\n| **Labels Added** | ✅ Auto (submission + level) | N/A |\n| **Assignment** | ✅ Auto (@nisalgunawardhana) | N/A |\n| **Review** | Manual (2-5 days) | Reviewer checks evidence |\n| **Feedback** | Comments on PR | If revisions needed |\n| **Approval** | Issue closed | Badge awarded! 🏅 |\n\n---\n\n## 📋 Submission File Template\n\nCreate a simple markdown file with your evidence:\n\n```markdown\n# Beginner Badge Submission - Your Name\n\n**Date:** January 2026\n**Status:** Submitted for Review\n\n## Tasks Completed\n\n- [x] Task 1: Run Your First Workflow\n- [x] Task 2: Understand Workflow Triggers\n- [x] Task 3: Build and Test Locally\n\n## Evidence\n\n### Task 1: Hello World Workflow\n[Screenshot showing successful workflow run]\n\n### Task 2: Push Trigger\n[Screenshot showing workflow triggered automatically on push]\n\n### Task 3: Local Tests\n[Screenshot showing npm test output - all passing]\n\n## Notes\nAny challenges faced or additional context.\n\n---\n\nSubmitted \u0026 ready for review! ✅\n```\n\nThat's all you need! No complex templates, just clear evidence.\n\n---\n\n## 🗂️ Repository Structure\n\n```\ngithub-actions-learning/\n├── README.md                          # Main guide (this file)\n├── TASKS.md                           # All learning tasks (10+)\n├── CONTRIBUTING.md                    # How to contribute\n├── LICENSE                            # MIT License\n│\n├── docs/                              # Learning documentation\n│   ├── 01-what-is-github-actions.md\n│   ├── 02-workflow-basics.md\n│   ├── 03-triggers-and-events.md\n│   ├── 04-jobs-and-steps.md\n│   ├── 05-secrets-and-env.md\n│   ├── 06-build-and-test.md\n│   └── 07-deploy-to-azure.md\n│\n├── images/                            # Digital badges\n│   ├── Beginner.png\n│   ├── Intermediate.png\n│   └── Advanced.png\n│\n├── .github/\n│   ├── workflows/                     # Example workflows\n│   │   ├── hello-world.yml\n│   │   ├── build-test.yml\n│   │   └── deploy-azure-app-service.yml\n│   ├── submissions/                   # Your badge submissions go here\n│   ├── ISSUE_TEMPLATE/\n│   │   ├── badge_submission.md        # 🎖️ Submit badge (auto-labels \u0026 assigns!)\n│   │   ├── bug_report.md              # Report bugs\n│   │   ├── feature_request.md         # Suggest improvements\n│   │   ├── documentation.md           # Improve docs\n│   │   └── question.md                # Ask questions\n│   └── PULL_REQUEST_TEMPLATE.md       # PR template\n│\n└── sample-app/                        # Sample Node.js app\n    ├── src/server.js\n    ├── tests/server.test.js\n    ├── package.json\n    └── README.md\n```\n\n---\n\n## 🔄 Learning \u0026 Development Workflow\n\n### For Self-Paced Learning\n\n1. **Preparation** (5 min)\n   - Fork repository\n   - Clone to your machine\n   - Setup sample app\n\n2. **Study** (45-60 min)\n   - Read documentation in docs/ folder\n   - Understand concepts\n   - Review example workflows\n\n3. **Practice** (2-4 hours)\n   - Complete TASKS.md exercises\n   - Run workflows\n   - Modify and experiment\n\n4. **Submit** (10 min)\n   - Create submission file with evidence\n   - Push to GitHub\n   - Create PR and submit tracking issue\n   - Auto-labels and auto-assigns!\n\n5. **Review** (2-5 days)\n   - Reviewer checks your work\n   - Feedback if needed\n   - Badge awarded! 🏅\n\n### For Team/Classroom Use\n\n1. **Setup**\n   - Clone this repository to your organization\n   - Share link with team/students\n\n2. **Students Fork \u0026 Learn**\n   - Each student forks the repo\n   - Creates `working-*` branch\n   - Completes tasks locally\n\n3. **Submit via PR**\n   - Creates submission file\n   - Opens PR on main repo\n   - Submits tracking issue with level selection\n\n4. **Auto-Organization**\n   - Labels apply automatically (`submission`, `beginner`/`intermediate`/`advanced`)\n   - Assignment automatic\n   - Reviewers can focus on quality\n\n5. **Feedback \u0026 Approval**\n   - Reviewer provides feedback\n   - Student makes revisions if needed\n   - Badge awarded on approval\n\n---\n\n## 🎓 Complete Task List\n\n### 🌟 Beginner Tasks (30 min total)\n\n| # | Task | Time | What You Learn |\n|-|------|------|---|\n| 1 | [Run Your First Workflow](TASKS.md#task-1-run-your-first-workflow) | 5 min | Trigger workflows manually, read logs |\n| 2 | [Understand Workflow Triggers](TASKS.md#task-2-understand-workflow-triggers) | 10 min | Automatic triggers on push |\n| 3 | [Build and Test Locally](TASKS.md#task-3-build-and-test-locally) | 15 min | Run app \u0026 tests locally |\n\n**Submit:** [🎖️ Beginner Badge Issue](.github/ISSUE_TEMPLATE/badge_submission.md) → Select \"Beginner\" → Auto-labels \u0026 assigns!\n\n---\n\n### ⭐⭐ Intermediate Tasks (1-2 hours total)\n\n| # | Task | Time | What You Learn |\n|-|------|------|---|\n| 4 | [Create a Custom Workflow](TASKS.md#task-4-create-a-custom-workflow) | 15 min | Build workflows from scratch |\n| 5 | [Add Environment Variables](TASKS.md#task-5-add-environment-variables) | 10 min | Configure with env vars |\n| 6 | [Use GitHub Secrets](TASKS.md#task-6-use-github-secrets) | 10 min | Handle sensitive data securely |\n| 7 | [Matrix Testing](TASKS.md#task-7-matrix-testing) | 15 min | Test multiple Node versions |\n\n**Submit:** [🎖️ Intermediate Badge Issue](.github/ISSUE_TEMPLATE/badge_submission.md) → Select \"Intermediate\" → Auto-labels \u0026 assigns!\n\n---\n\n### ⭐⭐⭐ Advanced Tasks (2-3 hours total)\n\n| # | Task | Time | What You Learn |\n|-|------|------|---|\n| 8 | [Upload and Download Artifacts](TASKS.md#task-8-upload-and-download-artifacts) | 20 min | Share data between jobs |\n| 9 | [Conditional Execution](TASKS.md#task-9-conditional-execution) | 15 min | Run steps conditionally |\n| 10 | [Create a PR and Use Issue Templates](TASKS.md#task-10-create-a-pr-and-use-issue-templates) | 20 min | Contribute to projects |\n\n**Submit:** [🎖️ Advanced Badge Issue](.github/ISSUE_TEMPLATE/badge_submission.md) → Select \"Advanced\" → Auto-labels \u0026 assigns!\n\n---\n\n### 🏆 Bonus Challenges\n\n- [Challenge 1: Deploy to Azure](TASKS.md#challenge-1-deploy-to-azure-optional) - Production deployment\n- [Challenge 2: Add Code Coverage](TASKS.md#challenge-2-add-code-coverage-reports) - Quality metrics\n- [Challenge 3: Custom Action](TASKS.md#challenge-3-create-a-custom-action) - Reusable automation\n\n---\n\n## 🔧 Example Workflows Explained\n\n### 1. Hello World Workflow\n**File:** [.github/workflows/hello-world.yml](.github/workflows/hello-world.yml)\n\n```yaml\nname: Hello World\non: push\njobs:\n  hello:\n    runs-on: ubuntu-latest\n    steps:\n      - run: echo \"Hello, GitHub Actions!\"\n```\n\n**Learn:** Basic workflow structure, triggers, steps  \n**Related Tasks:** [Task 1](TASKS.md#task-1-run-your-first-workflow), [Task 2](TASKS.md#task-2-understand-workflow-triggers)\n\n---\n\n### 2. Build \u0026 Test Workflow\n**File:** [.github/workflows/build-test.yml](.github/workflows/build-test.yml)\n\nUses matrix testing across Node versions, installs dependencies, runs tests.\n\n**Learn:** Matrix strategies, dependencies, caching  \n**Related Tasks:** [Task 3](TASKS.md#task-3-build-and-test-locally), [Task 7](TASKS.md#task-7-matrix-testing)\n\n---\n\n### 3. Deploy to Azure Workflow\n**File:** [.github/workflows/deploy-azure-app-service.yml](.github/workflows/deploy-azure-app-service.yml)\n\nBuilds and deploys app to Azure App Service.\n\n**Learn:** Production deployment, secrets, conditional execution  \n**Related Tasks:** [Task 6](TASKS.md#task-6-use-github-secrets), [Challenge 1](TASKS.md#challenge-1-deploy-to-azure-optional)\n\n---\n\n## 📚 Documentation Overview\n\n| Doc | Topics | Duration | Level |\n|-----|--------|----------|-------|\n| [01-what-is-github-actions.md](docs/01-what-is-github-actions.md) | What \u0026 why GitHub Actions | 10 min | Beginner |\n| [02-workflow-basics.md](docs/02-workflow-basics.md) | Workflow structure \u0026 YAML | 15 min | Beginner |\n| [03-triggers-and-events.md](docs/03-triggers-and-events.md) | When workflows run | 10 min | Beginner |\n| [04-jobs-and-steps.md](docs/04-jobs-and-steps.md) | Jobs, steps, runners | 15 min | Intermediate |\n| [05-secrets-and-env.md](docs/05-secrets-and-env.md) | Configuration \u0026 security | 10 min | Intermediate |\n| [06-build-and-test.md](docs/06-build-and-test.md) | CI/CD pipelines | 15 min | Intermediate |\n| [07-deploy-to-azure.md](docs/07-deploy-to-azure.md) | Azure deployment | 10 min | Advanced |\n\n**Total Learning Time:** ~1.5 hours of documentation  \n**Total Task Time:** 3-6 hours of hands-on practice\n\n---\n\n## 💡 Tips for Success\n\n### Learning Tips\n1. **Start sequentially** - Don't skip around\n2. **Read the docs first** - Foundation matters\n3. **Run the examples** - See it in action\n4. **Modify workflows** - Experiment \u0026 break things\n5. **Read the logs** - GitHub Actions logs tell you everything\n6. **Add comments** - Document what you learn\n\n### Task Completion Tips\n1. **Screenshot everything** - For badge submission\n2. **Take your time** - Quality \u003e Speed\n3. **Experiment with modifications** - \"What if I...\"\n4. **Get stuck?** - Create a [Question issue](.github/ISSUE_TEMPLATE/question.md)\n5. **Found a problem?** - Report [Bug report](.github/ISSUE_TEMPLATE/bug_report.md)\n\n### Submission Tips\n1. **Create clear submission files** - Organize evidence well\n2. **Use descriptive commit messages** - Help reviewers understand\n3. **Follow branch naming** - `working-level-yourname`\n4. **Set level in issue** - Triggers auto-labels\n5. **Link your PR** - Include it in submission issue\n\n---\n\n## 🤝 How to Contribute\n\nIf you find issues or have improvements:\n\n1. **Report Issues**\n   - Use [bug_report.md](.github/ISSUE_TEMPLATE/bug_report.md)\n   - Use [feature_request.md](.github/ISSUE_TEMPLATE/feature_request.md)\n   - Use [documentation.md](.github/ISSUE_TEMPLATE/documentation.md)\n\n2. **Contribute Code**\n   - Fork repository\n   - Create branch: `feature/your-feature`\n   - Make changes\n   - Create PR using [PULL_REQUEST_TEMPLATE.md](.github/PULL_REQUEST_TEMPLATE.md)\n   - See [CONTRIBUTING.md](CONTRIBUTING.md) for details\n\n3. **Share Knowledge**\n   - Improve documentation\n   - Create clearer examples\n   - Help others in issues\n\n---\n\n## 📞 Support \u0026 Questions\n\n### Getting Help\n\n1. **Check Documentation** - Start with [docs/](docs/) folder\n2. **Review Examples** - Look at workflows in [.github/workflows/](.github/workflows/)\n3. **Check TASKS.md** - Find similar examples\n4. **Create Issue** - Use [question.md](.github/ISSUE_TEMPLATE/question.md) template\n5. **Contact Maintainer** - [@nisalgunawardhana](https://github.com/nisalgunawardhana)\n\n### Common Issues\n\n**Q: My workflow isn't running?**  \nA: Check the trigger event. See [03-triggers-and-events.md](docs/03-triggers-and-events.md)\n\n**Q: How do I use secrets safely?**  \nA: See [05-secrets-and-env.md](docs/05-secrets-and-env.md)\n\n**Q: How do I deploy to Azure?**  \nA: See [07-deploy-to-azure.md](docs/07-deploy-to-azure.md) and [Challenge 1](TASKS.md#challenge-1-deploy-to-azure-optional)\n\n---\n\n## 🎖️ Badge Submission Tracking\n\n### Submission Flow\n\n```\nStart → Learn → Complete Tasks → Create Branch → Submit File \n  → Push PR → Submit Issue → Auto-Labels \u0026 Assign → Review → Badge! 🏅\n```\n\n### Automatic Workflow\n\n1. **You choose level** in badge submission issue\n2. **System auto-adds labels** - `submission`, `beginner`/`intermediate`/`advanced`\n3. **System auto-assigns** - @nisalgunawardhana\n4. **Reviewer reviews** - 2-5 days\n5. **Feedback or approval** - You're notified\n6. **Badge awarded!** - Congratulations! 🎉\n\n### No Manual Labeling Needed! ✨\n\nJust select your level in the issue → Everything else is automatic!\n\n---\n\n## 📊 Repository Statistics\n\n- 📚 **7 Learning Modules** in docs/\n- 🔧 **3 Example Workflows** ready to use\n- 📝 **10+ Hands-On Tasks** organized by level\n- 💻 **Sample Node.js App** with tests\n- 📄 **Multiple Issue Templates** for contributions\n- 🎖️ **Badge System** with auto-organization\n\n---\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## ⭐ Show Your Support\n\n- ⭐ Star this repository\n- 🔀 Share with friends/colleagues\n- 📢 Tell others about it\n- 🤝 Contribute improvements\n- 💬 Provide feedback\n\n---\n\n**Ready to get started? Begin with setup above or jump to [TASKS.md](TASKS.md)!** 🚀\n\n**Questions?** Create an [❓ Question Issue](.github/ISSUE_TEMPLATE/question.md)\n\n**Happy Learning!** 🎓\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnisalgunawardhana%2Fgithub-actions-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnisalgunawardhana%2Fgithub-actions-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnisalgunawardhana%2Fgithub-actions-learning/lists"}