rework branch-is-up-to-date-with-target-pre job
See sa4/audio/ivas-basop#2033. This implements the following logic in the branch-is-up-to-date-with-target-pre job:
flowchart TD
A{Branch is up-to-date with target?}
B(exit 1 - failure. Artifacts: None)
C(Get target branch current commit SHA and store in file for artifacts)
F(Get float_ref branch - which can be ivas-float-update or not - from CI_MERGE_REQUEST_SOURCE_BRANCH_NAME)
G(Get float_ref current commit SHA and store in file for artifacts)
H(Get ivas-float-update current commit SHA and store in file for artifacts)
I(exit 0 - success. Artifacts: MERGE_TARGET_COMMIT_FILE, FLOAT_REF_COMMIT_FILE, MERGE_SOURCE_FLOAT_REF_COMMIT_FILE)
A -->|No| B
A -->|Yes| C
C --> F
F --> G
G --> H
H --> I
Git refs are passed to subsequent jobs where they are needed, i.e. the check-be/regression jobs + the *-pytest-on-merge-request ones. This ensures that over the pipeline runtime, we always use the same main commit, the same ivas-float-update commit and the same xxx_ref_blabla commit (if porting branch).
Edited by Jan Kiene