Patch vulnerable actions/download-artifact usage in release workflow#2
Patch vulnerable actions/download-artifact usage in release workflow#2
actions/download-artifact usage in release workflow#2Conversation
Agent-Logs-Url: https://github.com/Algodons/agentos/sessions/42083e98-582c-4e4c-a645-3e712f0bed81 Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Algodons/agentos/sessions/42083e98-582c-4e4c-a645-3e712f0bed81 Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Algodons/agentos/sessions/42083e98-582c-4e4c-a645-3e712f0bed81 Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Algodons/agentos/sessions/42083e98-582c-4e4c-a645-3e712f0bed81 Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Algodons/agentos/sessions/42083e98-582c-4e4c-a645-3e712f0bed81 Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
|
@copilot resolve the merge conflicts in this pull request |
Co-authored-by: SMSDAO <144380926+SMSDAO@users.noreply.github.com>
Resolved. I merged |
There was a problem hiding this comment.
Pull request overview
This PR significantly expands the project’s release/CI/CD, deployment, and WASM-execution tooling, including pinning actions/download-artifact in the release workflow to a patched version, while also adding new runtime features, tests, container/Kubernetes assets, and operational documentation.
Changes:
- Hardened GitHub Actions workflows (CI matrix + coverage artifact, new release workflow with patched
actions/download-artifact, new deploy workflow). - Extended WASM execution utilities (
WasmRunneroptions/timeout bounds,WorkerPooloptions + queue capacity guard) and added new test coverage. - Added deployment/ops documentation plus Dockerfile and Kubernetes base manifests; expanded
/api/statusresponse with operational metadata.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
tests/workerPool.load.test.ts |
Adds load/queue-capacity tests for WorkerPool. |
tests/wasm.determinism.test.ts |
Adds determinism/order/timeout-bound tests for WasmRunner. |
README.md |
Updates badges and substantially revises testing/CI/CD/deployment/ops documentation sections. |
docs/operations/scaling-playbook.md |
Adds scaling guidance/playbook. |
docs/operations/monitoring-alerting.md |
Adds monitoring dashboard and alert recommendations. |
docs/operations/disaster-recovery.md |
Adds disaster recovery plan. |
docs/deployment/vercel.md |
Adds Vercel deployment playbook. |
docs/deployment/kubernetes.md |
Adds Kubernetes deployment playbook referencing base manifests. |
docs/deployment/docker.md |
Adds Docker deployment playbook. |
Dockerfile |
Introduces multi-stage Docker build for Next.js app. |
deploy/k8s/base/service.yaml |
Adds Kubernetes Service for the app. |
deploy/k8s/base/namespace.yaml |
Adds Kubernetes Namespace manifest. |
deploy/k8s/base/hpa.yaml |
Adds Kubernetes HPA configuration. |
deploy/k8s/base/deployment.yaml |
Adds Kubernetes Deployment with securityContext and probes. |
core/wasm/workerPool.ts |
Adds WorkerPoolOptions, queue capacity limit, and capacity accessor. |
core/wasm/wasmRunner.ts |
Adds WasmRunnerOptions, injectable clock, and timeout bounds/handling changes. |
app/api/status/route.ts |
Extends status response with uptime/timestamp/status fields. |
.github/workflows/release.yml |
Adds/updates release workflow and pins actions/download-artifact@v4.1.3. |
.github/workflows/deploy.yml |
Adds a manual deploy workflow (placeholder commands). |
.github/workflows/ci.yml |
Adds CI concurrency, Node 20/22 matrix, and a separate coverage job with artifact upload. |
.dockerignore |
Adds Docker ignore rules for common build/test artifacts and secrets. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| AgentOS is an autonomous prompt optimization operating system — a self-evolving AI execution layer that: | ||
|
|
||
| - 🤖 **Optimizes prompts** through a 7-agent swarm pipeline | ||
| - �� **Optimizes prompts** through a 7-agent swarm pipeline |
| securityContext: | ||
| runAsNonRoot: true | ||
| seccompProfile: | ||
| type: RuntimeDefault | ||
| containers: | ||
| - name: agentos | ||
| image: ghcr.io/algodons/agentos:v1.0.0-sha.ce63d69 |
| - name: Download artifacts | ||
| uses: actions/download-artifact@v4.1.3 | ||
| with: | ||
| name: release-artifacts | ||
|
|
|
|
||
| if (!Number.isInteger(concurrency) || concurrency < 1) { | ||
| throw new Error('WorkerPool: concurrency must be a positive integer'); | ||
| } | ||
|
|
||
| this.concurrency = concurrency; | ||
| this.maxQueueSize = normalized.maxQueueSize ?? concurrency * 100; |
| this.defaultTimeoutMs = options.defaultTimeoutMs ?? 10_000; | ||
| this.maxTimeoutMs = options.maxTimeoutMs ?? 60_000; | ||
| } | ||
|
|
The release pipeline referenced
actions/download-artifact@v4, which falls in the vulnerable range for arbitrary file write during artifact extraction. This updates the workflow to the patched version to close that supply-chain risk without changing release flow semantics.Workflow dependency hardening
actions/download-artifactto a patched, non-vulnerable version.Scope
.github/workflows/release.yml).