apiVersion: jenkins.io/v1 kind: PipelineActivity metadata: annotations: lighthouse.jenkins-x.io/cloneURI: https://github.com/greencapitaltrade/bifrost.git lighthouse.jenkins-x.io/job: release pipeline.jenkins-x.io/traceID: 9e73cdabac78dd870f2335c744525596 creationTimestamp: "2026-05-31T09:45:56Z" generation: 7 labels: branch: main build: "111" context: release created-by-lighthouse: "true" event-GUID: 77afda92-5cd5-11f1-915a-a8c88914ee2e lighthouse.jenkins-x.io/baseSHA: f8e51cfe10916a3c887c395c63542dc95a33abb2 lighthouse.jenkins-x.io/branch: main lighthouse.jenkins-x.io/buildNum: "1780220756229" lighthouse.jenkins-x.io/context: release lighthouse.jenkins-x.io/id: apitaltrade-bifrost-main-release-7fw7t lighthouse.jenkins-x.io/job: release lighthouse.jenkins-x.io/lastCommitSHA: f8e51cfe10916a3c887c395c63542dc95a33abb2 lighthouse.jenkins-x.io/refs.org: greencapitaltrade lighthouse.jenkins-x.io/refs.repo: bifrost lighthouse.jenkins-x.io/type: postsubmit owner: greencapitaltrade podName: apitaltrade-bifrost-main-release-h26cm-from-build-pack-pod provider: github repository: bifrost tekton.dev/pipeline: apitaltrade-bifrost-main-release-h26cm managedFields: - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:branch: {} f:context: {} f:owner: {} f:provider: {} f:repository: {} f:spec: f:lastCommitMessage: {} f:lastCommitSHA: {} f:releaseNotesURL: {} f:version: {} manager: jx-changelog-0.10.18 operation: Update time: "2026-05-31T09:51:00Z" - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:spec: f:completedTimestamp: {} f:status: {} manager: jx-promote-0.6.31 operation: Update time: "2026-05-31T09:51:48Z" - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:lighthouse.jenkins-x.io/cloneURI: {} f:lighthouse.jenkins-x.io/job: {} f:pipeline.jenkins-x.io/traceID: {} f:labels: .: {} f:build: {} f:created-by-lighthouse: {} f:event-GUID: {} f:lighthouse.jenkins-x.io/baseSHA: {} f:lighthouse.jenkins-x.io/branch: {} f:lighthouse.jenkins-x.io/buildNum: {} f:lighthouse.jenkins-x.io/context: {} f:lighthouse.jenkins-x.io/id: {} f:lighthouse.jenkins-x.io/job: {} f:lighthouse.jenkins-x.io/lastCommitSHA: {} f:lighthouse.jenkins-x.io/refs.org: {} f:lighthouse.jenkins-x.io/refs.repo: {} f:lighthouse.jenkins-x.io/type: {} f:podName: {} f:tekton.dev/pipeline: {} f:spec: .: {} f:baseSHA: {} f:batchPipelineActivity: {} f:build: {} f:buildLogsUrl: {} f:context: {} f:gitBranch: {} f:gitOwner: {} f:gitRepository: {} f:gitUrl: {} f:message: {} f:pipeline: {} f:startedTimestamp: {} f:steps: {} manager: jx-build-controller operation: Update time: "2026-05-31T09:52:00Z" name: greencapitaltrade-bifrost-main-111 namespace: jx resourceVersion: "65389335" uid: d7cf94a1-cf6e-4469-b90f-e7b43e56428d spec: baseSHA: f8e51cfe10916a3c887c395c63542dc95a33abb2 batchPipelineActivity: {} build: "111" buildLogsUrl: s3://logs-gct-prod-20260425045301534100000007/jenkins-x/logs/greencapitaltrade/bifrost/main/111.log completedTimestamp: "2026-05-31T09:51:30Z" context: release gitBranch: main gitOwner: greencapitaltrade gitRepository: bifrost gitUrl: https://github.com/greencapitaltrade/bifrost.git lastCommitMessage: | feat(sim-tracking): backfill script for existing asset.iot.device rows Follow-up to #177 / #178 / #179. The first three PRs add the model layer, the digest mail, and the MRP serial-alignment hook — but existing asset.iot.device rows are still unlinked. The digest cron silently skips them. This script creates the missing unit stock.lot + SIM stock.lot + mrp.production link for each device, given a caller-supplied IMEI -> ICCID + carrier mapping. Design choices documented in the file's docstring; the relevant ones: - No fake / placeholder ICCIDs. Devices whose IMEI isn't in the mapping are reported in summary.devices_skipped_no_mapping. The digest would later flag fake ICCIDs as real and ops would call the carrier about a SIM that doesn't exist. Don't risk that. - Dry-run by default — operator previews the summary, commits when happy. - Idempotent. Devices that already have stock_lot_id set are skipped, so re-runs after adding more mapping rows just process the newly mapped ones. - Date-backed mrp.production to device.create_date so manufacturing history shows the install when it actually happened. Tests cover: - Dry-run reports counts without DB writes. - Real run creates the records and the device.get_sim_lots() walk works post-backfill. - Re-run on already-linked devices is a no-op. Onboarding doc Step 4 simplified to a 'paste this into odoo shell' recipe pointing at run() — replaces the per-device manual procedure that was in v1 of the doc. No version bump — script lives under scripts/ and is invoked from odoo shell, not loaded by the module manifest. lastCommitSHA: 02c107397b4c7050522ede4604939cf20fa212d5 message: 'Tasks Completed: 1 (Failed: 0, Cancelled 0), Skipped: 0' pipeline: greencapitaltrade/bifrost/main releaseNotesURL: https://github.com/greencapitaltrade/bifrost/releases/tag/v6.74.0 startedTimestamp: "2026-05-31T09:45:56Z" status: Succeeded steps: - kind: Stage stage: completedTimestamp: "2026-05-31T09:51:30Z" name: Release startedTimestamp: "2026-05-31T09:50:30Z" status: Succeeded - kind: Promote promote: environment: staging pullRequest: pullRequestURL: https://github.com/greencapitaltrade/mcu/pull/4041 startedTimestamp: "2026-05-31T09:51:30Z" status: Succeeded startedTimestamp: "2026-05-31T09:51:30Z" status: Succeeded - kind: Stage stage: completedTimestamp: "2026-05-31T09:51:51Z" name: from build pack startedTimestamp: "2026-05-31T09:46:33Z" status: Succeeded steps: - completedTimestamp: "2026-05-31T09:46:49Z" name: Git Clone startedTimestamp: "2026-05-31T09:46:33Z" status: Succeeded - completedTimestamp: "2026-05-31T09:46:52Z" name: Next Version startedTimestamp: "2026-05-31T09:46:49Z" status: Succeeded - completedTimestamp: "2026-05-31T09:47:01Z" name: Jx Variables startedTimestamp: "2026-05-31T09:46:57Z" status: Succeeded - completedTimestamp: "2026-05-31T09:47:06Z" name: Setup Npm Nexus startedTimestamp: "2026-05-31T09:47:06Z" status: Succeeded - completedTimestamp: "2026-05-31T09:47:12Z" name: Setup Pip Cache startedTimestamp: "2026-05-31T09:47:10Z" status: Succeeded - completedTimestamp: "2026-05-31T09:47:14Z" name: Process Config Templates startedTimestamp: "2026-05-31T09:47:14Z" status: Succeeded - completedTimestamp: "2026-05-31T09:47:15Z" name: Update Fleet Management Version startedTimestamp: "2026-05-31T09:47:15Z" status: Succeeded - completedTimestamp: "2026-05-31T09:47:18Z" name: Check Registry startedTimestamp: "2026-05-31T09:47:16Z" status: Succeeded - completedTimestamp: "2026-05-31T09:50:44Z" name: Build Container Build startedTimestamp: "2026-05-31T09:47:28Z" status: Succeeded - completedTimestamp: "2026-05-31T09:51:00Z" name: Promote Changelog startedTimestamp: "2026-05-31T09:50:44Z" status: Succeeded - completedTimestamp: "2026-05-31T09:51:04Z" name: Promote Helm Release startedTimestamp: "2026-05-31T09:51:01Z" status: Succeeded - completedTimestamp: "2026-05-31T09:51:51Z" name: Promote Jx Promote startedTimestamp: "2026-05-31T09:51:05Z" status: Succeeded - kind: Stage stage: completedTimestamp: "2026-05-31T09:51:51Z" name: from build pack startedTimestamp: "2026-05-31T09:46:33Z" status: Succeeded steps: - completedTimestamp: "2026-05-31T09:46:49Z" name: Git Clone startedTimestamp: "2026-05-31T09:46:33Z" status: Succeeded - completedTimestamp: "2026-05-31T09:46:52Z" name: Next Version startedTimestamp: "2026-05-31T09:46:49Z" status: Succeeded - completedTimestamp: "2026-05-31T09:47:01Z" name: Jx Variables startedTimestamp: "2026-05-31T09:46:57Z" status: Succeeded - completedTimestamp: "2026-05-31T09:47:06Z" name: Setup Npm Nexus startedTimestamp: "2026-05-31T09:47:06Z" status: Succeeded - completedTimestamp: "2026-05-31T09:47:12Z" name: Setup Pip Cache startedTimestamp: "2026-05-31T09:47:10Z" status: Succeeded - completedTimestamp: "2026-05-31T09:47:14Z" name: Process Config Templates startedTimestamp: "2026-05-31T09:47:14Z" status: Succeeded - completedTimestamp: "2026-05-31T09:47:15Z" name: Update Fleet Management Version startedTimestamp: "2026-05-31T09:47:15Z" status: Succeeded - completedTimestamp: "2026-05-31T09:47:18Z" name: Check Registry startedTimestamp: "2026-05-31T09:47:16Z" status: Succeeded - completedTimestamp: "2026-05-31T09:50:44Z" name: Build Container Build startedTimestamp: "2026-05-31T09:47:28Z" status: Succeeded - completedTimestamp: "2026-05-31T09:51:00Z" name: Promote Changelog startedTimestamp: "2026-05-31T09:50:44Z" status: Succeeded - completedTimestamp: "2026-05-31T09:51:04Z" name: Promote Helm Release startedTimestamp: "2026-05-31T09:51:01Z" status: Succeeded - completedTimestamp: "2026-05-31T09:51:51Z" name: Promote Jx Promote startedTimestamp: "2026-05-31T09:51:05Z" status: Succeeded version: 6.74.0 status: {}