Re: [isar-cip-core][PATCH v1 2/2] Enable CI image build and test support for forky

Jan Kiszka <[email protected]> Mon, 27 Jul 2026 19:10:45 +0200
Newsgroups org.cip-project.lists.cip-dev
Message-ID <[email protected]>
On 27.07.26 16:11, [email protected] wrote:
> From: Shivanand Kunijadar <[email protected]>
> 
> Keep these jobs as scheduled and can be scheduled to run every week
> just to monitor and fix if there are any issues.
> Also set allow_failure:true for these jobs as forky is not officially
> released and there will always be some build & test issues.
> 
> Signed-off-by: Shivanand Kunijadar <[email protected]>
> ---
>  .gitlab-ci.yml | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 93 insertions(+)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index b53def4..977ae01 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -64,6 +64,7 @@ default:
>      - if [ "${release}" = "bookworm" ]; then base_yaml="${base_yaml}:kas/opt/bookworm.yml"; fi
>      - if [ "${release}" = "trixie" ]; then base_yaml="${base_yaml}:kas/opt/trixie.yml"; fi
>      - if [ "${release}" = "sid" ]; then base_yaml="${base_yaml}:kas/opt/sid.yml"; fi
> +    - if [ "${release}" = "forky" ]; then base_yaml="${base_yaml}:kas/opt/forky.yml"; fi

ordering

>      - if [ "${encrypt}" = "enable" ]; then base_yaml="${base_yaml}:kas/opt/encrypt-data.yml"; fi
>      - if [ "${factory_reset}" = "enable" ]; then base_yaml="${base_yaml}:kas/opt/factory-reset.yml"; fi
>      - if [ "${watchdog}" = "disable" ]; then base_yaml="${base_yaml}:kas/opt/disable-watchdog.yml"; fi
> @@ -399,6 +400,57 @@ build:qemu-arm-base-sid:
>      separate_home_partition: enable
>      deploy: enable
>  
> +# forky image builds
> +.build_base_forky:
> +  extends:
> +    - .build_base
> +  rules:
> +    - if: $CI_COMMIT_TAG
> +      when: never
> +    - if: '$CI_PIPELINE_SOURCE == "schedule" && $CI_RUN_UNSTABLE_FORKY'

We should handle forky and sid identical for now, thus should likely use
generic CI_RUN_UNSTABLE for both. Forky can then be moved out of this
mode somewhere next year and become another regular test target in the
pipeline, sid will always remain there.

> +    - if: $CI_COMMIT_BRANCH != "master"
> +      when: never
> +  allow_failure: true
> +
> +build:qemu-amd64-base-forky:
> +  extends:
> +    - .build_base_forky
> +  variables:
> +    target: qemu-amd64
> +    use_rt: disable
> +    release: forky
> +    extension: security
> +    security_test: enable
> +    build_updates: enable
> +    separate_home_partition: enable
> +    deploy: enable
> +
> +build:qemu-arm64-base-forky:
> +  extends:
> +    - .build_base_forky
> +  variables:
> +    target: qemu-arm64
> +    use_rt: disable
> +    release: forky
> +    extension: security
> +    security_test: enable
> +    build_updates: enable
> +    separate_home_partition: enable
> +    deploy: enable
> +
> +build:qemu-arm-base-forky:
> +  extends:
> +    - .build_base_forky
> +  variables:
> +    target: qemu-arm
> +    extension: security
> +    security_test: enable
> +    use_rt: disable
> +    release: forky
> +    build_updates: enable
> +    separate_home_partition: enable
> +    deploy: enable
> +
>  .test-cip-core:
>    stage: test
>    image: $CI_REGISTRY_IMAGE/lavacli
> @@ -764,6 +816,47 @@ test:qemu-arm-IEC-sid:
>      test_function: IEC
>      iec_test_timeout: 40
>  
> +# Tests for forky images
> +.test-cip-core-forky:
> +  extends:
> +    - .test-cip-core
> +  rules:
> +    - if: $CI_COMMIT_TAG
> +      when: never
> +    - if: '$CI_PIPELINE_SOURCE == "schedule" && $CI_RUN_UNSTABLE_FORKY'
> +    - if: $CI_COMMIT_BRANCH != "master"
> +      when: never
> +  allow_failure: true
> +
> +test:qemu-amd64-IEC-forky:
> +  extends:
> +   - .test-cip-core-forky
> +  variables:
> +    target: qemu-amd64
> +    release: forky
> +    test_function: IEC
> +    iec_test_timeout: 40
> +
> +test:qemu-arm64-IEC-forky:
> +  extends:
> +   - .test-cip-core-forky
> +  needs: ["build:qemu-arm64-base-forky"]
> +  variables:
> +    target: qemu-arm64
> +    release: forky
> +    test_function: IEC
> +    iec_test_timeout: 40
> +
> +test:qemu-arm-IEC-forky:
> +  extends:
> +   - .test-cip-core-forky
> +  needs: ["build:qemu-arm-base-forky"]
> +  variables:
> +    target: qemu-arm
> +    release: forky
> +    test_function: IEC
> +    iec_test_timeout: 40
> +
>  cve-checks:
>    stage: cve-check
>    needs: []

I'm still wondering what the added value of testing sid for us is. I
would rather consider to invest our CI time into running more tests with
forky, like some more SWUpdate checks and/or reproducibility.

Jan

-- 
Siemens AG, Foundational Technologies
Linux Expert Center