elastic / elastic/ai-github-actions

[product-manager-impersonator] Quick setup resilient download retries

Open
#1,015 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
11
Forks
16
Avg merge
22h 9m
Merged PRs (30d)
31

Description

## Feature Idea

**Summary:** Add configurable retry/backoff for `quick-setup.sh` downloads so transient network failures don’t abort first-run setup.

## Why a Customer Would Want This
Teams adopt this project through a one-command installer, and setup currently fails hard on any transient `raw.githubusercontent.com` fetch error. That creates avoidable friction during onboarding and forces manual reruns.

## Rough Implementation Sketch
- Add `--download-retries` (default `3`) and `--download-retry-delay` (default `2`) flags to `scripts/quick-setup.sh`.
- Use those values in both download call sites (`trigger-*.yml` loop and `agentics-maintenance.yml`) with `curl --retry ... --retry-delay ... --retry-all-errors`.
- Preserve current fail-fast behavior after retries, but print a short summary of which workflow downloads still failed.
- Document the new flags in quick-setup docs so users can tune reliability for stricter CI networks.

## Why It Won't Be That Hard
This is a small, localized Bash change in one script plus docs updates. The script already centralizes all download operations in two places, so adding retry options is low-risk and does not require workflow schema/compiler changes.

## Evidence
- One-command onboarding is explicit in docs:
- `README.md:28-39`
- `gh-agent-workflows/README.md:44-55`
- Downloads are currently single-shot and fail the whole run (`set -euo pipefail`) with no retry path:
- `scripts/quick-setup.sh:9`
- `scripts/quick-setup.sh:194-203`
- `scripts/quick-setup.sh:206-213`
- Recent activity indicates setup UX is actively being improved (good timing for an incremental reliability win):
- PR `#991` (quick-setup messaging)
- PR `#1007` (setup PAT guidance)
- Issue `#1006` (setup docs/script guidance alignment)

> [!NOTE]
>
> 🔒 Integrity filter blocked 27 items
>
> The following items were blocked because they don't meet the GitHub integrity level.
>
> - [#1010](https://github.com/elastic/ai-github-actions/issues/1010) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#937](https://github.com/elastic/ai-github-actions/pull/937) `search_pull_requests`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#851](https://github.com/elastic/ai-github-actions/pull/851) `search_pull_requests`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#850](https://github.com/elastic/ai-github-actions/pull/850) `search_pull_requests`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#359](https://github.com/elastic/ai-github-actions/issues/359) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#704](https://github.com/elastic/ai-github-actions/issues/704) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#694](https://github.com/elastic/ai-github-actions/issues/694) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#684](https://github.com/elastic/ai-github-actions/issues/684) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#875](https://github.com/elastic/ai-github-actions/issues/875) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#676](https://github.com/elastic/ai-github-actions/issues/676) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#245](https://github.com/elastic/ai-github-actions/issues/245) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#225](https://github.com/elastic/ai-github-actions/issues/225) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#248](https://github.com/elastic/ai-github-actions/issues/248) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#424](https://github.com/elastic/ai-github-actions/issues/424) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#140](https://github.com/elastic/ai-github-actions/issues/140) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#478](https://github.com/elastic/ai-github-actions/issues/478) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - ... and 11 more items
>
> To allow these resources, lower `min-integrity` in your GitHub frontmatter:
>
> ```yaml
> tools:
> github:
> min-integrity: approved # merged | approved | unapproved | none
> ```
>
>

---
[What is this?](https://ela.st/github-ai-tools) | [From workflow: Trigger Product Manager Impersonator](https://github.com/elastic/ai-github-actions/actions/runs/24884919108)

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.