From: Don Zickus dzickus@redhat.com
CI: use common code for merge and release
Small cleanup to simplify code by re-using duplicated sections through extends.
Also remove legacy config branch push (now done through merge_upstream).
Signed-off-by: Don Zickus dzickus@redhat.com
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index blahblah..blahblah 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -101,7 +101,7 @@ rhel9_baseline:
# scheduled job -merge_upstream: +.scheduled_setup: image: registry.gitlab.com/cki-project/containers/builder-fedora variables: GIT_DEPTH: "0" @@ -121,10 +121,13 @@ merge_upstream: - chmod 644 ~/.ssh/known_hosts - git remote add gitlab git@gitlab.com:cki-project/kernel-ark.git - gpg2 --import "$TORVALDS_GPG_KEY" - script: - git checkout --track origin/master && git describe - - git checkout --track origin/os-build && git describe - export PROJECT_ID="$CI_PROJECT_ID" + +merge_upstream: + extends: .scheduled_setup + script: + - git checkout --track origin/os-build && git describe - make dist-merge-upstream-push || exit 1 retry: 2 rules: @@ -132,43 +135,15 @@ merge_upstream:
# scheduled job rawhide_release: - image: registry.gitlab.com/cki-project/containers/builder-fedora - variables: - GIT_DEPTH: "0" - GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_CONCURRENT_ID/kernel-ark - before_script: - - echo "fastestmirror=true" >> /etc/dnf/dnf.conf - - dnf -y install python3-gitlab git openssh-clients dnf-utils gnupg2 - - git config user.name "Fedora Kernel Team" - - git config user.email "kernel-team@fedoraproject.org" - - echo "$PYTHON_GITLAB_CONFIG" >> ~/.python-gitlab.cfg - # Need SSH since the clone is set up without write access. - - eval $(ssh-agent -s) - - echo "$PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - - mkdir -p ~/.ssh - - chmod 700 ~/.ssh - - echo "$GITLAB_KNOWN_HOSTS" >> ~/.ssh/known_hosts - - chmod 644 ~/.ssh/known_hosts - - git remote add gitlab git@gitlab.com:cki-project/kernel-ark.git - - gpg2 --import "$TORVALDS_GPG_KEY" + extends: .scheduled_setup script: - - git checkout --track origin/master && git describe - git checkout --track origin/ark-latest && git describe - git checkout --track origin/ark-infra && git describe - git checkout --track origin/os-build && git describe - - export PROJECT_ID="$CI_PROJECT_ID" - redhat/scripts/ci/ark-create-release.sh "master" "$CI_PROJECT_ID" || exit_code=$? - if [ $exit_code -eq 3 ]; then echo "Tag exists, halting" && exit 0; fi; - if [ $exit_code -ne 0 ]; then echo "Unable to create release tag" && exit 1; fi; - git push gitlab os-build - - > - for branch in $(git branch | grep configs/"$(date +%F)"); do - git push \ - -o merge_request.create \ - -o merge_request.target=os-build \ - -o merge_request.remove_source_branch \ - gitlab "$branch" - done; # ark-create-release.sh creates a tag for ark-latest to be pushed. # Make sure the ark-latest branch is checked out. - git checkout ark-latest
-- https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1264
From: Veronika Kabátová on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1264#note_6310778...
The `script` sections will overwrite each other, not get merged. Is that intended? You can use https://docs.gitlab.com/ee/ci/yaml/#anchors if you want to merge multiple `script` definitions
From: Don Zickus on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1264#note_6312041...
@veruu What do you mean? I thought I kept the 'script' section out of the common code. merge_upstream and rawhide_release have their own 'script' section. The common code was just going to have common 'before_script' and other setup.
Did I write it wrong?
From: Veronika Kabátová on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1264#note_6312407...
I totally missed the removed `script` section from there as I was looking at the merged diff. My bad.
With that cleared up, the changes look ok. Do you need an prroval or is one from the maintainers enough?
From: Don Zickus on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1264#note_6314077...
If you or someone from CKI can provide an approval that would be great. No one else knows gitlab-ci.yml. :-)
From: Veronika Kabátová on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1264#note_6314092...
Acked-by: Veronika Kabátová vkabatov@redhat.com (via approve button)
From: Michael Hofmann on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1264#note_6314595...
Acked-by: Michael Hofmann mhofmann@redhat.com (via approve button)
kernel@lists.fedoraproject.org