From a117db2e57727bc9827089a5d51af0ca54dbac78 Mon Sep 17 00:00:00 2001 From: aarroyo Date: Sat, 25 Jul 2026 18:48:55 -0500 Subject: [PATCH] ci: corregir workflows rotos (.NET Build & Test + Monorepo CI) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dos bugs de configuración que dejaban la CI en rojo por rutas/entorno, no por el código: - build.yml (.NET Build & Test): elimina los pasos que restauran/compilan soluciones de shell VENDORIZADAS inexistentes (src/libs/shell/ddd/.../Ums.Shell.Ddd.sln, Ums.Shell.Factory.sln → MSB1009 "Project file does not exist"). Los shells cross son paquetes NuGet BeyondNetCode.Shell.* publicados en nuget.org (v1.0.0) y los resuelve el restore de Ums.sln vía PackageReference. - ci.yml (UMS Monorepo CI): el job corría en la raíz del repo, pero el workspace npm/nx vive en src/ (npm ci → ENOENT package.json). Se fija defaults.run.working-directory: src, se sube Node 18 → 22 (React Router v8 exige node>=22) y se apunta el cache de npm a src/package-lock.json. No se tocan las puertas de calidad (lint/test/audit): siguen ejerciendo su función; el rojo restante que puedan mostrar es deuda preexistente del repo (seeding de integración G-014, deuda de lint global, vulnerabilidades), no un defecto de estos workflows. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/build.yml | 21 ++++----------------- .github/workflows/ci.yml | 9 +++++++-- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a3fef344..10a0d884 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,23 +29,10 @@ jobs: dotnet-version: '10.x' # ── Shell libraries ──────────────────────────────────────────────── - - name: Restore – Shell DDD lib - run: dotnet restore src/libs/shell/ddd/src/Ums.Shell.Ddd/Ums.Shell.Ddd.sln - - - name: Build – Shell DDD lib - run: dotnet build src/libs/shell/ddd/src/Ums.Shell.Ddd/Ums.Shell.Ddd.sln --no-restore --configuration Release - - - name: Test – Shell DDD lib - run: dotnet test src/libs/shell/ddd/src/Ums.Shell.Ddd/Ums.Shell.Ddd.sln --no-build --configuration Release --logger "console;verbosity=minimal" - - - name: Restore – Shell Factory lib - run: dotnet restore src/libs/shell/factory/src/Ums.Shell.Factory.sln - - - name: Build – Shell Factory lib - run: dotnet build src/libs/shell/factory/src/Ums.Shell.Factory.sln --no-restore --configuration Release - - - name: Test – Shell Factory lib - run: dotnet test src/libs/shell/factory/src/Ums.Shell.Factory.sln --no-build --configuration Release --logger "console;verbosity=minimal" + # Los shells cross (BeyondNetCode.Shell.*) se consumen como paquetes NuGet + # publicados en nuget.org (repos beyondnetcode/Shell.*), NO como código + # vendorizado. El `Restore – UMS API` de abajo los resuelve vía PackageReference, + # así que aquí no se restauran/compilan soluciones locales (que no existen). # ── Main API ─────────────────────────────────────────────────────── - name: Restore – UMS API diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eda21be0..2dbc2e0b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,17 +11,22 @@ jobs: ci: name: Build, Lint and Test (CI) runs-on: ubuntu-latest + # El workspace npm/nx del monorepo vive bajo src/, no en la raíz del repo. + defaults: + run: + working-directory: src steps: - name: Checkout Repository uses: actions/checkout@v4 with: fetch-depth: 0 # Required for SonarCloud analysis - - name: Setup Node.js v18 + - name: Setup Node.js v22 uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 22 # React Router v8 exige node >= 22 cache: 'npm' + cache-dependency-path: src/package-lock.json - name: Install Dependencies run: npm ci