deploy-status: success · phase complete

This commit is contained in:
DH V2 Deploy Bot
2026-09-14 11:03:15 -03:00
commit 2ffaab15a4
2 changed files with 512 additions and 0 deletions
+500
View File
@@ -0,0 +1,500 @@
✔ D5.3.20 builds OOXML Word from the frozen act snapshot without external document dependencies (0.295001ms)
✔ F4 keeps report generation act-scoped while findings and inspection lifecycle remain independent (0.143439ms)
✔ D5.3.21/F4 stores configurable recipients without hardcoding addresses and retires Director delivery (0.917552ms)
✔ D5.3.21 creates an immutable act PDF and separates its delivery from the editable INF Word (0.210622ms)
✔ D5.3.21 keeps an auditable retryable outbox with explicit waiting states (0.560927ms)
✔ F4 SMTP can be administered in database while retaining environment fallback (0.150419ms)
✔ D5.3.21/F4 delivery stays act-scoped after multiple acts per inspection (0.28184ms)
✔ D5.3.22 revision ledger is retained as historical INF versioning (4.398318ms)
✔ F4 explicitly retires Director review approval and final-signature state (0.316654ms)
✔ F4 removes active Director endpoints but preserves historical signature evidence (0.2821ms)
✔ F4 replaces Director approval with editable INF then immutable GEDO IF officialization (0.142208ms)
✔ F4 delivery has no Director recipient while preserving company office and inspector copies (0.711827ms)
✔ F4 Director-retirement rollback reconstructs schema and RBAC contract without inventing deleted data (0.188258ms)
✔ F4 document workflow changes do not reopen acts or mutate finding history (0.175518ms)
✔ D5.3.23 records field discoveries as auditable provisional inventory records (1.286345ms)
✔ D5.3.23 only lets a mobile assigned inspector create during an active visit (0.324586ms)
✔ F1.1 preserves D5.3.23 field discovery while linking only to the current draft act (0.174145ms)
✔ D5.3.23 office review can approve match or reject without deleting historical objects (0.143959ms)
✔ D5.3.23 preserves immutable inspection history when matching an existing inventory object (0.11166ms)
✔ D5.3.24 stores parent area and operator as explicit non-overlapping temporal context (1.196528ms)
✔ D5.3.24 reconstructs previous context from immutable asset versions during migration (0.2022ms)
✔ D5.3.24 separates ordinary editing from an audited context transfer (0.380211ms)
✔ D5.3.24 closes the previous interval and appends the replacement without deleting history (0.311366ms)
✔ D5.3.24 temporal reconstruction resolves context by effective validity at the requested instant (0.128326ms)
✔ D5.3.25 creates an append-only verification event ledger and reconstructs prior history (1.180773ms)
✔ D5.3.25 records every office control-date change without replacing historical events (0.344516ms)
✔ D5.3.25 makes one field result immutable and appends its result event (0.204622ms)
✔ D5.3.25 preserves successive verification visits as separate historical attempts (0.162829ms)
✔ D5.3.25 exposes the complete verification history through finding detail and a dedicated endpoint (0.122506ms)
✔ D5.3.3 separates operational state from data quality and adds registry structures (7.456258ms)
✔ D5.3.3 keeps physical hierarchy separate from legal and organizational relations (2.766806ms)
✔ D5.3.3 only accepts OPERATOR relations for exclusive asset assignment (1.844447ms)
✔ D5.4.1 exports controller-visible selection views so Nest declaration build can name them (1.15939ms)
✔ D5.4 models type applicability and concrete Inventory exceptions separately (0.650814ms)
✔ D5.4 exposes only applicable catalog items and enforces the same rule on field creation (0.193336ms)
✔ D5.4 stores suggested and actual severity independently on the 1 to 10 scale (0.11777ms)
✔ D5.4 turns OTHER into an office proposal without rewriting the original finding (0.109057ms)
✔ D5.4 keeps contextual catalog administration in office permissions and audited routes (0.114915ms)
✔ D5.5 stores explicit Area and Operator context plus append-only checklist generations (0.970663ms)
✔ D5.5 exposes Area then active OPERATOR choices and a server-generated planning checklist (0.273358ms)
✔ D5.5 classifies antecedents overdue items and next controls while adding actionable assets automatically (0.181567ms)
✔ D5.5 treats manual additions as preventive and requires an auditable reason for exclusions (0.580006ms)
✔ D5.5/F4 keeps verification visits inside the Area Operator contract and start remains APK-only (0.280779ms)
✔ D5.5/F4 requires a current checklist before planning or start and keeps start under mobile policy (0.17053ms)
✔ D5.6.1 exposes controlled administrative password reset with the existing user-update permission (1.759537ms)
✔ D5.6.1 resets lockout revokes sessions and audits without persisting the password value (0.32766ms)
✔ D5.6.4/F4 generates inspection codes server-side with an annual transactional sequence (2.655176ms)
✔ D5.6.4/F4 creates one inspection from Area Operator, start and lead inspector without legacy title or end date (0.771449ms)
✔ D5.6.4 assigns the lead inspector and generates the checklist in the same creation transaction (0.238124ms)
✔ D5.6.4/F4 uses the same inspection numbering and start-only planning for verification visits (2.250126ms)
✔ D5.6 immutable act closure survives F4 as LOCKED then SEALED (1.235957ms)
✔ D5.6 preserves findings responses evidence and verification history as non destructive follow-up (0.460113ms)
✔ D5.6 keeps Inventory temporal context and contextual finding applicability independent and historical (0.378999ms)
✔ F4 preserves reviewed web planning and APK-only inspection execution (0.254518ms)
✔ D5.6 report generation remains attached to sealing each act (3.344449ms)
✔ F4 replaces Director approval with editable INF then immutable GEDO IF officialization (0.397407ms)
✔ F4 keeps auditable delivery, removes Director recipient and makes SMTP administrable (0.289062ms)
✔ D5.6 remains a historical closure baseline while Phase F introduces explicit migrations (0.525242ms)
✔ F1.1/F4 allows many acts per inspection while keeping only one draft at a time (1.042772ms)
✔ F1.1/F4 preserves exactly one frozen report per act instead of per inspection (0.232816ms)
✔ F4 seals one act without closing its parent inspection (0.411588ms)
✔ F4 closes an inspection only after every non-cancelled act is sealed (0.200506ms)
✔ F4 requires exactly one terminal company outcome before an act can be sealed (0.199666ms)
✔ F1.1/F4 keeps field-created Inventory linked only to the current draft act (1.029412ms)
✔ F1.2 stores one append-only administrative deadline ledger per Act (1.337452ms)
✔ F1.2 preserves ambiguous historical finding deadlines instead of collapsing them (0.124ms)
✔ F1.2 stores company responses and protected PDF metadata at Act level (0.096167ms)
✔ F1.2 deadline and company response DTOs reject invalid office input (4.580706ms)
✔ F1.2 derives administrative queues from Acts instead of replacing finding history (0.125301ms)
✔ F1.3 agrupa pendientes de campo por Acta y Hallazgo (0.947207ms)
✔ F1.3 expone el briefing para una inspección planificada (0.548969ms)
✔ F1.3 no usa el plazo del Hallazgo como plazo administrativo (0.290023ms)
✔ F4 removes the Survey execution controller from the active API (1.177319ms)
✔ F4 removes Survey execution and review permissions from active authorization (0.202219ms)
✔ F4 removes Survey execution DTOs together with the retired endpoint surface (1.497698ms)
✔ F4 drops Survey report tables without CASCADE so unexpected dependencies stop migration (0.427983ms)
✔ F4 rollback can reconstruct the historical Survey report integrity rules (2.065725ms)
✔ F4 removes Survey planning controllers from the active API (0.917031ms)
✔ F4 removes Survey planning permissions and their role bindings (0.208758ms)
✔ F4 rollback retains the former role-permission map only as a reversible migration path (0.146303ms)
✔ F4 removes Survey planning DTOs from the active code surface (0.860645ms)
✔ F4 drops Survey planning tables after removing their permissions (0.225524ms)
✔ F4 rollback can reconstruct historical Survey planning dates and asset references (0.169258ms)
✔ TokenService issues and verifies access tokens (9.027128ms)
✔ TokenService rotates opaque refresh credentials without storing plaintext (1.128814ms)
tests 436
suites 0
pass 436
fail 0
cancelled 0
skipped 0
todo 0
duration_ms 66598.450181
========== BUILD WEB CANDIDATA ==========
#0 building with "default" instance using docker driver
#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 334B done
#1 DONE 0.0s
#2 [internal] load metadata for docker.io/library/node:24-alpine
#2 DONE 0.5s
#3 [internal] load metadata for docker.io/library/nginx:alpine
#3 DONE 0.7s
#4 [internal] load .dockerignore
#4 transferring context: 75B done
#4 DONE 0.0s
#5 [builder 1/7] FROM docker.io/library/node:24-alpine@sha256:50c8e8ca1d27439048670df5883f32d57cf81cff6233222c893fd0d9884cbd81
#5 resolve docker.io/library/node:24-alpine@sha256:50c8e8ca1d27439048670df5883f32d57cf81cff6233222c893fd0d9884cbd81 0.0s done
#5 DONE 0.0s
#6 [stage-1 1/3] FROM docker.io/library/nginx:alpine@sha256:72ba65eb42c10344912a84ff42408db7d34f2feb642204570ab8fc5ffd29f1d3
#6 resolve docker.io/library/nginx:alpine@sha256:72ba65eb42c10344912a84ff42408db7d34f2feb642204570ab8fc5ffd29f1d3 0.0s done
#6 DONE 0.0s
#7 [internal] load build context
#7 transferring context: 1.22MB 0.0s done
#7 DONE 0.1s
#8 [builder 2/7] WORKDIR /app
#8 CACHED
#9 [builder 3/7] COPY package*.json ./
#9 CACHED
#10 [builder 5/7] COPY tsconfig*.json vite.config.ts index.html ./
#10 CACHED
#11 [stage-1 2/3] COPY nginx/default.conf /etc/nginx/conf.d/default.conf
#11 CACHED
#12 [builder 7/7] RUN npm run build
#12 CACHED
#13 [builder 4/7] RUN npm ci
#13 CACHED
#14 [builder 6/7] COPY src ./src
#14 CACHED
#15 [stage-1 3/3] COPY --from=builder /app/dist /usr/share/nginx/html
#15 CACHED
#16 exporting to image
#16 exporting layers 0.0s done
#16 exporting manifest sha256:8e9f8366bc74717e1d301433dd6b09b523db6e7b597eb4ac2f1fb05dcaa262e3
#16 exporting manifest sha256:8e9f8366bc74717e1d301433dd6b09b523db6e7b597eb4ac2f1fb05dcaa262e3 done
#16 exporting config sha256:ba767c7801e6c8e6d587a9350a3b5b23f55ebe6cb10138371a826fa70f0ba175 done
#16 exporting attestation manifest sha256:849ebc2f367dff660e0b6826edfee9762b074aa9bb4ee6f9172cd93e18850f9d 0.0s done
#16 exporting manifest list sha256:a0e05698f017dfc919d8fa9881030a66450e5f0a5ba14693875c771b6a03dc11 0.0s done
#16 naming to docker.io/library/dhv2-web:gitea-20260914_110058 done
#16 unpacking to docker.io/library/dhv2-web:gitea-20260914_110058 0.1s done
#16 DONE 0.2s
========== BACKUP PRE ==========
database-before.dump: OK
source-before.tar.gz: OK
.env: OK
previous.sha: OK
target.sha: OK
docker-before.txt: OK
========== FAST-FORWARD ==========
2388052 fix(api): align health version with package metadata
637c28d fix(web): align visible version with 0.23.0-2
fc0c62c docs(android): pin 0.19.2 server compatibility
3ab10b3 chore(web): bump version for deferred Acta urgency
c6475c8 fix(api): clear legacy draft urgency during migration
b757bf7 ci(gitea): run planning smoke API requests inside container
e30e5d9 fix(android): align Acta flow and defer urgency to close
d44ae04 test(android): align 0.19.1 release contract and record field review
78e9297 fix(android): align GPS and technical inventory field workflow
7fcb1d4 fix(android): harden field session and writes for 0.19.1 candidate
Updating e55684b..2388052
Fast-forward
.github/workflows/android.yml | 10 +-
android-app/FINAL_RELEASE_CHECKLIST.md | 9 +-
android-app/RELEASE.md | 48 ++++++++--
android-app/REVIEW_0_19_1.md | 49 ++++++++++
android-app/app/build.gradle.kts | 4 +-
.../com/korexlabs/dhinspeccion/MainViewModel.kt | 100 ++++++++++----------
.../com/korexlabs/dhinspeccion/OperationTracker.kt | 16 ++++
.../com/korexlabs/dhinspeccion/data/DhMobile.kt | 31 +++---
.../dhinspeccion/data/FieldCoordinates.kt | 14 +++
.../dhinspeccion/data/FieldFindingsMobile.kt | 24 ++---
.../com/korexlabs/dhinspeccion/data/MobileActs.kt | 45 ++++-----
.../dhinspeccion/data/MobileInspectionOpen.kt | 18 +---
.../dhinspeccion/data/MobileSessionCoordinator.kt | 32 +++++++
.../korexlabs/dhinspeccion/data/TechnicalValues.kt | 64 +++++++++++++
.../dhinspeccion/ui/FieldFindingScreen.kt | 4 +
.../com/korexlabs/dhinspeccion/ui/LoginGate.kt | 12 ++-
.../korexlabs/dhinspeccion/ui/MobileActsScreen.kt | 51 +++++-----
.../dhinspeccion/ui/ModernMobileActsScreen.kt | 76 ++++++++-------
.../korexlabs/dhinspeccion/ui/ModernVisitRoot.kt | 61 +++++-------
.../dhinspeccion/ui/TechnicalFieldsButton.kt | 99 +++++++++++++++++++
.../korexlabs/dhinspeccion/FieldCoordinatesTest.kt | 24 +++++
.../dhinspeccion/FinalFieldFlowContractTest.kt | 2 +-
.../dhinspeccion/MobileSessionCoordinatorTest.kt | 105 +++++++++++++++++++++
.../korexlabs/dhinspeccion/OperationTrackerTest.kt | 28 ++++++
.../korexlabs/dhinspeccion/ReleaseMetadataTest.kt | 4 +-
.../korexlabs/dhinspeccion/TechnicalValuesTest.kt | 28 ++++++
api-v3/package-lock.json | 4 +-
api-v3/package.json | 2 +-
.../src/database/entities/inspection-act.entity.ts | 4 +-
.../1790113800000-f6-1-act-urgency-at-lock.ts | 17 ++++
.../dto/create-inspection-act.dto.ts | 5 -
.../dto/update-inspection-act.dto.ts | 6 --
.../src/inspection-acts/inspection-acts.service.ts | 5 +-
.../dto/prepare-inspection-act.dto.ts | 7 ++
.../inspection-closing.controller.ts | 4 +-
.../inspection-closing.service.ts | 34 ++++---
api-v3/src/version.ts | 2 +-
.../unit/f4-act-web-lifecycle-contract.test.ts | 2 +-
api-v3/test/unit/f4-android-act-contract.test.ts | 2 +-
api-v3/test/unit/f4-health-metadata.test.ts | 6 +-
api-v3/test/unit/f5-android-test-cut.test.ts | 4 +-
.../test/unit/f6-3-mobile-act-finding-flow.test.ts | 32 +++++--
api-v3/test/unit/inspection-acts-dto.test.ts | 6 +-
api-v3/test/unit/inspection-closing-dto.test.ts | 12 +++
scripts/ci-inspection-planning-smoke.sh | 44 +++++----
web-v2/package-lock.json | 4 +-
web-v2/package.json | 2 +-
web-v2/src/config/version.ts | 2 +-
.../inspections/InspectionClosurePanel.tsx | 2 +-
web-v2/src/lib/inspectionActF4Api.ts | 4 +-
web-v2/src/pages/InspectionActEditorPage.tsx | 2 +-
51 files changed, 850 insertions(+), 322 deletions(-)
create mode 100644 android-app/REVIEW_0_19_1.md
create mode 100644 android-app/app/src/main/java/com/korexlabs/dhinspeccion/OperationTracker.kt
create mode 100644 android-app/app/src/main/java/com/korexlabs/dhinspeccion/data/FieldCoordinates.kt
create mode 100644 android-app/app/src/main/java/com/korexlabs/dhinspeccion/data/MobileSessionCoordinator.kt
create mode 100644 android-app/app/src/main/java/com/korexlabs/dhinspeccion/data/TechnicalValues.kt
create mode 100644 android-app/app/src/main/java/com/korexlabs/dhinspeccion/ui/TechnicalFieldsButton.kt
create mode 100644 android-app/app/src/test/java/com/korexlabs/dhinspeccion/FieldCoordinatesTest.kt
create mode 100644 android-app/app/src/test/java/com/korexlabs/dhinspeccion/MobileSessionCoordinatorTest.kt
create mode 100644 android-app/app/src/test/java/com/korexlabs/dhinspeccion/OperationTrackerTest.kt
create mode 100644 android-app/app/src/test/java/com/korexlabs/dhinspeccion/TechnicalValuesTest.kt
create mode 100644 api-v3/src/database/migrations/1790113800000-f6-1-act-urgency-at-lock.ts
create mode 100644 api-v3/src/inspection-closing/dto/prepare-inspection-act.dto.ts
========== BUILD PRODUCCIÓN ==========
Image dhv2-api Building
Image dhv2-web Building
Image dhv2-migrate Building
#1 [internal] load local bake definitions
#1 reading from stdin 1.35kB done
#1 DONE 0.0s
#2 [migrate internal] load build definition from Dockerfile
#2 transferring dockerfile: 595B done
#2 DONE 0.0s
#3 [web internal] load build definition from Dockerfile
#3 transferring dockerfile: 407B done
#3 DONE 0.0s
#4 [web internal] load metadata for docker.io/library/node:24-alpine
#4 ...
#5 [web internal] load metadata for docker.io/library/nginx:alpine
#5 DONE 0.2s
#4 [migrate internal] load metadata for docker.io/library/node:24-alpine
#4 DONE 0.2s
#6 [web internal] load .dockerignore
#6 transferring context: 148B done
#6 DONE 0.0s
#7 [migrate internal] load .dockerignore
#7 transferring context: 147B done
#7 DONE 0.0s
#8 [web internal] load build context
#8 DONE 0.0s
#9 [migrate internal] load build context
#9 DONE 0.0s
#10 [migrate builder 1/7] FROM docker.io/library/node:24-alpine@sha256:50c8e8ca1d27439048670df5883f32d57cf81cff6233222c893fd0d9884cbd81
#10 resolve docker.io/library/node:24-alpine@sha256:50c8e8ca1d27439048670df5883f32d57cf81cff6233222c893fd0d9884cbd81 0.1s done
#10 DONE 0.1s
#11 [web stage-1 1/3] FROM docker.io/library/nginx:alpine@sha256:72ba65eb42c10344912a84ff42408db7d34f2feb642204570ab8fc5ffd29f1d3
#11 resolve docker.io/library/nginx:alpine@sha256:72ba65eb42c10344912a84ff42408db7d34f2feb642204570ab8fc5ffd29f1d3 0.1s done
#11 DONE 0.1s
#9 [migrate internal] load build context
#9 ...
#8 [web internal] load build context
#8 transferring context: 1.23MB 0.1s done
#8 DONE 0.1s
#9 [migrate internal] load build context
#9 transferring context: 2.61MB 0.3s done
#9 DONE 0.3s
#12 [web stage-1 2/3] COPY nginx/default.conf /etc/nginx/conf.d/default.conf
#12 CACHED
#13 [web builder 2/7] WORKDIR /app
#13 CACHED
#14 [web builder 3/7] COPY package*.json ./
#14 CACHED
#15 [web builder 4/7] RUN npm ci
#15 CACHED
#16 [web builder 5/7] COPY tsconfig*.json vite.config.ts index.html ./
#16 CACHED
#17 [web builder 6/7] COPY src ./src
#17 CACHED
#18 [web builder 7/7] RUN npm run build
#18 CACHED
#19 [web stage-1 3/3] COPY --from=builder /app/dist /usr/share/nginx/html
#19 CACHED
#13 [migrate builder 2/7] WORKDIR /app
#13 CACHED
#20 [migrate builder 3/7] COPY package*.json ./
#20 CACHED
#21 [migrate builder 4/7] RUN npm ci
#21 CACHED
#22 [migrate builder 5/7] COPY nest-cli.json tsconfig.json ./
#22 CACHED
#23 [migrate builder 6/7] COPY src ./src
#23 DONE 0.2s
#24 [web] exporting to image
#24 exporting layers 0.0s done
#24 exporting manifest sha256:15b625150665274f80bb75f1b9c89f5b7c5a3177ca19dd97c4c4d831ef6d0501 0.0s done
#24 exporting config sha256:bb75764566f45722d26fedc2e7489b01fee987c36a3919b7c50a59d0d4003c67 0.0s done
#24 exporting attestation manifest sha256:460c9215c7446620029d7064fd5a9a5ad6a3fe9688eaefcc3da5f668a858bdde 0.2s done
#24 exporting manifest list sha256:5dfe1b3588504ea21f4dc8f1a62b5856b4b48f7de313a0c0d2242aa789495c71 0.0s done
#24 naming to docker.io/library/dhv2-web:latest
#24 naming to docker.io/library/dhv2-web:latest done
#24 unpacking to docker.io/library/dhv2-web:latest 0.1s done
#24 DONE 0.5s
#25 [migrate builder 7/7] RUN npm run build
#25 ...
#26 [web] resolving provenance for metadata file
#26 DONE 0.1s
#25 [migrate builder 7/7] RUN npm run build
#25 0.748
#25 0.748 > dhv2-api@0.29.0-2 build
#25 0.748 > nest build
#25 0.748
#25 DONE 17.0s
#27 [migrate runner 3/7] WORKDIR /app
#27 CACHED
#28 [migrate runner 4/7] COPY package*.json ./
#28 CACHED
#29 [migrate runner 2/7] RUN apk add --no-cache unzip
#29 CACHED
#30 [migrate runner 5/7] RUN npm ci --omit=dev && npm cache clean --force
#30 CACHED
#27 [api runner 3/7] WORKDIR /app
#27 CACHED
#28 [api runner 4/7] COPY package*.json ./
#28 CACHED
#29 [api runner 2/7] RUN apk add --no-cache unzip
#29 CACHED
#31 [migrate runner 6/7] COPY --from=builder /app/dist ./dist
#31 DONE 0.2s
#32 [api runner 7/7] RUN mkdir -p /app/storage/asset-media/imports && chown -R node:node /app/storage
#32 DONE 0.3s
#33 [migrate] exporting to image
#33 exporting layers
#33 exporting layers 0.3s done
#33 exporting manifest sha256:a033ecd35eaf16fa7b010b8c6938c30193d39698afaadbb4440f1a2b556b1f5b
#33 exporting manifest sha256:a033ecd35eaf16fa7b010b8c6938c30193d39698afaadbb4440f1a2b556b1f5b 0.1s done
#33 exporting config sha256:1e83d24727773012322785c76364a7b88fc2280343842ac3199c8a877662031c 0.0s done
#33 exporting attestation manifest sha256:39dd978b8b39a25c62e1f2c64bc2b8d121f7fb066bd3fbd6e2a86f7174454ff1
#33 exporting attestation manifest sha256:39dd978b8b39a25c62e1f2c64bc2b8d121f7fb066bd3fbd6e2a86f7174454ff1 0.0s done
#33 exporting manifest list sha256:56fbd9d6fa8de6c61c855c7d1b92656fc947fe7df340d5a7954e1a83651c5088 0.0s done
#33 naming to docker.io/library/dhv2-migrate:latest done
#33 unpacking to docker.io/library/dhv2-migrate:latest
#33 unpacking to docker.io/library/dhv2-migrate:latest 0.2s done
#33 DONE 0.7s
#34 [api] exporting to image
#34 exporting layers 0.3s done
#34 exporting manifest sha256:d119421e73e4de4be5a657c4e0c7908e453f42dafa5edc3a274747693d893349 0.1s done
#34 exporting config sha256:a771ceb481567df296ab27eca910fa466aab92cc8fdea0218e41eb32b978146c 0.0s done
#34 exporting attestation manifest sha256:d5d52d4eb3fd70550f99db6e1f5e6397accb6ec57fbea549a9d79dad09d27518 0.0s done
#34 exporting manifest list sha256:c86ab4dc337d1fa817c0c9c1c0f783a68068b4ffe1670ea5364c38da8a6dcec7 0.0s done
#34 naming to docker.io/library/dhv2-api:latest 0.0s done
#34 unpacking to docker.io/library/dhv2-api:latest 0.2s done
#34 DONE 0.8s
#35 [migrate] resolving provenance for metadata file
#35 ...
#36 [api] resolving provenance for metadata file
#36 DONE 0.1s
#35 [migrate] resolving provenance for metadata file
#35 DONE 0.2s
Image dhv2-migrate Built
Image dhv2-web Built
Image dhv2-api Built
========== MIGRACIONES ==========
Container dhv2-db Running
Container dhv2-db Waiting
Container dhv2-db Healthy
Container dhv2-migrate-run-a4a410304c0a Creating
Container dhv2-migrate-run-a4a410304c0a Created
> dhv2-api@0.29.0-2 migration:run
> node dist/database/migration-cli.js run
Applied migrations: 0
npm notice
npm notice New major version of npm available! 11.19.0 -> 12.0.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.0.2
npm notice To update run: npm install -g npm@12.0.2
npm notice
Container dhv2-db Running
Container dhv2-db Waiting
Container dhv2-db Healthy
Container dhv2-migrate-run-a0fcf0498b48 Creating
Container dhv2-migrate-run-a0fcf0498b48 Created
> dhv2-api@0.29.0-2 migration:show
> node dist/database/migration-cli.js show
Pending migrations: no
npm notice
npm notice New major version of npm available! 11.19.0 -> 12.0.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.0.2
npm notice To update run: npm install -g npm@12.0.2
npm notice
========== RECREATE API + WEB ==========
Container dhv2-api Recreate
Container dhv2-api Recreated
Container dhv2-web Recreate
Container dhv2-web Recreated
Container dhv2-api Starting
Container dhv2-api Started
Container dhv2-web Starting
Container dhv2-web Started
========== HEALTH ==========
{"status":"ok","service":"dhv2-api","api":"v3","version":"0.29.0-2","phase":"F6.1","database":"ok","time":"2026-09-14T14:03:13.928Z","latencyMs":3}
========== VERIFICACIÓN FINAL ==========
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
dhv2-api dhv2-api "docker-entrypoint.s…" api 5 seconds ago Up 2 seconds 127.0.0.1:3101->3000/tcp
dhv2-db postgis/postgis:16-3.5 "docker-entrypoint.s…" db 4 weeks ago Up 4 weeks (healthy) 5432/tcp
dhv2-web dhv2-web "/docker-entrypoint.…" web 4 seconds ago Up 2 seconds 127.0.0.1:8182->80/tcp
Servicios críticos: OK
database-before.dump: OK
source-before.tar.gz: OK
.env: OK
previous.sha: OK
target.sha: OK
docker-before.txt: OK
database-after.dump: OK
deployed.sha: OK
deployed-versions.txt: OK
health.json: OK
migrations.txt: OK
docker-after.txt: OK
============================================================
DH V2 · DEPLOY OK
============================================================
Commit: 23880521d94f56a7ca6963a7616f77a5bac9a552
API: 0.29.0-2
WEB: 0.23.0-2
Backup: /root/DH_V2_BACKUPS/GITEA_DEPLOY_20260914_110058
============================================================
+12
View File
@@ -0,0 +1,12 @@
status=success
exit_code=0
phase=complete
timestamp=2026-09-14T11:03:15-03:00
deploy_ref=deploy
previous_sha=e55684bf4fe55200dcfa093ee519c819501ef871
target_sha=23880521d94f56a7ca6963a7616f77a5bac9a552
current_sha=23880521d94f56a7ca6963a7616f77a5bac9a552
api_version=0.29.0-2
web_version=0.23.0-2
app_touched=1
backup=/root/DH_V2_BACKUPS/GITEA_DEPLOY_20260914_110058