Skip to content

chore: initialize fullsend per-repo installation#13056

Merged
openshift-merge-bot[bot] merged 1 commit into
redhat-appstudio:mainfrom
enkeefe00:fullsend/scaffold-install
Jul 15, 2026
Merged

chore: initialize fullsend per-repo installation#13056
openshift-merge-bot[bot] merged 1 commit into
redhat-appstudio:mainfrom
enkeefe00:fullsend/scaffold-install

Conversation

@enkeefe00

Copy link
Copy Markdown
Contributor

This PR adds the fullsend scaffold files for per-repo installation.

Merge this PR to activate fullsend workflows.

@github-actions

Copy link
Copy Markdown
Contributor

Kustomize Render Diff

Comparing 784d224d5554876263

No render differences detected.

@qodo-for-redhat-appstudio

Copy link
Copy Markdown

PR Summary by Qodo

Initialize per-repo fullsend installation scaffold

⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Add per-repo fullsend configuration and customization scaffold directories.
• Add GitHub Actions shim workflow to route events into fullsend reusable workflows.
• Support /fs-fix-stop comment to label PRs and disable fix-agent runs.
Diagram

graph TD
  A{{"GitHub events"}} --> B(["fullsend.yaml (shim)"]) --> C{{"fullsend reusable-dispatch.yml"}} --> D{{"fullsend stage workflows"}} --> E(["Repo actions (PR/issue updates)"])
  B --> F[".fullsend/config.yaml"]
  subgraph Legend
    direction LR
    _evt{{"Event/External"}} ~~~ _wf(["Workflow/Job"]) ~~~ _cfg["Config file"]
  end
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Vendor upstream workflows into this repo
  • ➕ Full control over behavior and update cadence
  • ➕ No dependency on upstream repo availability
  • ➖ More maintenance burden to keep in sync with upstream
  • ➖ Higher risk of diverging security hardening and best practices
2. Reference an upstream tag (e.g., @v0.30.0) instead of a pinned SHA
  • ➕ More readable and easier to update
  • ➕ Aligns with common GitHub Actions usage patterns
  • ➖ Less supply-chain rigidity if tags are moved/retargeted
  • ➖ Pinned SHA provides stronger immutability guarantees
3. Centralized (non per-repo) installation mode
  • ➕ One place to manage workflows/config for many repos
  • ➕ Potentially simpler rollouts of org-wide changes
  • ➖ Less repo autonomy; harder to tailor repo-specific policy/roles
  • ➖ Higher blast radius if central config is misconfigured

Recommendation: The PR’s per-repo shim + pinned reusable workflow SHA is a solid approach for security and low maintenance in-repo. Keep the pinned SHA for immutability; if update ergonomics become painful, consider adding a scheduled dependency bump process rather than switching to tags or vendoring.

Files changed (12) +108 / -0

Other (12) +108 / -0
config.yamlAdd per-repo fullsend configuration (roles, remotes, issue targets) +18/-0

Add per-repo fullsend configuration (roles, remotes, issue targets)

• Introduces the repository-local fullsend config with enabled roles and a allowlist for remote scaffold resources. Restricts issue creation targets to specific repositories.

.fullsend/config.yaml

.gitkeepAdd agents customization scaffold directory +0/-0

Add agents customization scaffold directory

• Adds a placeholder file so the agents customization directory is tracked in git for per-repo fullsend overrides.

.fullsend/customized/agents/.gitkeep

.gitkeepAdd env customization scaffold directory +0/-0

Add env customization scaffold directory

• Adds a placeholder file so the env customization directory is tracked in git for per-repo fullsend overrides.

.fullsend/customized/env/.gitkeep

.gitkeepAdd harness customization scaffold directory +0/-0

Add harness customization scaffold directory

• Adds a placeholder file so the harness customization directory is tracked in git for per-repo fullsend overrides.

.fullsend/customized/harness/.gitkeep

.gitkeepAdd plugins customization scaffold directory +0/-0

Add plugins customization scaffold directory

• Adds a placeholder file so the plugins customization directory is tracked in git for per-repo fullsend overrides.

.fullsend/customized/plugins/.gitkeep

.gitkeepAdd policies customization scaffold directory +0/-0

Add policies customization scaffold directory

• Adds a placeholder file so the policies customization directory is tracked in git for per-repo fullsend overrides.

.fullsend/customized/policies/.gitkeep

.gitkeepAdd profiles customization scaffold directory +0/-0

Add profiles customization scaffold directory

• Adds a placeholder file so the profiles customization directory is tracked in git for per-repo fullsend overrides.

.fullsend/customized/profiles/.gitkeep

.gitkeepAdd providers customization scaffold directory +0/-0

Add providers customization scaffold directory

• Adds a placeholder file so the providers customization directory is tracked in git for per-repo fullsend overrides.

.fullsend/customized/providers/.gitkeep

.gitkeepAdd schemas customization scaffold directory +0/-0

Add schemas customization scaffold directory

• Adds a placeholder file so the schemas customization directory is tracked in git for per-repo fullsend overrides.

.fullsend/customized/schemas/.gitkeep

.gitkeepAdd scripts customization scaffold directory +0/-0

Add scripts customization scaffold directory

• Adds a placeholder file so the scripts customization directory is tracked in git for per-repo fullsend overrides.

.fullsend/customized/scripts/.gitkeep

.gitkeepAdd skills customization scaffold directory +0/-0

Add skills customization scaffold directory

• Adds a placeholder file so the skills customization directory is tracked in git for per-repo fullsend overrides.

.fullsend/customized/skills/.gitkeep

fullsend.yamlAdd fullsend shim workflow for per-repo installation +90/-0

Add fullsend shim workflow for per-repo installation

• Introduces a managed shim workflow that listens to issues/PR events and delegates execution to fullsend’s pinned reusable dispatcher. Also adds a guarded '/fs-fix-stop' path that labels a PR to suppress fix-agent runs and leaves a notification comment.

.github/workflows/fullsend.yaml

@codecov

codecov Bot commented Jul 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 57.11%. Comparing base (784d224) to head (4ae8183).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main   #13056   +/-   ##
=======================================
  Coverage   57.11%   57.11%           
=======================================
  Files          23       23           
  Lines        1455     1455           
=======================================
  Hits          831      831           
  Misses        548      548           
  Partials       76       76           
Flag Coverage Δ
go 57.11% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hugares hugares left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci

openshift-ci Bot commented Jul 15, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: enkeefe00, hugares

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot Bot merged commit 53982f5 into redhat-appstudio:main Jul 15, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants