@hybridlabor-api/aos 4.7.2 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/.agents/agents.md +1 -1
  2. package/.agents/nodes.json +1 -1
  3. package/.agents/vendor-manifest.json +23 -1
  4. package/.claude/agents/godmode-media-eventtech.md +1 -1
  5. package/.claude/hooks/conventional-commits.mjs +125 -0
  6. package/.claude/hooks/env-file-protection.mjs +105 -0
  7. package/.claude/hooks/go-gate.mjs +101 -81
  8. package/.claude/settings.json +13 -0
  9. package/.opencode/agents/godmode-media-eventtech.md +1 -1
  10. package/.opencode/plugins/bdb-aos.js +31 -4
  11. package/README.de.md +1 -1
  12. package/README.md +1 -1
  13. package/README.pt.md +1 -1
  14. package/THIRD_PARTY_NOTICES.md +88 -0
  15. package/docs/skills_table.md +1 -1
  16. package/installer.js +309 -101
  17. package/package.json +6 -2
  18. package/packages/aos-cli/README.md +80 -0
  19. package/packages/aos-cli/bin/aos-cli.mjs +134 -0
  20. package/packages/aos-cli/core-skills.json +12 -0
  21. package/packages/aos-cli/extensions/aos.ts +321 -0
  22. package/packages/aos-cli/package-lock.json +1923 -0
  23. package/packages/aos-cli/package.json +29 -0
  24. package/packages/aos-cli/scripts/check-theme.mjs +63 -0
  25. package/packages/aos-cli/themes/aos.json +97 -0
  26. package/scripts/build-plugin-manifest.mjs +131 -0
  27. package/scripts/validate-skills.mjs +81 -6
  28. package/skills/basic/ao-orchestrator/SKILL.md +116 -0
  29. package/skills/global_config/agenttrail/SKILL.md +6 -1
  30. package/skills/global_config/ask-tim/SKILL.md +4 -4
  31. package/skills/global_config/bash-script-generator/SKILL.md +201 -0
  32. package/skills/global_config/bash-script-generator/assets/templates/standard-template.sh +96 -0
  33. package/skills/global_config/bash-script-generator/docs/bash-scripting-guide.md +729 -0
  34. package/skills/global_config/bash-script-generator/docs/generation-best-practices.md +193 -0
  35. package/skills/global_config/bash-script-generator/docs/script-patterns.md +566 -0
  36. package/skills/global_config/bash-script-generator/docs/text-processing-guide.md +437 -0
  37. package/skills/global_config/bash-script-generator/examples/log-analyzer.sh +92 -0
  38. package/skills/global_config/bash-script-generator/scripts/generate_script_template.sh +123 -0
  39. package/skills/global_config/bash-script-generator/scripts/run_ci_checks.sh +172 -0
  40. package/skills/global_config/bash-script-generator/scripts/test_generator.sh +413 -0
  41. package/skills/global_config/bash-script-validator/SKILL.md +249 -0
  42. package/skills/global_config/bash-script-validator/docs/awk-reference.md +449 -0
  43. package/skills/global_config/bash-script-validator/docs/bash-reference.md +468 -0
  44. package/skills/global_config/bash-script-validator/docs/common-mistakes.md +623 -0
  45. package/skills/global_config/bash-script-validator/docs/grep-reference.md +395 -0
  46. package/skills/global_config/bash-script-validator/docs/regex-reference.md +391 -0
  47. package/skills/global_config/bash-script-validator/docs/sed-reference.md +454 -0
  48. package/skills/global_config/bash-script-validator/docs/shell-reference.md +463 -0
  49. package/skills/global_config/bash-script-validator/docs/shellcheck-reference.md +399 -0
  50. package/skills/global_config/bash-script-validator/examples/bad-bash.sh +55 -0
  51. package/skills/global_config/bash-script-validator/examples/bad-shell.sh +54 -0
  52. package/skills/global_config/bash-script-validator/examples/good-bash.sh +71 -0
  53. package/skills/global_config/bash-script-validator/examples/good-shell.sh +69 -0
  54. package/skills/global_config/bash-script-validator/scripts/run_ci_checks.sh +23 -0
  55. package/skills/global_config/bash-script-validator/scripts/shellcheck_wrapper.sh +174 -0
  56. package/skills/global_config/bash-script-validator/scripts/test_validate.sh +446 -0
  57. package/skills/global_config/bash-script-validator/scripts/validate.sh +512 -0
  58. package/skills/global_config/ci-pipeline/SKILL.md +135 -0
  59. package/skills/global_config/dispatching-parallel-agents/SKILL.md +170 -0
  60. package/skills/global_config/dockerfile-generator/SKILL.md +1038 -0
  61. package/skills/global_config/dockerfile-generator/examples/example.dockerignore +95 -0
  62. package/skills/global_config/dockerfile-generator/examples/golang-distroless.Dockerfile +34 -0
  63. package/skills/global_config/dockerfile-generator/examples/java-springboot.Dockerfile +45 -0
  64. package/skills/global_config/dockerfile-generator/examples/nextjs-production.Dockerfile +49 -0
  65. package/skills/global_config/dockerfile-generator/examples/nodejs-multistage.Dockerfile +55 -0
  66. package/skills/global_config/dockerfile-generator/examples/python-fastapi.Dockerfile +48 -0
  67. package/skills/global_config/dockerfile-generator/references/language_specific_guides.md +510 -0
  68. package/skills/global_config/dockerfile-generator/references/multistage_builds.md +570 -0
  69. package/skills/global_config/dockerfile-generator/references/optimization_patterns.md +492 -0
  70. package/skills/global_config/dockerfile-generator/references/security_best_practices.md +375 -0
  71. package/skills/global_config/dockerfile-generator/scripts/generate_dockerignore.sh +199 -0
  72. package/skills/global_config/dockerfile-generator/scripts/generate_golang.sh +172 -0
  73. package/skills/global_config/dockerfile-generator/scripts/generate_java.sh +185 -0
  74. package/skills/global_config/dockerfile-generator/scripts/generate_nodejs.sh +279 -0
  75. package/skills/global_config/dockerfile-generator/scripts/generate_python.sh +218 -0
  76. package/skills/global_config/dockerfile-generator/scripts/test_generator.sh +210 -0
  77. package/skills/global_config/dockerfile-validator/SKILL.md +300 -0
  78. package/skills/global_config/dockerfile-validator/examples/.dockerignore.example +34 -0
  79. package/skills/global_config/dockerfile-validator/examples/bad-example.Dockerfile +37 -0
  80. package/skills/global_config/dockerfile-validator/examples/golang-distroless.Dockerfile +50 -0
  81. package/skills/global_config/dockerfile-validator/examples/good-example.Dockerfile +52 -0
  82. package/skills/global_config/dockerfile-validator/examples/python-optimized.Dockerfile +53 -0
  83. package/skills/global_config/dockerfile-validator/examples/security-issues.Dockerfile +42 -0
  84. package/skills/global_config/dockerfile-validator/references/docker_best_practices.md +348 -0
  85. package/skills/global_config/dockerfile-validator/references/optimization_guide.md +473 -0
  86. package/skills/global_config/dockerfile-validator/references/security_checklist.md +208 -0
  87. package/skills/global_config/dockerfile-validator/scripts/dockerfile-validate.sh +699 -0
  88. package/skills/global_config/dockerfile-validator/scripts/test_validate.sh +35 -0
  89. package/skills/global_config/dockerfile-validator/tests/fixtures/copy-before-yarn-lock-read.Dockerfile +6 -0
  90. package/skills/global_config/dockerfile-validator/tests/fixtures/copy-before-yarn.Dockerfile +6 -0
  91. package/skills/global_config/dockerfile-validator/tests/fixtures/from-platform-nonroot.Dockerfile +7 -0
  92. package/skills/global_config/dockerfile-validator/tests/test_regression.sh +164 -0
  93. package/skills/global_config/finishing-a-development-branch/SKILL.md +228 -0
  94. package/skills/global_config/github-actions-generator/SKILL.md +353 -0
  95. package/skills/global_config/github-actions-generator/assets/templates/action/composite/action.yml +82 -0
  96. package/skills/global_config/github-actions-generator/assets/templates/action/docker/Dockerfile +25 -0
  97. package/skills/global_config/github-actions-generator/assets/templates/action/docker/action.yml +42 -0
  98. package/skills/global_config/github-actions-generator/assets/templates/action/docker/entrypoint.sh +27 -0
  99. package/skills/global_config/github-actions-generator/assets/templates/action/javascript/action.yml +33 -0
  100. package/skills/global_config/github-actions-generator/assets/templates/action/javascript/index.js +50 -0
  101. package/skills/global_config/github-actions-generator/assets/templates/action/javascript/package.json +27 -0
  102. package/skills/global_config/github-actions-generator/assets/templates/workflow/basic_workflow.yml +242 -0
  103. package/skills/global_config/github-actions-generator/assets/templates/workflow/reusable_workflow.yml +106 -0
  104. package/skills/global_config/github-actions-generator/examples/README.md +147 -0
  105. package/skills/global_config/github-actions-generator/examples/actions/setup-node-cached/action.yml +93 -0
  106. package/skills/global_config/github-actions-generator/examples/caching/docker-buildkit.yml +256 -0
  107. package/skills/global_config/github-actions-generator/examples/security/dependency-review.yml +62 -0
  108. package/skills/global_config/github-actions-generator/examples/security/sbom-attestation.yml +119 -0
  109. package/skills/global_config/github-actions-generator/examples/triggers/chatops-commands.yml +475 -0
  110. package/skills/global_config/github-actions-generator/examples/triggers/repository-dispatch.yml +418 -0
  111. package/skills/global_config/github-actions-generator/examples/triggers/workflow-orchestration.yml +404 -0
  112. package/skills/global_config/github-actions-generator/examples/workflows/docker-build-push.yml +68 -0
  113. package/skills/global_config/github-actions-generator/examples/workflows/go-ci.yml +161 -0
  114. package/skills/global_config/github-actions-generator/examples/workflows/monorepo-ci.yml +340 -0
  115. package/skills/global_config/github-actions-generator/examples/workflows/multi-environment-deploy.yml +406 -0
  116. package/skills/global_config/github-actions-generator/examples/workflows/nodejs-ci.yml +122 -0
  117. package/skills/global_config/github-actions-generator/examples/workflows/python-ci.yml +157 -0
  118. package/skills/global_config/github-actions-generator/examples/workflows/scheduled-tasks.yml +376 -0
  119. package/skills/global_config/github-actions-generator/references/advanced-triggers.md +917 -0
  120. package/skills/global_config/github-actions-generator/references/best-practices.md +755 -0
  121. package/skills/global_config/github-actions-generator/references/common-actions.md +715 -0
  122. package/skills/global_config/github-actions-generator/references/custom-actions.md +320 -0
  123. package/skills/global_config/github-actions-generator/references/expressions-and-contexts.md +688 -0
  124. package/skills/global_config/github-actions-generator/references/modern-features.md +421 -0
  125. package/skills/global_config/github-actions-generator/scripts/test_generator.sh +344 -0
  126. package/skills/global_config/github-actions-templates/SKILL.md +7 -0
  127. package/skills/global_config/github-actions-validator/SKILL.md +576 -0
  128. package/skills/global_config/github-actions-validator/examples/README.md +88 -0
  129. package/skills/global_config/github-actions-validator/examples/outdated-versions.yml +76 -0
  130. package/skills/global_config/github-actions-validator/examples/valid-ci.yml +79 -0
  131. package/skills/global_config/github-actions-validator/examples/with-errors.yml +47 -0
  132. package/skills/global_config/github-actions-validator/references/act_usage.md +233 -0
  133. package/skills/global_config/github-actions-validator/references/action_versions.md +122 -0
  134. package/skills/global_config/github-actions-validator/references/actionlint_usage.md +343 -0
  135. package/skills/global_config/github-actions-validator/references/common_errors.md +512 -0
  136. package/skills/global_config/github-actions-validator/references/modern_features.md +384 -0
  137. package/skills/global_config/github-actions-validator/references/runners.md +317 -0
  138. package/skills/global_config/github-actions-validator/scripts/install_tools.sh +113 -0
  139. package/skills/global_config/github-actions-validator/scripts/validate_workflow.sh +910 -0
  140. package/skills/global_config/github-actions-validator/tests/test_validate_workflow.sh +237 -0
  141. package/skills/global_config/makefile-generator/SKILL.md +614 -0
  142. package/skills/global_config/makefile-generator/assets/templates/.gitkeep +1 -0
  143. package/skills/global_config/makefile-generator/docs/makefile-structure.md +530 -0
  144. package/skills/global_config/makefile-generator/docs/optimization-guide.md +784 -0
  145. package/skills/global_config/makefile-generator/docs/patterns-guide.md +642 -0
  146. package/skills/global_config/makefile-generator/docs/security-guide.md +361 -0
  147. package/skills/global_config/makefile-generator/docs/targets-guide.md +642 -0
  148. package/skills/global_config/makefile-generator/docs/variables-guide.md +596 -0
  149. package/skills/global_config/makefile-generator/scripts/add_standard_targets.sh +539 -0
  150. package/skills/global_config/makefile-generator/scripts/generate_makefile_template.sh +690 -0
  151. package/skills/global_config/makefile-generator/test/test_helper_scripts.sh +190 -0
  152. package/skills/global_config/makefile-validator/SKILL.md +244 -0
  153. package/skills/global_config/makefile-validator/docs/bake-tool.md +1000 -0
  154. package/skills/global_config/makefile-validator/docs/best-practices.md +858 -0
  155. package/skills/global_config/makefile-validator/docs/common-mistakes.md +944 -0
  156. package/skills/global_config/makefile-validator/examples/bad-makefile.mk +77 -0
  157. package/skills/global_config/makefile-validator/examples/good-makefile.mk +103 -0
  158. package/skills/global_config/makefile-validator/scripts/test_validate.sh +382 -0
  159. package/skills/global_config/makefile-validator/scripts/validate_makefile.sh +712 -0
  160. package/skills/global_config/{MCP_Manage → mcp-manage}/SKILL.md +3 -3
  161. package/skills/global_config/requesting-code-review/SKILL.md +98 -0
  162. package/skills/global_config/requesting-code-review/code-reviewer.md +198 -0
  163. package/skills/global_config/using-git-worktrees/SKILL.md +170 -0
  164. package/skills/global_config/verification-before-completion/SKILL.md +123 -0
  165. package/skills/global_config/writing-plans/SKILL.md +126 -46
  166. package/skills/global_config/writing-plans-legacy/SKILL.md +139 -0
@@ -0,0 +1,421 @@
1
+ # Modern GitHub Actions Features
2
+
3
+ **Last Updated:** December 2025
4
+
5
+ This guide covers modern GitHub Actions capabilities for enhanced workflow output, deployment control, and containerized builds.
6
+
7
+ ## Table of Contents
8
+ 1. [Job Summaries](#job-summaries)
9
+ 2. [Deployment Environments](#deployment-environments)
10
+ 3. [Container Jobs](#container-jobs)
11
+ 4. [Workflow Annotations](#workflow-annotations)
12
+ 5. [Integration Examples](#integration-examples)
13
+
14
+ ---
15
+
16
+ ## Job Summaries
17
+
18
+ Create rich markdown summaries in the Actions UI using `$GITHUB_STEP_SUMMARY`.
19
+
20
+ ### When to Use
21
+ - Display test results, coverage reports, benchmarks
22
+ - Show deployment status and URLs
23
+ - Present security scan findings
24
+ - Summarize workflow execution
25
+
26
+ ### Basic Usage
27
+
28
+ ```yaml
29
+ - name: Generate summary
30
+ run: |
31
+ echo "## Build Results :rocket:" >> $GITHUB_STEP_SUMMARY
32
+ echo "" >> $GITHUB_STEP_SUMMARY
33
+ echo "| Metric | Value |" >> $GITHUB_STEP_SUMMARY
34
+ echo "|--------|-------|" >> $GITHUB_STEP_SUMMARY
35
+ echo "| Tests | ${{ steps.test.outputs.passed }} passed |" >> $GITHUB_STEP_SUMMARY
36
+ echo "| Coverage | ${{ steps.test.outputs.coverage }}% |" >> $GITHUB_STEP_SUMMARY
37
+ ```
38
+
39
+ ### Advanced Patterns
40
+
41
+ **Test Results Table:**
42
+ ```yaml
43
+ - name: Test summary
44
+ if: always()
45
+ run: |
46
+ echo "## Test Results :test_tube:" >> $GITHUB_STEP_SUMMARY
47
+ echo "" >> $GITHUB_STEP_SUMMARY
48
+ echo "| Suite | Status | Duration |" >> $GITHUB_STEP_SUMMARY
49
+ echo "|-------|--------|----------|" >> $GITHUB_STEP_SUMMARY
50
+ echo "| Unit Tests | :white_check_mark: | 45s |" >> $GITHUB_STEP_SUMMARY
51
+ echo "| Integration | :white_check_mark: | 2m 30s |" >> $GITHUB_STEP_SUMMARY
52
+ echo "" >> $GITHUB_STEP_SUMMARY
53
+ echo "### Deployment URLs" >> $GITHUB_STEP_SUMMARY
54
+ echo "- [Staging](https://staging.example.com)" >> $GITHUB_STEP_SUMMARY
55
+ echo "- [Production](https://example.com)" >> $GITHUB_STEP_SUMMARY
56
+ ```
57
+
58
+ **Collapsible Details:**
59
+ ```yaml
60
+ - name: Detailed summary
61
+ run: |
62
+ echo "## Summary" >> $GITHUB_STEP_SUMMARY
63
+ echo "" >> $GITHUB_STEP_SUMMARY
64
+ echo "<details>" >> $GITHUB_STEP_SUMMARY
65
+ echo "<summary>Click to expand test details</summary>" >> $GITHUB_STEP_SUMMARY
66
+ echo "" >> $GITHUB_STEP_SUMMARY
67
+ echo '```' >> $GITHUB_STEP_SUMMARY
68
+ cat test-output.txt >> $GITHUB_STEP_SUMMARY
69
+ echo '```' >> $GITHUB_STEP_SUMMARY
70
+ echo "</details>" >> $GITHUB_STEP_SUMMARY
71
+ ```
72
+
73
+ ### Best Practices
74
+ - Use `if: always()` to show summaries even on failure
75
+ - Include emojis for visual scanning
76
+ - Use markdown tables for structured data
77
+ - Add links to deployed environments
78
+ - Clear summary at start if needed: `> $GITHUB_STEP_SUMMARY`
79
+
80
+ ---
81
+
82
+ ## Deployment Environments
83
+
84
+ Use GitHub environments with protection rules, approval gates, and environment-specific secrets.
85
+
86
+ ### When to Use
87
+ - Multi-stage deployments (dev, staging, production)
88
+ - Deployments requiring manual approval
89
+ - Environment-specific configuration
90
+ - Deployment tracking and rollback
91
+
92
+ ### Basic Usage
93
+
94
+ ```yaml
95
+ jobs:
96
+ deploy-staging:
97
+ runs-on: ubuntu-latest
98
+ environment:
99
+ name: staging
100
+ url: https://staging.example.com
101
+ steps:
102
+ - name: Deploy
103
+ run: ./deploy.sh staging
104
+
105
+ deploy-production:
106
+ needs: deploy-staging
107
+ runs-on: ubuntu-latest
108
+ environment:
109
+ name: production
110
+ url: https://example.com
111
+ steps:
112
+ - name: Deploy
113
+ run: ./deploy.sh production
114
+ ```
115
+
116
+ ### Protection Rules
117
+
118
+ Configure in repository Settings → Environments:
119
+
120
+ | Rule | Description |
121
+ |------|-------------|
122
+ | Required reviewers | Manual approval before deployment |
123
+ | Wait timer | Delay deployment by N minutes |
124
+ | Deployment branches | Restrict which branches can deploy |
125
+ | Environment secrets | Secrets available only in this environment |
126
+
127
+ ### Multi-Environment Pattern
128
+
129
+ ```yaml
130
+ name: Deploy
131
+
132
+ on:
133
+ push:
134
+ branches: [main, develop]
135
+
136
+ jobs:
137
+ deploy:
138
+ runs-on: ubuntu-latest
139
+ environment:
140
+ name: ${{ github.ref_name == 'main' && 'production' || 'staging' }}
141
+ url: ${{ github.ref_name == 'main' && 'https://example.com' || 'https://staging.example.com' }}
142
+ steps:
143
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
144
+ - name: Deploy to ${{ github.ref_name == 'main' && 'production' || 'staging' }}
145
+ env:
146
+ API_KEY: ${{ secrets.API_KEY }} # Environment-specific secret
147
+ run: ./deploy.sh
148
+ ```
149
+
150
+ ### Best Practices
151
+ - Set environment URLs for easy access
152
+ - Use required reviewers for production
153
+ - Configure branch policies
154
+ - Leverage environment-specific secrets
155
+ - Use `needs` to enforce deployment order
156
+
157
+ ---
158
+
159
+ ## Container Jobs
160
+
161
+ Run jobs inside Docker containers for consistent, isolated build environments.
162
+
163
+ ### When to Use
164
+ - Require specific OS/tool versions
165
+ - Need isolated build environment
166
+ - Want to match local dev environment
167
+ - Building for specific Linux distributions
168
+
169
+ ### Basic Container Job
170
+
171
+ ```yaml
172
+ jobs:
173
+ build:
174
+ runs-on: ubuntu-latest
175
+ container:
176
+ image: node:20-alpine
177
+ env:
178
+ NODE_ENV: production
179
+ options: --cpus 2 --memory 4g
180
+ steps:
181
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
182
+ - run: npm ci
183
+ - run: npm run build
184
+ ```
185
+
186
+ ### With Service Containers
187
+
188
+ ```yaml
189
+ jobs:
190
+ test:
191
+ runs-on: ubuntu-latest
192
+ container:
193
+ image: node:20
194
+
195
+ services:
196
+ postgres:
197
+ image: postgres:15
198
+ env:
199
+ POSTGRES_PASSWORD: postgres
200
+ options: >-
201
+ --health-cmd pg_isready
202
+ --health-interval 10s
203
+ --health-timeout 5s
204
+ --health-retries 5
205
+
206
+ redis:
207
+ image: redis:7
208
+ options: >-
209
+ --health-cmd "redis-cli ping"
210
+ --health-interval 10s
211
+ --health-timeout 5s
212
+ --health-retries 5
213
+
214
+ steps:
215
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
216
+ - name: Run tests
217
+ env:
218
+ DATABASE_URL: postgres://postgres:postgres@postgres:5432/test
219
+ REDIS_URL: redis://redis:6379
220
+ run: npm test
221
+ ```
222
+
223
+ ### Best Practices
224
+ - Use specific image tags (avoid `latest`)
225
+ - Configure health checks for services
226
+ - Set resource limits with `options`
227
+ - Use volumes for persistent data
228
+ - Prefer official images
229
+
230
+ ---
231
+
232
+ ## Workflow Annotations
233
+
234
+ Create annotations (notices, warnings, errors) in the Actions UI and PR files.
235
+
236
+ ### Annotation Commands
237
+
238
+ | Command | Level | Appearance |
239
+ |---------|-------|------------|
240
+ | `::notice::` | Info | Blue |
241
+ | `::warning::` | Warning | Yellow |
242
+ | `::error::` | Error | Red (doesn't fail step) |
243
+
244
+ ### Basic Usage
245
+
246
+ ```yaml
247
+ - name: Validate
248
+ run: |
249
+ # Simple annotations
250
+ echo "::notice::Build completed successfully"
251
+ echo "::warning::Deprecated API usage detected"
252
+ echo "::error::Configuration issue found"
253
+ ```
254
+
255
+ ### File/Line Annotations
256
+
257
+ Annotations with file location appear in PR Files tab:
258
+
259
+ ```yaml
260
+ - name: Lint results
261
+ run: |
262
+ # With file and line info
263
+ echo "::error file=src/app.js,line=10,col=5::Type mismatch detected"
264
+ echo "::warning file=config.js,line=23::Deprecated option used"
265
+ echo "::notice file=utils.js,line=100,endLine=105::Consider refactoring"
266
+ ```
267
+
268
+ ### Log Groups
269
+
270
+ Collapse verbose output:
271
+
272
+ ```yaml
273
+ - name: Build with groups
274
+ run: |
275
+ echo "::group::Installing dependencies"
276
+ npm ci
277
+ echo "::endgroup::"
278
+
279
+ echo "::group::Running tests"
280
+ npm test
281
+ echo "::endgroup::"
282
+ ```
283
+
284
+ ### Masking Secrets
285
+
286
+ ```yaml
287
+ - name: Process secret
288
+ run: |
289
+ SENSITIVE="$(./get-secret.sh)"
290
+ echo "::add-mask::$SENSITIVE"
291
+ echo "Using secret safely"
292
+ ```
293
+
294
+ ### All Workflow Commands
295
+
296
+ | Command | Purpose |
297
+ |---------|---------|
298
+ | `::notice::` | Info annotation |
299
+ | `::warning::` | Warning annotation |
300
+ | `::error::` | Error annotation |
301
+ | `::group::` | Start collapsed section |
302
+ | `::endgroup::` | End collapsed section |
303
+ | `::add-mask::` | Mask value in logs |
304
+ | `::stop-commands::TOKEN` | Disable command processing |
305
+ | `::TOKEN::` | Re-enable commands |
306
+ | `::debug::` | Debug message (requires debug logging) |
307
+
308
+ ---
309
+
310
+ ## Integration Examples
311
+
312
+ ### Complete CI/CD with Modern Features
313
+
314
+ ```yaml
315
+ name: Full-Featured CI/CD
316
+
317
+ on:
318
+ push:
319
+ branches: [main, develop]
320
+ pull_request:
321
+
322
+ permissions:
323
+ contents: read
324
+ deployments: write
325
+
326
+ jobs:
327
+ test:
328
+ runs-on: ubuntu-latest
329
+ container:
330
+ image: node:20-alpine
331
+
332
+ services:
333
+ postgres:
334
+ image: postgres:15
335
+ env:
336
+ POSTGRES_PASSWORD: postgres
337
+
338
+ steps:
339
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
340
+
341
+ - name: Run tests
342
+ id: test
343
+ env:
344
+ DATABASE_URL: postgres://postgres:postgres@postgres:5432/test
345
+ run: |
346
+ npm ci
347
+ npm test -- --coverage
348
+ echo "coverage=85" >> $GITHUB_OUTPUT
349
+
350
+ - name: Coverage check
351
+ run: |
352
+ COVERAGE=${{ steps.test.outputs.coverage }}
353
+ if [ $COVERAGE -lt 80 ]; then
354
+ echo "::warning::Coverage $COVERAGE% below 80% threshold"
355
+ else
356
+ echo "::notice::Coverage $COVERAGE% meets threshold"
357
+ fi
358
+
359
+ - name: Test summary
360
+ if: always()
361
+ run: |
362
+ echo "## Test Results :test_tube:" >> $GITHUB_STEP_SUMMARY
363
+ echo "" >> $GITHUB_STEP_SUMMARY
364
+ echo "| Metric | Value |" >> $GITHUB_STEP_SUMMARY
365
+ echo "|--------|-------|" >> $GITHUB_STEP_SUMMARY
366
+ echo "| Coverage | ${{ steps.test.outputs.coverage }}% |" >> $GITHUB_STEP_SUMMARY
367
+ echo "| Status | :white_check_mark: Passed |" >> $GITHUB_STEP_SUMMARY
368
+
369
+ deploy-staging:
370
+ needs: test
371
+ if: github.ref == 'refs/heads/develop'
372
+ runs-on: ubuntu-latest
373
+ environment:
374
+ name: staging
375
+ url: https://staging.example.com
376
+
377
+ steps:
378
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
379
+
380
+ - name: Deploy
381
+ run: ./deploy.sh staging
382
+
383
+ - name: Deployment summary
384
+ run: |
385
+ echo "## Deployment :rocket:" >> $GITHUB_STEP_SUMMARY
386
+ echo "- **Environment**: Staging" >> $GITHUB_STEP_SUMMARY
387
+ echo "- **URL**: https://staging.example.com" >> $GITHUB_STEP_SUMMARY
388
+ echo "- **Commit**: ${{ github.sha }}" >> $GITHUB_STEP_SUMMARY
389
+
390
+ deploy-production:
391
+ needs: test
392
+ if: github.ref == 'refs/heads/main'
393
+ runs-on: ubuntu-latest
394
+ environment:
395
+ name: production
396
+ url: https://example.com
397
+
398
+ steps:
399
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
400
+
401
+ - name: Deploy
402
+ run: ./deploy.sh production
403
+
404
+ - name: Deployment summary
405
+ run: |
406
+ echo "## Production Deployment :rocket:" >> $GITHUB_STEP_SUMMARY
407
+ echo "- **Environment**: Production" >> $GITHUB_STEP_SUMMARY
408
+ echo "- **URL**: https://example.com" >> $GITHUB_STEP_SUMMARY
409
+ echo "- **Note**: Required manual approval" >> $GITHUB_STEP_SUMMARY
410
+ ```
411
+
412
+ ---
413
+
414
+ ## Summary
415
+
416
+ | Feature | Use Case | Key Benefits |
417
+ |---------|----------|--------------|
418
+ | Job Summaries | Rich output display | Markdown support, persists in UI |
419
+ | Environments | Deployment control | Approvals, secrets, tracking |
420
+ | Container Jobs | Consistent builds | Isolation, reproducibility |
421
+ | Annotations | Inline feedback | PR integration, visual alerts |