Skip to content

chore(ci): reconcile self-hosted runners while preserving develop pipelines - #157

Open
efraespada wants to merge 33 commits into
developfrom
feature/runner-alignment-20261023
Open

efraespada wants to merge 33 commits into
developfrom
feature/runner-alignment-20261023

Conversation

@efraespada

@efraespada efraespada commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

Reconcilia la alineación de runners de master (#156) con develop, conservando los 76 commits de aplicación pendientes y su pipeline completo de publicación de paquetes.

Los workflows usan el grupo vypdev con los mismos runners self-hosted de Copilot: Linux con codex, macOS ARM64 y Windows X64 según la plataforma. Se conserva la cobertura de SwiftPM/CocoaPods, workspace/pub-cache, ejemplos moderno/legacy de Android, herramientas nativas y publicación ordenada con tags inmutables. No se sustituye esa implementación por el placeholder de master.

El SDK Flutter selecciona la arquitectura del runner y una caché versionada; Windows usa el helper ya validado con Git Bash. La selección de SwiftPM/CocoaPods usa un perfil privado por job y los tests iOS eliminan únicamente el simulador que han creado.

Validación local: actionlint, whitespace, preservación estructural de los 55 jobs de los diez workflows y de todas sus matrices; ninguna fuente de aplicación cambia frente a develop. Una prueba con Flutter 3.47.2 real verifica la configuración privada de SwiftPM sin cambiar la del operador. #156 se mergeó tras sus 38 checks correctos y review completo con cero findings. Esta reconciliación exige de nuevo todos sus checks y cero findings del head vigente antes de mergearse. No se ha despachado publicación ni deployment.

El setup Linux ya no requiere sudo: descarga/extracción privadas de los paquetes ausentes, metadatos de Perl/pkg-config y scripts GNU ld relocalizados, conservando los paquetes del sistema. Un test real en Ubuntu24.04amd64 bajoUID1000 valida clang/CMake,GTK,lcov50%,bc y cross-compilación ARM64, y comprueba que dpkg queda idéntico. El mismo contrato se ejecuta en CI con Docker en el Mac ARM64. Se incorpora también el hardening de credenciales de vypdev/copilot#682.

La CI de reconciliación detectó que setup-chrome solicitaba sudo y que CPATH introducía cabeceras Linux en el NDK. El setup ahora prepara las librerías de Chrome en su prefijo privado y descarga Chrome/ChromeDriver sin sudo; Android no recibe rutas de desarrollo del host y AArch64/Emscripten las limpian en su compilación cruzada. Se mantienen todas las matrices, casos, umbrales y el flujo completo de publicación de develop.

Regresión real OK: Ubuntu 24.04 linux/amd64 en Docker, UID1000, sin socket ni privilegios y con fuente de solo lectura: compilación GTK, compilación AArch64 con stdio, LCOV/bc y renderizado de una página con el Chrome estable real. El hash del estado dpkg del host no cambia. Lint de workflows y shell OK. Los checks de la PR se vuelven a exigir sobre el último commit.

vypbot and others added 28 commits March 17, 2026 17:31
…95e1-8f51ea562e57

chore: configure Copilot
…b04f-d915667e6d8a

chore: upgrade Copilot to 3.10.0
chore(ci): use shared self-hosted runners
@vypbot vypbot added the state:ai-processing A Copilot agent is analyzing or working on the issue or change. label Oct 24, 2026
@vypbot

vypbot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Bugbot: 1 finding needs attention

Current status: 1 finding requires attention on 3a63324.

Action: Review the linked threads or comment /copilot fix all.

Findings

Pull request · Verified commit · Workflow run

@vypbot vypbot 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.

Current status: All findings originating in this review are resolved.
Last reconciled on 3a63324. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 1 potential problem when commit 5ae3e5b was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.

Findings

  • medium: Synchronize events lack the push SHA fields — .github/workflows/copilot_pull_request.yml:34

Comment thread .github/workflows/copilot_pull_request.yml
@vypbot vypbot added state:changes-requested Review identified changes that are required. state:awaiting-issue-author The next action requires more information or changes from the issue author. and removed state:ready The change is ready for human approval or merge. state:awaiting-maintainer The next action requires a maintainer response or approval. state:ai-processing A Copilot agent is analyzing or working on the issue or change. labels Oct 24, 2026
@codecov-commenter

codecov-commenter commented Oct 24, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 50.67%. Comparing base (16a489f) to head (3a63324).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #157      +/-   ##
===========================================
- Coverage    54.10%   50.67%   -3.43%     
===========================================
  Files           12        8       -4     
  Lines          573      519      -54     
===========================================
- Hits           310      263      -47     
+ Misses         263      256       -7     
Flag Coverage Δ
cli 49.70% <ø> (ø)
platform_interface 85.71% <ø> (ø)
zstandard ?

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

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

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

@vypbot vypbot added state:reviewing A pull request is being reviewed. and removed state:changes-requested Review identified changes that are required. state:awaiting-issue-author The next action requires more information or changes from the issue author. labels Oct 24, 2026
@vypbot vypbot added state:ai-processing A Copilot agent is analyzing or working on the issue or change. state:ready The change is ready for human approval or merge. state:awaiting-maintainer The next action requires a maintainer response or approval. and removed state:reviewing A pull request is being reviewed. state:ai-processing A Copilot agent is analyzing or working on the issue or change. labels Oct 24, 2026
@vypbot vypbot added state:ai-processing A Copilot agent is analyzing or working on the issue or change. state:blocked The workflow is blocked and needs human input. and removed state:ready The change is ready for human approval or merge. state:ai-processing A Copilot agent is analyzing or working on the issue or change. labels Oct 24, 2026
@vypbot vypbot added the state:ai-processing A Copilot agent is analyzing or working on the issue or change. label Oct 24, 2026

@vypbot vypbot 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.

Current status: 1 finding originating in this review requires attention.
Last reconciled on 3a63324. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 1 potential problem when commit 3a63324 was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.

Findings

  • medium: Browser dependencies exclude Ubuntu 22.04 package names — .github/actions/setup-linux-dependencies/action.yml:46

SUDO=(sudo)
else
echo "The self-hosted runner needs passwordless sudo to install CI dependencies."
exit 1

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.

Browser dependencies exclude Ubuntu 22.04 package names

Severity: medium

Category: reliability · Confidence: 83%

Location: .github/actions/setup-linux-dependencies/action.yml:46

When the browser input is true, this list requests only the t64 package names. Ubuntu 22.04 provides the corresponding libraries under their older names, so the private apt-get install fails to resolve them and Web jobs cannot prepare their Chrome runtime dependencies on that supported Debian/Ubuntu runner configuration.
Evidence:
The dependency action accepts Debian/Ubuntu runners, while this browser-only package list contains names such as libasound2t64 and libcups2t64. Those names are not available in Ubuntu 22.04; apt fails the install before the Web integration test can run. The contract fixture tests only ubuntu:24.04, so it does not catch this compatibility failure.

Suggested fix:
Select package names based on the runner distribution/release, or resolve the required libraries through packages available on both supported Ubuntu releases.

@vypbot vypbot added state:changes-requested Review identified changes that are required. state:awaiting-issue-author The next action requires more information or changes from the issue author. and removed state:blocked The workflow is blocked and needs human input. state:awaiting-maintainer The next action requires a maintainer response or approval. state:ai-processing A Copilot agent is analyzing or working on the issue or change. labels Oct 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state:awaiting-issue-author The next action requires more information or changes from the issue author. state:changes-requested Review identified changes that are required.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants