#image: "git.mesalab.cn:7443/mesa_platform/build-env:master" variables: GIT_STRATEGY: "clone" BUILD_BASED_IMAGE_ROCKYLINUX8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux-build-os" GIT_DEPTH: 1 stages: - build - merge_build - deploy - notify .build_onie_bin_x86_64_COTS: script: - env | sort - make DALIY_BUILD_VERSION=$DALIY_BUILD_VERSION - chmod +x ./tools/upload.sh - ./tools/upload.sh tags: - tsg-os-builder-el8 resource_group: global .build_container_images_x86_64_COTS: script: - env | sort - make DALIY_BUILD_VERSION=$DALIY_BUILD_VERSION - chmod +x ./tools/upload.sh - ./tools/upload.sh tags: - tsg-os-builder-el8 resource_group: global .notify_jobs_done: cache: key: $CI_COMMIT_REF_SLUG-x86_64_COTS paths: - images/ script: - chmod +x ./tools/notify-jobs-done.sh - ./tools/notify-jobs-done.sh tags: - tsg-os-builder-el8 .build_tsg_vm_image: cache: key: $BUILD_OS_CACHE_KEY paths: - images/ script: - find / -name images - ls -lh - export VM_IMG_NAME=$(basename -s .bin images/*-ONIE.bin) - echo $VM_IMG_NAME - cp images/$VM_IMG_NAME.bin /var/www/html/onie-installer-x86_64.bin - httpd - chmod +x ./tools/mk-kvm.sh - cp ./tools/onie-base-kvm.img images/$VM_IMG_NAME.img - ./tools/mk-kvm.sh images/$VM_IMG_NAME.img - qemu-img convert -O qcow2 -c images/$VM_IMG_NAME.img images/$VM_IMG_NAME-kvm.img - rm -rf images/$VM_IMG_NAME.img - ls -lh images - chmod +x ./tools/mk-kvm-gns3a.sh - ./tools/mk-kvm-gns3a.sh images/$VM_IMG_NAME-kvm.img images/$VM_IMG_NAME.gns3a - cat images/$VM_IMG_NAME.gns3a - ls -lh images - chmod +x ./tools/upload.sh - ./tools/upload.sh - find ./images/ -type f | grep x86_64_COTS | grep -v APP-BUNDLE | awk -F '/' '{print $NF}' > /tmp/has-built-files.txt - rm -rf images/* - mv /tmp/has-built-files.txt ./images tags: - tsg-os-builder-el8 resource_group: global feature_branch_build_container_images_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: build extends: .build_container_images_x86_64_COTS variables: PROFILE_LIST: x86_64_COTS_APP_BUNDLE DALIY_BUILD_VERSION: 1 ENABLE_LICENSE_PROTECTED: 0 ENABLE_ALIYUN_INTERNAL_DOMAIN: 1 cache: key: $CI_COMMIT_REF_SLUG-x86_64_COTS paths: - images/ policy: push except: - tags - /^dev-.*$/i - /^rel-.*$/i - /^update-.*$/i feature_branch_build_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: merge_build extends: .build_onie_bin_x86_64_COTS needs: ["feature_branch_build_container_images_x86_64_COTS"] variables: PROFILE_LIST: x86_64_COTS DALIY_BUILD_VERSION: 1 ENABLE_ALIYUN_INTERNAL_DOMAIN: 1 cache: key: $CI_COMMIT_REF_SLUG-x86_64_COTS paths: - images/ except: - tags - /^dev-.*$/i - /^rel-.*$/i - /^update-.*$/i feature_branch_build_kvm_image_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: deploy extends: .build_tsg_vm_image needs: ["feature_branch_build_x86_64_COTS"] variables: BUILD_OS_CACHE_KEY: $CI_COMMIT_REF_SLUG-x86_64_COTS except: - tags - /^dev-.*$/i - /^rel-.*$/i - /^update-.*$/i feature_branch_notify_jobs_done_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: notify extends: .notify_jobs_done except: - tags - /^dev-.*$/i - /^rel-.*$/i - /^update-.*$/i develop_build_container_images_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: build extends: .build_container_images_x86_64_COTS variables: PROFILE_LIST: x86_64_COTS_APP_BUNDLE UPLOAD_TO_FILE_REPO: 1 PULP3_FILE_REPO_NAME: tsg-os-images-develop PULP3_FILE_DIST_NAME: tsg-os-images-develop DALIY_BUILD_VERSION: 1 FILE_REPO_PATH: install/develop/tsg-os-images ENABLE_LICENSE_PROTECTED: 0 ENABLE_ALIYUN_INTERNAL_DOMAIN: 1 cache: key: $CI_COMMIT_REF_SLUG-x86_64_COTS paths: - images/ policy: push only: - /^dev-.*$/i develop_build_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: merge_build extends: .build_onie_bin_x86_64_COTS needs: ["develop_build_container_images_x86_64_COTS"] variables: PROFILE_LIST: x86_64_COTS UPLOAD_TO_FILE_REPO: 1 PULP3_FILE_REPO_NAME: tsg-os-images-develop PULP3_FILE_DIST_NAME: tsg-os-images-develop DALIY_BUILD_VERSION: 1 FILE_REPO_PATH: install/develop/tsg-os-images ENABLE_ALIYUN_INTERNAL_DOMAIN: 1 cache: key: $CI_COMMIT_REF_SLUG-x86_64_COTS paths: - images/ only: - /^dev-.*$/i develop_build_kvm_image_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: deploy extends: .build_tsg_vm_image needs: ["develop_build_x86_64_COTS"] variables: BUILD_OS_CACHE_KEY: $CI_COMMIT_REF_SLUG-x86_64_COTS UPLOAD_TO_FILE_REPO: 1 PROFILE_LIST: KVM PULP3_FILE_REPO_NAME: tsg-os-images-develop PULP3_FILE_DIST_NAME: tsg-os-images-develop FILE_REPO_PATH: install/develop/tsg-os-images only: - /^dev-.*$/i develop_notify_jobs_done_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: notify extends: .notify_jobs_done only: - /^dev-.*$/i testing_build_container_images_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: build extends: .build_container_images_x86_64_COTS variables: PROFILE_LIST: x86_64_COTS_APP_BUNDLE UPLOAD_TO_FILE_REPO: 1 PULP3_FILE_REPO_NAME: tsg-os-images-testing PULP3_FILE_DIST_NAME: tsg-os-images-testing FILE_REPO_PATH: install/testing/tsg-os-images DALIY_BUILD_VERSION: 1 ENABLE_LICENSE_PROTECTED: 1 ENABLE_ALIYUN_INTERNAL_DOMAIN: 1 cache: key: $CI_COMMIT_REF_SLUG-x86_64_COTS paths: - images/ policy: push only: - /^rel-.*$/i testing_build_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: merge_build needs: ["testing_build_container_images_x86_64_COTS"] extends: .build_onie_bin_x86_64_COTS variables: PROFILE_LIST: x86_64_COTS UPLOAD_TO_FILE_REPO: 1 PULP3_FILE_REPO_NAME: tsg-os-images-testing PULP3_FILE_DIST_NAME: tsg-os-images-testing FILE_REPO_PATH: install/testing/tsg-os-images DALIY_BUILD_VERSION: 1 ENABLE_ALIYUN_INTERNAL_DOMAIN: 1 cache: key: $CI_COMMIT_REF_SLUG-x86_64_COTS paths: - images/ only: - /^rel-.*$/i testing_build_kvm_image_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: deploy extends: .build_tsg_vm_image needs: ["testing_build_x86_64_COTS"] variables: BUILD_OS_CACHE_KEY: $CI_COMMIT_REF_SLUG-x86_64_COTS UPLOAD_TO_FILE_REPO: 1 PROFILE_LIST: KVM PULP3_FILE_REPO_NAME: tsg-os-images-testing PULP3_FILE_DIST_NAME: tsg-os-images-testing FILE_REPO_PATH: install/testing/tsg-os-images only: - /^rel-.*$/i testing_notify_jobs_done_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: notify extends: .notify_jobs_done variables: ENABLE_NOTIFY_TESTING_JOBS_DONE: 1 only: - /^rel-.*$/i rc_build_container_images_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: build extends: .build_container_images_x86_64_COTS variables: PROFILE_LIST: x86_64_COTS_APP_BUNDLE UPLOAD_TO_FILE_REPO: 1 DALIY_BUILD_VERSION: 0 PULP3_FILE_REPO_NAME: tsg-os-images-rc PULP3_FILE_DIST_NAME: tsg-os-images-rc FILE_REPO_PATH: install/rc/tsg-os-images ENABLE_LICENSE_PROTECTED: 1 ENABLE_ALIYUN_INTERNAL_DOMAIN: 1 cache: key: $CI_COMMIT_REF_SLUG-x86_64_COTS paths: - images/ policy: push only: - /^.*-rc.*$/i rc_build_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: merge_build extends: .build_onie_bin_x86_64_COTS needs: ["rc_build_container_images_x86_64_COTS"] variables: PROFILE_LIST: x86_64_COTS UPLOAD_TO_FILE_REPO: 1 DALIY_BUILD_VERSION: 0 PULP3_FILE_REPO_NAME: tsg-os-images-rc PULP3_FILE_DIST_NAME: tsg-os-images-rc FILE_REPO_PATH: install/rc/tsg-os-images ENABLE_ALIYUN_INTERNAL_DOMAIN: 1 cache: key: $CI_COMMIT_REF_SLUG-x86_64_COTS paths: - images/ only: - /^.*-rc.*$/i rc_build_kvm_image_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: deploy extends: .build_tsg_vm_image needs: ["rc_build_x86_64_COTS"] variables: BUILD_OS_CACHE_KEY: $CI_COMMIT_REF_SLUG-x86_64_COTS UPLOAD_TO_FILE_REPO: 1 PROFILE_LIST: KVM PULP3_FILE_REPO_NAME: tsg-os-images-rc PULP3_FILE_DIST_NAME: tsg-os-images-rc FILE_REPO_PATH: install/rc/tsg-os-images only: - /^.*-rc.*$/i rc_notify_jobs_done_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: notify extends: .notify_jobs_done variables: ENABLE_NOTIFY_RC_JOBS_DONE: 1 only: - /^.*-rc.*$/i release_build_container_images_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: build extends: .build_container_images_x86_64_COTS variables: PROFILE_LIST: x86_64_COTS_APP_BUNDLE UPLOAD_TO_FILE_REPO: 1 DALIY_BUILD_VERSION: 0 PULP3_FILE_REPO_NAME: tsg-os-images-release PULP3_FILE_DIST_NAME: tsg-os-images-release FILE_REPO_PATH: install/release/tsg-os-images ENABLE_LICENSE_PROTECTED: 1 ENABLE_ALIYUN_INTERNAL_DOMAIN: 1 cache: key: $CI_COMMIT_REF_SLUG-x86_64_COTS paths: - images/ policy: push only: - tags except: - /^.*-rc.*$/i release_build_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: merge_build extends: .build_onie_bin_x86_64_COTS needs: ["release_build_container_images_x86_64_COTS"] variables: PROFILE_LIST: x86_64_COTS UPLOAD_TO_FILE_REPO: 1 DALIY_BUILD_VERSION: 0 PULP3_FILE_REPO_NAME: tsg-os-images-release PULP3_FILE_DIST_NAME: tsg-os-images-release FILE_REPO_PATH: install/release/tsg-os-images ENABLE_ALIYUN_INTERNAL_DOMAIN: 1 cache: key: $CI_COMMIT_REF_SLUG-x86_64_COTS paths: - images/ only: - tags except: - /^.*-rc.*$/i release_build_kvm_image_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: deploy extends: .build_tsg_vm_image needs: ["release_build_x86_64_COTS"] variables: BUILD_OS_CACHE_KEY: $CI_COMMIT_REF_SLUG-x86_64_COTS UPLOAD_TO_FILE_REPO: 1 PROFILE_LIST: KVM PULP3_FILE_REPO_NAME: tsg-os-images-release PULP3_FILE_DIST_NAME: tsg-os-images-release FILE_REPO_PATH: install/release/tsg-os-images only: - tags except: - /^.*-rc.*$/i release_notify_jobs_done_x86_64_COTS: image: $BUILD_BASED_IMAGE_ROCKYLINUX8 stage: notify extends: .notify_jobs_done variables: ENABLE_NOTIFY_RELEASE_JOBS_DONE: 1 only: - tags except: - /^.*-rc.*$/i