diff --git a/services/prow/config/config.yml b/services/prow/config/config.yml
index d299df6..9a3e77e 100644
--- a/services/prow/config/config.yml
+++ b/services/prow/config/config.yml
@@ -400,3 +400,40 @@ obscijobs:
@CHANGELOG@@DEEPIN_OFFSET@
+ - repos:
+ - linuxdeepin/treeland.private
+ project_meta_tpl: |
+
+
+
+
+
+
+
+
+
+
+
+ x86_64
+ aarch64
+
+
+ package_meta_tpl: |
+
+
+
+
+ project_br_tpl: >-
+ {"action":"opened","pull_request":{"head":{"repo":{"full_name":"REPO"},"sha":"TAGSHA"}}}
+ project_service_tpl: |
+
+
+ https://github.com/linuxdeepin/REPO.git
+ git
+ .git
+ .github
+ @CHANGELOG@@DEEPIN_OFFSET@
+
+
+ build_script: |
+ exec dpkg-buildpackage -us -uc --build=any,all "$@"
diff --git a/services/prow/config/jobs/images/obsci/Dockerfile b/services/prow/config/jobs/images/obsci/Dockerfile
index 6d2453e..b30046e 100644
--- a/services/prow/config/jobs/images/obsci/Dockerfile
+++ b/services/prow/config/jobs/images/obsci/Dockerfile
@@ -8,7 +8,7 @@ RUN cp /etc/apk/repositories /etc/apk/repositories.bak; \
apk update
RUN apk add py3-pip jq curl; \
- pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple yq;
+ pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple yq --break-system-packages;
ADD entrypoint.sh /entrypoint.sh
diff --git a/services/prow/config/jobs/images/obsci/entrypoint.sh b/services/prow/config/jobs/images/obsci/entrypoint.sh
index 7aa02d4..f40e7d6 100644
--- a/services/prow/config/jobs/images/obsci/entrypoint.sh
+++ b/services/prow/config/jobs/images/obsci/entrypoint.sh
@@ -125,6 +125,12 @@ if [ -z "$serviceconfig" ]; then
fi
#echo "serviceconfig: $serviceconfig"
+buildscript=$(yq -e '.obscijobs' $yaml_file | yq --arg repo $full_repo_name '.[] as $repos | select($repos.repos[] == $repo) | $repos.build_script')
+if [ -z "$buildscript" ]; then
+ buildscript=$(yq -e '.obscijobs' $yaml_file | yq --arg repo $REPO_OWNER '.[] as $repos | select($repos.repos[] == $repo) | $repos.build_script')
+ echo "$full_repo_name obs ci build script config isn't existed, using ${REPO_OWNER}'s config"
+fi
+
PROJECT_NAME="$REPO_OWNER:$REPO_NAME:PR-$PULL_NUMBER"
if [[ "$PULL_HEAD_REF" == "topic-"* ]]; then
prefix="topic-"
@@ -183,6 +189,11 @@ else
curl -X POST -u "$OSCUSER:$OSCPASS" "$OBS_HOST/build/deepin:CI:$PROJECT_NAME?cmd=rebuild&package=$REPO_NAME"
fi
+if [ -n "${buildscript}" -o "${buildscript}" != "" -o "${buildscript}" != "null" ]; then
+ echo ${buildscript} > build.script
+ curl -X PUT -u "$OSCUSER:$OSCPASS" -d @build.script -s "$OBS_HOST/source/deepin:CI:$PROJECT_NAME/$REPO_NAME/build.script"
+fi
+
echo "Setting github commit status..."
multirepos="true"
repositories=$(cat meta.xml | xq -e '.project.repository[]."@name"')
diff --git a/services/prow/config/jobs/submits.yml b/services/prow/config/jobs/submits.yml
index 24f76f3..601990f 100644
--- a/services/prow/config/jobs/submits.yml
+++ b/services/prow/config/jobs/submits.yml
@@ -393,6 +393,8 @@ presubmits:
- <<: *github-pr-review-ci
linuxdeepin:
- <<: *github-pr-review-ci
+ linuxdeepin/treeland.private:
+ - <<: *github-trigger-obs-ci
postsubmits:
deepin-community:
@@ -419,3 +421,6 @@ postsubmits:
linuxdeepin:
- <<: *linuxdeepin-sync-to-gitlab
- <<: *linuxdeepin-sync-to-gitee
+ linuxdeepin/treeland.private:
+ - <<: *obs-src-sync
+ - <<: *linuxdeepin-sync-to-gitlab