Repository navigation
Description
Daily fixer for “Resource not accessible by integration” across long-term branches
Analysis
- The repository already has reusable patterns for failed-run analysis and remediation in
./.github/workflows/gh-aw-pr-actions-detective.md,./.github/workflows/gh-aw-pr-actions-fixer.md, and scheduled fixer scaffolding in./.github/workflows/gh-aw-scheduled-fix.md. - The requested workflow must run every 24 hours, scan failed workflow executions from the last 24h, detect the exact error text
Resource not accessible by integration, and open remediation PRs. - PR granularity is defined: one PR per failing workflow.
- Scope is defined: default branch plus all long-term branches (release branches included).
- Remediation instructions must be loaded from the external source at runtime:
https://github.com/elastic/observability-cicd/blob/main/github-actions/actionable/alerts/app/prompts/accessible-by-integration.txt. - Review process is defined: generated PRs must request review from the
elastic/observablt-citeam and remain pending until approval (no auto-merge behavior).
Implementation Plan
-
Create specialized workflow source (
./.github/workflows/gh-aw-resource-not-accessible-by-integration-fixer.md):- Add a new gh-aw workflow with
workflow_callinputs, safe PR output, and Actions read + PR write permissions. - Base structure on existing detective/fixer workflows so behavior is consistent with current repo conventions.
- Why: this is the canonical source that compiles into the distributable lock workflow.
- Add a new gh-aw workflow with
-
Implement 24h scan and branch coverage logic (
./.github/workflows/gh-aw-resource-not-accessible-by-integration-fixer.md):- Instruct the agent to query failed runs created in the last 24 hours and include all long-term branches (default + configured release branches).
- Add explicit input for long-term branch patterns/names so consumers can define their branch set without code changes.
- Why: ensures deterministic daily coverage for default and release maintenance lines.
-
Implement error detection and per-workflow PR fan-out (
./.github/workflows/gh-aw-resource-not-accessible-by-integration-fixer.md):- Parse run/job logs and match exact error text
Resource not accessible by integration. - Group findings by failing workflow and create exactly one PR per failing workflow (branch-aware to avoid collisions).
- Skip PR creation when no matching failures are found.
- Why: aligns with requested PR granularity and avoids mixed, hard-to-review remediation PRs.
- Parse run/job logs and match exact error text
-
Load and apply external remediation instructions (
./.github/workflows/gh-aw-resource-not-accessible-by-integration-fixer.md):- Require runtime fetch of the remediation prompt from the provided observability-cicd URL via
web-fetch. - Require the agent to follow those instructions as the primary fix policy when patching workflow permissions/config.
- Why: guarantees fixes follow the mandated centralized guidance.
- Require runtime fetch of the remediation prompt from the provided observability-cicd URL via
-
Enforce PR description and review assignment requirements (
./.github/workflows/gh-aw-resource-not-accessible-by-integration-fixer.md):- Require each generated PR body to include: affected workflow/run links, exact failure evidence, root cause, and remediation approach applied.
- Require reviewer request for team
elastic/observablt-ciand keep PR unmerged/pending approval. - Why: satisfies governance and traceability requirements for automated changes.
-
Add consumer trigger with 24h cadence (
./gh-agent-workflows/resource-not-accessible-by-integration-fixer/example.yml):- Add schedule trigger to run once every 24 hours plus
workflow_dispatchfor manual execution. - Wire required secrets/permissions and pass branch-scope input defaults.
- Why: provides installable, ready-to-use workflow entrypoint for target repositories.
- Add schedule trigger to run once every 24 hours plus
-
Document usage and operational behavior (
./gh-agent-workflows/resource-not-accessible-by-integration-fixer/README.md):- Document cadence, 24h scan window, branch scope configuration, per-workflow PR behavior, and required review team assignment.
- Document dependency on external instructions URL and failure/noop behavior.
- Why: makes rollout and operations predictable for adopters.
-
Register in workflow catalogs and setup automation (
./gh-agent-workflows/README.md,./docs/workflows/gh-agent-workflows.md,./scripts/quick-setup.sh):- Add the new workflow to workflow listings/docs.
- Add it to
continuous_improvement_workflowsin quick-setup. - Why: ensures discoverability and inclusion in the continuous-improvement install set.
-
Compile and validate repository artifacts (
./Makefile):- Run
make compileto generate lock workflow and dogfood trigger artifacts. - Run
make lintto validate workflows/actions. - Perform a smoke test in a test repo: (a) no matching error -> no PR, (b) matching error -> one PR per failing workflow with required body and team review request.
- Why: confirms generated artifacts and runtime behavior before merge.
- Run
Activity
[-]Add daily fixer workflow for 'Resource not accessible by integration' across long-term branches[/-][+]Add daily fixer agentic workflow for 'Resource not accessible by integration' across long-term branches[/+]github-actions commentedon Feb 26, 2026
Recommendation: implement a new specialized scheduled fixer workflow for this use case instead of extending existing workflows, because current patterns are constrained to issue-driven single-PR runs or default-branch/single-run analysis and cannot directly satisfy the requested 24h multi-branch one-PR-per-failing-workflow behavior.
Recommendation
Create
gh-aw-resource-not-accessible-by-integration-fixeras a dedicated workflow that runs every 24h, scans failed runs from the last 24h across default + configured long-term branches, exact-matchesResource not accessible by integration, and opens one PR per failing workflow with required review requests.Findings
.github/workflows/gh-aw-fragments/scheduled-fix.md:7,.github/workflows/gh-aw-scheduled-fix.md:114-124,.github/workflows/gh-aw-fragments/safe-output-create-pr.md:32).workflow-run-id) and PR-associated; it noops without a PR (.github/workflows/gh-aw-pr-actions-fixer.md:35-38,:101-107).gh-agent-workflows/branch-actions-detective/example.yml:15-18,.github/workflows/gh-aw-branch-actions-detective.md:72-75).agent-efficiencyis reusable for log scanning, but currently 7-day issue reporting (.github/workflows/agent-efficiency.md:59,:69,:79,:117).gh-agent-workflows/README.md(catalog + quick-setup list, lines 21-39 and 66-79),docs/workflows/gh-agent-workflows.md(workflow catalog, lines 67-102), andscripts/quick-setup.sh(continuous_improvement_workflows, lines 128-142).Verification
I ran targeted commands to verify current constraints and reusable logic:
Observed output (key lines):
Detailed Action Plan
.github/workflows/gh-aw-resource-not-accessible-by-integration-fixer.md.lookback-hours(default24),long-term-branches(CSV/pattern),remediation-instructions-url,review-team(default requested value), plus standard model/setup inputs.actions: read,contents: read,pull-requests: write(and any additional required by final PR path)..github/workflows/agent-efficiency.md:59-90.Resource not accessible by integration.https://github.com/elastic/observability-cicd/blob/main/github-actions/actionable/alerts/app/prompts/accessible-by-integration.txtelastic/observablt-ci; keep PR pending approval (no auto-merge path).gh-agent-workflows/resource-not-accessible-by-integration-fixer/example.yml(daily schedule +workflow_dispatch).gh-agent-workflows/resource-not-accessible-by-integration-fixer/README.md.gh-agent-workflows/README.md,docs/workflows/gh-agent-workflows.md, and (if part of CI add-ons)scripts/quick-setup.shlist.make compileandmake lint.Related Items
.github/workflows/gh-aw-scheduled-fix.md.github/workflows/gh-aw-fragments/scheduled-fix.md.github/workflows/gh-aw-pr-actions-fixer.mdgh-agent-workflows/branch-actions-detective/example.yml.github/workflows/agent-efficiency.mdscripts/quick-setup.shWhat is this? | From workflow: Issue Triage
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.