From 3ce85d8d2ec100e4f4b716e1427240583c1d7df7 Mon Sep 17 00:00:00 2001 From: enlineawork Date: Mon, 7 Sep 2026 10:23:20 -0300 Subject: [PATCH] =?UTF-8?q?F3.1=20CI:=20validar=20Inventario=20estructural?= =?UTF-8?q?=20y=20cat=C3=A1logo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/f3-1-ci.yml | 83 +++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .github/workflows/f3-1-ci.yml diff --git a/.github/workflows/f3-1-ci.yml b/.github/workflows/f3-1-ci.yml new file mode 100644 index 0000000..e0f8d12 --- /dev/null +++ b/.github/workflows/f3-1-ci.yml @@ -0,0 +1,83 @@ +name: F3.1 Inventory CI + +on: + push: + branches: + - 'feature/f3-1*' + workflow_dispatch: + +permissions: + contents: read + +jobs: + api: + runs-on: ubuntu-latest + timeout-minutes: 25 + defaults: + run: + working-directory: api-v3 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '24' + cache: npm + cache-dependency-path: api-v3/package-lock.json + - run: npm ci + - name: Typecheck + run: npm run typecheck 2>&1 | tee typecheck.log + - name: Tests + run: npm test 2>&1 | tee test.log + - name: Build + run: npm run build 2>&1 | tee build.log + - name: Diagnostics + if: always() + uses: actions/upload-artifact@v4 + with: + name: f3-1-api-diagnostics + path: | + api-v3/typecheck.log + api-v3/test.log + api-v3/build.log + if-no-files-found: warn + retention-days: 3 + + web: + runs-on: ubuntu-latest + timeout-minutes: 20 + defaults: + run: + working-directory: web-v2 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '24' + cache: npm + cache-dependency-path: web-v2/package-lock.json + - run: npm ci + - name: Typecheck + run: npm run typecheck 2>&1 | tee typecheck.log + - name: Build + run: npm run build 2>&1 | tee build.log + - name: Diagnostics + if: always() + uses: actions/upload-artifact@v4 + with: + name: f3-1-web-diagnostics + path: | + web-v2/typecheck.log + web-v2/build.log + if-no-files-found: warn + retention-days: 3 + + docker: + needs: [api, web] + runs-on: ubuntu-latest + timeout-minutes: 25 + steps: + - uses: actions/checkout@v4 + - name: Validate Compose + run: docker compose --env-file .env.example config >/dev/null + - name: Build production images + run: docker compose --env-file .env.example build api migrate web