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: | + + + <description/> + <sourceaccess> + <disable/> + </sourceaccess> + <access> + <disable/> + </access> + <repository name="deepin_ci"> + <path project="vioken" repository="deepin_develop"/> + <arch>x86_64</arch> + <arch>aarch64</arch> + </repository> + </project> + package_meta_tpl: | + <package name="PKGNAME" project="deepin:CI:PROJECT_NAME"> + <title/> + <description/> + </package> + project_br_tpl: >- + {"action":"opened","pull_request":{"head":{"repo":{"full_name":"REPO"},"sha":"TAGSHA"}}} + project_service_tpl: | + <services> + <service name="obs_gbp"> + <param name="url">https://github.com/linuxdeepin/REPO.git</param> + <param name="scm">git</param> + <param name="exclude">.git</param> + <param name="exclude">.github</param> + <param name="versionformat">@CHANGELOG@@DEEPIN_OFFSET@</param> + </service> + </services> + 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