prplos/.gitlab-ci.yml
Petr Štetiar b0aa5e3e34 ci: cram: size component job timeouts
Component jobs currently inherit the full-tier 85-minute timeout.
Measured runs peak at 35.8 minutes for components and 80.8 minutes for
the full tier.

Set each tier to the smallest five-minute multiple at least four
minutes above its maximum observed duration. This gives component jobs
40 minutes and retains 85 minutes for full jobs.

Keep the full-job limit explicit because those jobs would otherwise
inherit the new component limit. A hung component job now releases its
device roughly 45 minutes sooner.

Assisted-by: claude:opus-5:orchestrator
Assisted-by: codex:gpt-5.6-sol:medium-fast
References: CI-7
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2026-08-19 10:14:27 +00:00

261 lines
6.5 KiB
YAML

variables:
CI_DESIGNATED_BRANCH: prpl/nightly
CI_DESIGNATED_BRANCH_SLUG: prpl-nightly
include:
- local: .gitlab/build.yml
- local: .gitlab/blackduck.yml
- local: .gitlab/release.yml
- local: .gitlab/cdrouter.yml
- local: .gitlab/prplmesh.yml
- local: .gitlab/cdrouter/prpl-haze.yml
- local: .gitlab/cdrouter/turris-omnia.yml
- local: .gitlab/cdrouter/mxl25641-hdk-6.yml
- local: .gitlab/cdrouter/arcadyan-mozart.yml
- local: .gitlab/cdrouter/wnc-freedom.yml
- local: .gitlab/cdrouter/nokia-valyrian.yml
- local: .gitlab/coverity.yml
- local: .gitlab/docker.yml
- local: .gitlab/docker/builder/gitlab.yml
- local: .gitlab/docker/sdk/gitlab.yml
- local: .gitlab/docker/ib/gitlab.yml
- local: .gitlab/docker/ib/lcm/gitlab.yml
- local: .gitlab/testbed.yml
- local: .gitlab/testbed/prpl-haze.yml
- local: .gitlab/testbed/turris-omnia.yml
- local: .gitlab/testbed/mxl25641-hdk-6.yml
- local: .gitlab/testbed/arcadyan-mozart.yml
- local: .gitlab/testbed/wnc-freedom.yml
- local: .gitlab/testbed/nokia-valyrian.yml
stages:
- docker
- docker test
- docker deploy
- build
- release
- docker SDK and IB
- docker SDK and IB test
- docker SDK and IB deploy
- docker IB LCM container
- run
- smoke tests
- certification tests
- cdrouter
- coverity
- blackduck
build test mxl_x86_osp_tb341_v2 mxl_wlan_hostap_ng_wav700 prpl cellular security thread:
extends: .build test config
build test mvebu prpl security:
extends: .build test config
build test x86_64 prpl security:
extends: .build test config
build test ipq807x prpl security:
extends: .build test config
build test mtk_filogic prpl security:
extends: .build test config
build test airoha_an7581 prpl security:
extends: .build test config
build test qca_ipq95xx prpl cellular security thread:
extends: .build test config
build test qca_ipq95xx extender_minimal cellular security thread:
extends: .build test config
build test qca_ipq95xx extender_full cellular security thread:
extends: .build test config
coverity scan qca_ipq95xx prpl extender_full cellular thread:
extends: .coverity scan config
variables:
CI_COVERITY_COMPILER_TEMPLATE_LIST: >
aarch64-openwrt-linux-gcc
aarch64-openwrt-linux-musl-gcc
blackduck scan mxl_x86_osp_tb341_v2 mxl_wlan_hostap_ng_wav700 prpl extender_full cellular security thread:
extends: .blackduck scan config
blackduck scan qca_ipq95xx prpl extender_full cellular security thread:
extends: .blackduck scan config
cram Omnia [full]:
allow_failure: true
needs: ["build test mvebu prpl security"]
extends: .turris-omnia testbed
timeout: 85 minutes
variables:
COMPONENT: full
cram Omnia [prplmesh]:
allow_failure: true
needs: ["build test mvebu prpl security"]
extends: .turris-omnia testbed
variables:
COMPONENT: prplmesh
cram Omnia [lcm]:
allow_failure: true
needs: ["build test mvebu prpl security"]
extends: .turris-omnia testbed
variables:
COMPONENT: lcm
cram Omnia [prplos]:
allow_failure: true
needs: ["build test mvebu prpl security"]
extends: .turris-omnia testbed
variables:
COMPONENT: prplos
cram Haze [full]:
allow_failure: true
needs: ["build test ipq807x prpl security"]
extends: .prpl-haze testbed
timeout: 85 minutes
variables:
COMPONENT: full
cram Haze [prplmesh]:
allow_failure: true
needs: ["build test ipq807x prpl security"]
extends: .prpl-haze testbed
variables:
COMPONENT: prplmesh
cram Haze [lcm]:
allow_failure: true
needs: ["build test ipq807x prpl security"]
extends: .prpl-haze testbed
variables:
COMPONENT: lcm
cram Haze [prplos]:
allow_failure: true
needs: ["build test ipq807x prpl security"]
extends: .prpl-haze testbed
variables:
COMPONENT: prplos
cram OSPv2 [full]:
needs: ["build test mxl_x86_osp_tb341_v2 mxl_wlan_hostap_ng_wav700 prpl cellular security thread"]
extends: .mxl25641-hdk-6 testbed
timeout: 85 minutes
variables:
COMPONENT: full
cram OSPv2 [prplmesh]:
needs: ["build test mxl_x86_osp_tb341_v2 mxl_wlan_hostap_ng_wav700 prpl cellular security thread"]
extends: .mxl25641-hdk-6 testbed
variables:
COMPONENT: prplmesh
cram OSPv2 [lcm]:
needs: ["build test mxl_x86_osp_tb341_v2 mxl_wlan_hostap_ng_wav700 prpl cellular security thread"]
extends: .mxl25641-hdk-6 testbed
variables:
COMPONENT: lcm
cram OSPv2 [prplos]:
needs: ["build test mxl_x86_osp_tb341_v2 mxl_wlan_hostap_ng_wav700 prpl cellular security thread"]
extends: .mxl25641-hdk-6 testbed
variables:
COMPONENT: prplos
cram Freedom [full]:
needs: ["build test qca_ipq95xx prpl cellular security thread"]
extends: .wnc-freedom testbed
timeout: 85 minutes
variables:
COMPONENT: full
cram Freedom [prplmesh]:
needs: ["build test qca_ipq95xx prpl cellular security thread"]
extends: .wnc-freedom testbed
variables:
COMPONENT: prplmesh
cram Freedom [lcm]:
needs: ["build test qca_ipq95xx prpl cellular security thread"]
extends: .wnc-freedom testbed
variables:
COMPONENT: lcm
cram Freedom [prplos]:
needs: ["build test qca_ipq95xx prpl cellular security thread"]
extends: .wnc-freedom testbed
variables:
COMPONENT: prplos
cram Mozart [full]:
needs:
- job: build test mtk_filogic prpl security
optional: true
extends: .arcadyan-mozart testbed
timeout: 85 minutes
variables:
COMPONENT: full
cram Mozart [prplmesh]:
needs:
- job: build test mtk_filogic prpl security
optional: true
extends: .arcadyan-mozart testbed
variables:
COMPONENT: prplmesh
cram Mozart [lcm]:
needs:
- job: build test mtk_filogic prpl security
optional: true
extends: .arcadyan-mozart testbed
variables:
COMPONENT: lcm
cram Mozart [prplos]:
needs:
- job: build test mtk_filogic prpl security
optional: true
extends: .arcadyan-mozart testbed
variables:
COMPONENT: prplos
cram Valyrian [full]:
needs:
- job: build test airoha_an7581 prpl security
optional: true
extends: .nokia-valyrian testbed
timeout: 85 minutes
variables:
COMPONENT: full
cram Valyrian [prplmesh]:
needs:
- job: build test airoha_an7581 prpl security
optional: true
extends: .nokia-valyrian testbed
variables:
COMPONENT: prplmesh
cram Valyrian [lcm]:
needs:
- job: build test airoha_an7581 prpl security
optional: true
extends: .nokia-valyrian testbed
variables:
COMPONENT: lcm
cram Valyrian [prplos]:
needs:
- job: build test airoha_an7581 prpl security
optional: true
extends: .nokia-valyrian testbed
variables:
COMPONENT: prplos