Compare commits

...

11 Commits

Author SHA1 Message Date
Holger Hans Peter Freyther 9303288071 jenkins: Create space before starting to build
E.g. the previous built might have failed and we have some stale
directories around. Clean them first.
2017-08-30 01:56:37 +02:00
Holger Hans Peter Freyther c87b94c0a8 Update the documentation with more examples and improve make help 2017-08-10 15:12:42 +08:00
Holger Hans Peter Freyther 82ee682b67 jenkins: Add makefile rule to do job creation 2017-08-10 11:38:09 +08:00
Holger Hans Peter Freyther aca779cdc5 jenkins: Add some templates to create jobs automatically 2017-08-10 10:39:09 +08:00
Holger Hans Peter Freyther 5bbba9e17c ptest: Disable it. In master it fail with slang and we don't use it
It fails with master of poky and I created the following ticket to
track it https://bugzilla.yoctoproject.org/show_bug.cgi?id=11907.

I don't think we have ever used the ptest to run tests on the device
so let's just disable it and compile more quickly.
2017-08-08 15:57:09 +08:00
Holger Hans Peter Freyther 2d529c6476 dispatch.sh: Do not echo back an option to keep rsync running
rsync would get confused if we echo back things.
2017-08-07 17:29:33 +08:00
Holger Hans Peter Freyther a7fc6e6009 dispatch.sh: Make dispatching actually work for rrsync and diff
Make it work. Basic BSD shell doesn't seem to have array support (read
failed and ${!VAR[@]} as well). Also I don't know integer arithmetic so
I do a runtime length for the loop.

As we don't put $MACHINE/$RELASE into an `` block we should be okay
and not run into remote execution.
2017-08-07 15:53:55 +08:00
Holger Hans Peter Freyther 2061115bbf make-stable: Implement a working dry run with nicer output
We can not use --link-dest when doing the dryrun as it will consider
everything up to date. So create some base args and then add the right
parts to it. Skip --checksum from the cli as it makes things really
slow. Use rsync (instead of diff -r) as this will be used for the final
handling. Keep on using sub dirs as this gives higher control. We could
otherwise just syncrhonize everything.
2017-08-07 12:42:08 +08:00
Holger Hans Peter Freyther f6b2f0ef7f make-stable: Gracefully skip directories that do not exist 2017-08-07 12:42:08 +08:00
Holger Hans Peter Freyther f171e5c159 make-stable: Extend it to more directories uploaded that need sync 2017-08-07 12:42:08 +08:00
Holger Hans Peter Freyther 609656c5df make-stable: Make it a proper list and add quotes and drop the ; 2017-08-07 12:42:08 +08:00
14 changed files with 1253 additions and 11 deletions

2
.gitignore vendored
View File

@ -3,3 +3,5 @@ git/
build.*
*.sw?
downloads/
jenkins/*.xml
jenkins-cli.jar

View File

@ -38,6 +38,20 @@ BUILD_TARGET_sysmocom-alix = "core-image-minimal-initramfs meta-toolchain-osmo t
# approiate here or not.
BUILD_TARGETS="$(BUILD_TARGET_$(CUR_MACHINE))"
# Jenkins jobs...
JOB_FILES=merge_diff.xml nightly.xml show_diff.xml testing.xml test_upgrade_alix.xml test_upgrade_apu2.xml testbranch.xml
JOB_NAME_merge_diff.xml=$(SYSMOCOM_RELEASE)-merge-diff
JOB_NAME_nightly.xml=$(SYSMOCOM_RELEASE)-nightly
JOB_NAME_show_diff.xml=$(SYSMOCOM_RELEASE)-show-diff
JOB_NAME_testing.xml=$(SYSMOCOM_RELEASE)-testing
JOB_NAME_test_upgrade_alix.xml=$(SYSMOCOM_RELEASE)-test-upgrade-alix
JOB_NAME_test_upgrade_apu2.xml=$(SYSMOCOM_RELEASE)-test-upgrade-apu2
JOB_NAME_testbranch.xml=$(SYSMOCOM_RELEASE)-testbranch
JOB_NAME="$(JOB_NAME_$(job))"
VIEW_FILES=view.xml
ALL_JENKINS_FILES=$(JOB_FILES) $(VIEW_FILES)
SED=sed
#
usage:
@echo "Pick a target like help, update or sysmocom-alix-setup"
@ -64,10 +78,20 @@ help:
printf " %-16s - Configure build directory\\n" $(machine)-upload;)
@echo "Server targets:"
@echo " make-server-structure - Create directories for machine/release"
@echo "Jenkins targets:"
@echo " create-jenkins-jobs-xml - Create XML files from the templates"
@echo " create-jenkins-jobs - Create the Jobs using jenkins-cli.jar"
@echo "Available variables:"
@echo " V=1 - Enable verbose command output"
@echo " SYSMOCOM_RELEASE=name - Pick branch during clone"
@echo " POKY_RELEASE=name - Pick branch during clone"
@echo " JENKINS_HOST=name - Hostname of Jenkins"
@echo " JENKINS_USER=user - Username for Jenkins"
@echo " JENKINS_PASS=pass - Password for Jenkins"
@echo " WEB_FILES=dir - Directory name for make-server-structure"
@echo " SSH_HOST=host - Hostname for ssh config"
@echo " SSH_PORT=port - Port for ssh config"
@echo " SSH_USER=username - Username for ssh config"
# Fetch/update all repos... Expand REPOS and append -update to the rule
# e.g. poky-update meta-telephony-update
@ -168,6 +192,43 @@ endif
@echo " Port = $(SSH_PORT)" >> $(HOME)/.ssh/config
@echo " AddressFamily = inet" >> $(HOME)/.ssh/config
@echo " User = $(SSH_USER)" >> $(HOME)/.ssh/config
# Create jenkin job xmls
create-jenkins-jobs-xml:
$(Q)$(foreach file, $(ALL_JENKINS_FILES), \
cat jenkins/job_templates/$(file) | \
$(SED) \
-e s,PLACEHOLDER_SYSMOCOM_RELEASE,$(SYSMOCOM_RELEASE),g \
-e s,PLACEHOLDER_POKY_RELEASE,$(POKY_RELEASE),g > jenkins/$(file); \
)
create-jenkins-jobs: create-jenkins-jobs-xml jenkins-cli.jar
ifndef JENKINS_HOST
$(error "Please call with make $@ JENKINS_HOST=xyz...")
endif
ifndef JENKINS_USER
$(error "Please call with make $@ JENKINS_USER=xyz...")
endif
ifndef JENKINS_PASS
$(error "Please call with make $@ JENKINS_PASS=xyz...")
endif
$(Q)$(foreach view, $(VIEW_FILES), \
cat jenkins/$(view) | java -jar jenkins-cli.jar -s http://$(JENKINS_HOST) \
create-view --username $(JENKINS_USER) --password $(JENKINS_PASS); \
)
$(Q)$(foreach job, $(JOB_FILES), \
cat jenkins/$(job) | java -jar jenkins-cli.jar -s http://$(JENKINS_HOST) \
create-job --username $(JENKINS_USER) --password $(JENKINS_PASS) $(JOB_NAME); \
)
jenkins-cli.jar:
ifndef JENKINS_HOST
$(error "Please call with make $@ JENKINS_HOST=xyz...")
endif
wget http://$(JENKINS_HOST)/jnlpJars/jenkins-cli.jar
# Target classification
.PHONY: update setup-all install-ssh-config
.PHONY: update setup-all install-ssh-config create-jenkins-jobs-xml create-jenkins-jobs
.SECONDARY: $(foreach repo, $(REPOS), git/$(repo)) $(foreach machine, $(MACHINES), build.$(machine))

10
README
View File

@ -54,3 +54,13 @@ service for the developers.
....
command="/home/user/system-images/scripts/dispatch.sh" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC7ZJ339MQh1ctTP3UyRQSpdjcJmG8tafd+akq6cmplSuG6j8BZH38u38Zvf7+WLvMBsluujfj7lkuPA/vzP5c6YHBBWOoT+5moRxpEdLXzUPzxA2l+1Nfgd+pd4mvmV9WI22dY6mtDXtOZxXoG8sAXZe/RoUN9MTzayJVkUtp76SW5eiVT519kQGRRaHEFvEqis9t9K5wJN/CVD7uDudpel0ljtkRh4K0KFTUJLVG7bXu5CAOc61JGoeoAb0z/0DL5Nnlxe9P9eMHKqFSqC97xovtRGy1U+2EAVuWY2N32G0VuXpIisBrx/FGxChWp3V5q5KurlkrnV/Rq3dBmKwykAYTQRMrx6mMatiAxFnVnkXYnjFwGC5AdEO2iw865TJ1riv6uZsDviVxFK79BQnkLkFBNLWdfIiYP2j4mMSGsK4xpDXUFAP7xDoVzLO1ZyaJcqF/DCyS4sZ/cYcj0lW2pKxSkFE4Mv2zO4Zwgu7t1EmKjR6SDfzZ+wfSfcjAytwA9l6NfMlLvMy1bL+b5I4UHvZJD1nxpdzByKuTZ11/6o/BN+anrj+SqsXUrD7k9q3LhdMMAJf3lxG0ZVV81FZm6jh/XsO9FwoAzXwqezeJpnaNSqb4alYl/P/7xoFuNQjxZmomROIFMdOAOL8ius+Bz28k1va93tSgkPpr6YUJBaQ== .ssh/id_rsa-new
....
Jenkins:
Use jenkins-cli.jar (which requires java) to create new jobs and views from
the templates in jenkins/job_templates/*.xml.
....
make create-jenkins-jobs SYSMOCOM_RELEASE=XXXX JENKINS_HOST=8.8.8.8 JENKINS_USER=user JENKINS_PASS=pass V=1
....

View File

@ -0,0 +1 @@
DISTRO_FEATURES_remove = " ptest "

View File

@ -0,0 +1,32 @@
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>Show the files diff between PLACEHOLDER_SYSMOCOM_RELEASE-testing and PLACEHOLDER_SYSMOCOM_RELEASE</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>-1</daysToKeep>
<numToKeep>90</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="hudson.scm.NullSCM"/>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers/>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;merge-testing sysmobts PLACEHOLDER_SYSMOCOM_RELEASE&quot;
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;merge-testing sysmobts2100 PLACEHOLDER_SYSMOCOM_RELEASE&quot;
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;merge-testing sysmocom-alix PLACEHOLDER_SYSMOCOM_RELEASE&quot;
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;merge-testing sysmocom-apu2 PLACEHOLDER_SYSMOCOM_RELEASE&quot;
</command>
</hudson.tasks.Shell>
</builders>
<publishers/>
<buildWrappers/>
</project>

View File

@ -0,0 +1,303 @@
<?xml version='1.0' encoding='UTF-8'?>
<matrix-project plugin="matrix-project@1.2">
<actions/>
<description>&lt;div&gt;&lt;b&gt;Creates official PLACEHOLDER_SYSMOCOM_RELEASE-nightly packages/images on downlaods.sysmocom.de&lt;/b&gt;&lt;/div&gt;&#xd;
&lt;div&gt;&#xd;
Does this by using&#xd;
&lt;ul&gt;&#xd;
&lt;li&gt;latest &lt;a href=&quot;http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=PLACEHOLDER_POKY_RELEASE&quot;&gt;&lt;i&gt;PLACEHOLDER_POKY_RELEASE&lt;/i&gt; of upstream poky (2.3)&lt;/a&gt;&lt;/li&gt;&#xd;
&lt;li&gt;latest &lt;a href=&quot;http://git.sysmocom.de/poky/meta-sysmocom-bsp/log/?h=laforge/nightly&quot;&gt;&lt;i&gt;laforge/nightly&lt;/i&gt; of meta-sysmocom-bsp&lt;/a&gt;&lt;/li&gt;&#xd;
&lt;li&gt;latest &lt;a href=&quot;https://github.com/sysmocom/meta-telephony/tree/laforge/nightly&quot;&gt;&lt;i&gt;laforge/nightly&lt;/i&gt; of meta-telephony&lt;/a&gt;&lt;/li&gt;&#xd;
&lt;li&gt;latest &lt;a href=&quot;https://github.com/sysmocom/meta-smalltalk&quot;&gt;&lt;i&gt;master&lt;/i&gt; of meta-smalltalk&lt;/a&gt;&lt;/li&gt;&#xd;
&lt;/ul&gt;&#xd;
&lt;/div&gt;</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>90</daysToKeep>
<numToKeep>90</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="org.jenkinsci.plugins.multiplescms.MultiSCM" plugin="multiple-scms@0.3">
<scms>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.yoctoproject.org/poky.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_POKY_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>poky</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName>poky</scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.sysmocom.de/poky/meta-sysmocom-bsp</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/laforge/nightly</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>meta-sysmocom-bsp</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName>meta-sysmocom-bsp</scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.osmocom.org/meta-telephony.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/laforge/nightly</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>meta-telephony</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName>meta-telephony</scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://github.com/sysmocom/meta-smalltalk.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/master</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>meta-smalltalk</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName>meta-smalltalk</scmName>
</hudson.plugins.git.GitSCM>
</scms>
</scm>
<assignedNode>OE-Slave</assignedNode>
<canRoam>false</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers>
<hudson.triggers.TimerTrigger>
<spec>0 3 * * *</spec>
</hudson.triggers.TimerTrigger>
</triggers>
<concurrentBuild>false</concurrentBuild>
<axes>
<hudson.matrix.LabelAxis>
<name>label</name>
<values>
<string>Debian8-AMD64</string>
</values>
</hudson.matrix.LabelAxis>
<hudson.matrix.TextAxis>
<name>machine</name>
<values>
<string>sysmobts-v2</string>
<string>sysmobts2100</string>
</values>
</hudson.matrix.TextAxis>
</axes>
<builders>
<hudson.tasks.Shell>
<command>if [ $machine == &quot;sysmobts-v2&quot; ]; then
CONF_PACKAGE_FEED_URIS=&quot;https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/PLACEHOLDER_SYSMOCOM_RELEASE-nightly/ipk/&quot;
else
CONF_PACKAGE_FEED_URIS=&quot;https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/${machine}/PLACEHOLDER_SYSMOCOM_RELEASE-nightly/ipk/&quot;
fi
CREATE=0
if [ ! -e build ]; then
mkdir -p build/conf
CREATE=1
cat &gt; build/conf/bblayers.conf &lt;&lt;EOF
LCONF_VERSION = &quot;6&quot;
BBPATH = &quot;\${TOPDIR}&quot;
BBFILES ?= &quot;&quot;
BBLAYERS ?= &quot; \
$PWD/poky/meta \
$PWD/poky/meta-poky \
$PWD/poky/meta-yocto-bsp \
$PWD/meta-telephony \
$PWD/meta-sysmocom-bsp \
$PWD/meta-smalltalk \
&quot;
BBLAYERS_NON_REMOVABLE ?= &quot; \
$PWD/poky/meta \
$PWD/poky/meta-poky \
&quot;
EOF
fi
# Switch to poky and prepare things
cd poky
# apply some hacks... due us supporting older versions
sed -i s,&apos;bb.error(&quot;Use of PRINC %s was d&apos;,&apos;bb.warn(&quot;Use of PRINC %s was d&apos;, meta/classes/base.bbclass
. ./oe-init-build-env ../build
if [ $CREATE -eq 1 ]; then
cat &gt;&gt; conf/local.conf &lt;&lt;EOF
PATCHRESOLVE = &quot;noop&quot;
PACKAGE_CLASSES = &quot;package_ipk&quot;
DISTRO_FEATURES_append = &quot; systemd &quot;
VIRTUAL-RUNTIME_init_manager = &quot;systemd&quot;
MACHINE_FEATURES_BACKFILL_CONSIDERED = &quot;rtc&quot;
DEBUGFILEDIRECTORY-dbg = &quot;/usr/lib/debug&quot;
PACKAGE_DEBUG_SPLIT_STYLE = &quot;debug-without-src&quot;
PRSERV_HOST = &quot;localhost:0&quot;
BBMASK=&quot;recipes-bsp/linux/linux-sysmocom_3.10.bb&quot;
INHERIT += &quot; rm_work &quot;
ROOTFS_PKGMANAGE_BOOTSTRAP = &quot;&quot;
PACKAGE_FEED_URIS = &quot;${CONF_PACKAGE_FEED_URIS}&quot;
require conf/distro/include/sysmocom-defaults.conf
EOF
if [ $machine == &quot;sysmobts-v2&quot; ]; then
cat &gt;&gt; conf/local.conf &lt;&lt;EOF
SRC_URI_pn-sysmobts-firmware = &quot;https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/firmware/sysmobts-firmware-superfemto_v\${PV}.tar.bz2&quot;
SRC_URI_pn-sbts2050-util = &quot;https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/firmware/sbts2050-util-\${PV}.tar.bz2&quot;
EOF
fi
fi
rm -f bitbake.lock
rm -rf tmp
rm -rf downloads
if [ $machine == &quot;sysmobts2100&quot; ]; then
MACHINE=$machine bitbake u-boot-litecell15
fi
# first build the non-rauc targets common to all machines
MACHINE=$machine bitbake sysmocom-core-image smalltalk meta-toolchain-osmo task-sysmocom-feed
# then build RAUC only for sysmobts-v2
if [ $machine == &quot;sysmobts-v2&quot; ]; then
MACHINE=$machine bitbake image-rauc-slot-initramfs image-rauc-ubi rauc-native sysmocom-nitb-rauc-image
fi
../meta-sysmocom-bsp/upload_nightly.sh $machine
../poky/scripts/sstate-cache-management.sh -d -y --cache-dir=./sstate-cache/
rm -rf tmp downloads</command>
</hudson.tasks.Shell>
</builders>
<publishers>
<hudson.tasks.Mailer plugin="mailer@1.8">
<recipients>intern@lists.sysmocom.de</recipients>
<dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
<sendToIndividuals>false</sendToIndividuals>
</hudson.tasks.Mailer>
</publishers>
<buildWrappers/>
<executionStrategy class="hudson.matrix.DefaultMatrixExecutionStrategyImpl">
<runSequentially>false</runSequentially>
</executionStrategy>
</matrix-project>

View File

@ -0,0 +1,32 @@
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>Show the files diff between PLACEHOLDER_SYSMOCOM_RELEASE-testing and PLACEHOLDER_SYSMOCOM_RELEASE</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>-1</daysToKeep>
<numToKeep>90</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="hudson.scm.NullSCM"/>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers/>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;diff-testing sysmobts PLACEHOLDER_SYSMOCOM_RELEASE&quot;
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;diff-testing sysmobts2100 PLACEHOLDER_SYSMOCOM_RELEASE&quot;
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;diff-testing sysmocom-alix PLACEHOLDER_SYSMOCOM_RELEASE&quot;
ssh -i ~/.ssh/id_rsa_downloads -p41 generic@downloads.sysmocom.de &quot;diff-testing sysmocom-apu2 PLACEHOLDER_SYSMOCOM_RELEASE&quot;</command>
</command>
</hudson.tasks.Shell>
</builders>
<publishers/>
<buildWrappers/>
</project>

View File

@ -0,0 +1,81 @@
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>Test upgrading from current to the next image!</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>30</daysToKeep>
<numToKeep>90</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="hudson.plugins.git.GitSCM" plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>ssh://git@git.admin.sysmocom.de/sysmocom/poky-qa</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/master</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>true</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</scm>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers>
<hudson.triggers.TimerTrigger>
<spec>H H * * *</spec>
</hudson.triggers.TimerTrigger>
</triggers>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>export SYSTEM_RELEASE=PLACEHOLDER_SYSMOCOM_RELEASE
rm -f bzImage sysmocom-nitb-image-sysmocom-bsc.ext4
wget https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmocom-alix/PLACEHOLDER_SYSMOCOM_RELEASE-testing/images/sysmocom-alix/bzImage
wget https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmocom-alix/PLACEHOLDER_SYSMOCOM_RELEASE/images/sysmocom-alix/sysmocom-core-image-sysmocom-alix.ext4
mv sysmocom-core-image-sysmocom-alix.ext4 sysmocom-nitb-image-sysmocom-bsc.ext4
python2 test-bsc.py</command>
</hudson.tasks.Shell>
</builders>
<publishers>
<hudson.tasks.junit.JUnitResultArchiver>
<testResults>TEST-TestBSC-res.xml</testResults>
<keepLongStdio>false</keepLongStdio>
<testDataPublishers/>
</hudson.tasks.junit.JUnitResultArchiver>
</publishers>
<buildWrappers/>
</project>

View File

@ -0,0 +1,81 @@
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>Test upgrading from current to the next image!</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>30</daysToKeep>
<numToKeep>90</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="hudson.plugins.git.GitSCM" plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>ssh://git@git.admin.sysmocom.de/sysmocom/poky-qa</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/master</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>true</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</scm>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers>
<hudson.triggers.TimerTrigger>
<spec>H H * * *</spec>
</hudson.triggers.TimerTrigger>
</triggers>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>export SYSTEM_RELEASE=PLACEHOLDER_SYSMOCOM_RELEASE
rm -f bzImage sysmocom-nitb-image-sysmocom-bsc.ext4
wget https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmocom-apu2/PLACEHOLDER_SYSMOCOM_RELEASE-testing/images/sysmocom-apu2/bzImage
wget https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmocom-apu2/PLACEHOLDER_SYSMOCOM_RELEASE/images/sysmocom-apu2/sysmocom-core-image-sysmocom-apu2.ext4
mv sysmocom-core-image-sysmocom-apu2.ext4 sysmocom-nitb-image-sysmocom-bsc.ext4
python2 test-bsc.py</command>
</hudson.tasks.Shell>
</builders>
<publishers>
<hudson.tasks.junit.JUnitResultArchiver>
<testResults>TEST-TestBSC-res.xml</testResults>
<keepLongStdio>false</keepLongStdio>
<testDataPublishers/>
</hudson.tasks.junit.JUnitResultArchiver>
</publishers>
<buildWrappers/>
</project>

View File

@ -0,0 +1,330 @@
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>Test a branch for a given machine on the CI environment.</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>30</daysToKeep>
<numToKeep>100</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties>
<hudson.model.ParametersDefinitionProperty>
<parameterDefinitions>
<hudson.model.ChoiceParameterDefinition>
<name>Machine</name>
<description></description>
<choices class="java.util.Arrays$ArrayList">
<a class="string-array">
<string>sysmobts</string>
<string>sysmobts2100</string>
<string>sysmocom-apu2</string>
<string>sysmocom-alix2</string>
</a>
</choices>
</hudson.model.ChoiceParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>poky</name>
<description></description>
<defaultValue>PLACEHOLDER_POKY_RELEASE</defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>telephony</name>
<description></description>
<defaultValue>PLACEHOLDER_SYSMOCOM_RELEASE</defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>bsp</name>
<description></description>
<defaultValue>PLACEHOLDER_SYSMOCOM_RELEASE</defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>smalltalk</name>
<description></description>
<defaultValue>PLACEHOLDER_SYSMOCOM_RELEASE</defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>qt5</name>
<description></description>
<defaultValue>PLACEHOLDER_SYSMOCOM_RELEASE</defaultValue>
</hudson.model.StringParameterDefinition>
<hudson.model.StringParameterDefinition>
<name>systemimages</name>
<description></description>
<defaultValue>PLACEHOLDER_SYSMOCOM_RELEASE</defaultValue>
</hudson.model.StringParameterDefinition>
</parameterDefinitions>
</hudson.model.ParametersDefinitionProperty>
</properties>
<scm class="org.jenkinsci.plugins.multiplescms.MultiSCM" plugin="multiple-scms@0.3">
<scms>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.yoctoproject.org/poky</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_POKY_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>poky</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://github.com/sysmocom/meta-smalltalk.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>meta-smalltalk</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://github.com/sysmocom/meta-qt5.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>meta-qt5</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.sysmocom.de/poky/meta-sysmocom-bsp</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>meta-sysmocom-bsp</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.osmocom.org/meta-telephony</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>meta-telephony</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.sysmocom.de/poky/system-images</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>**</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir>system-images</relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
</scms>
</scm>
<assignedNode>Debian8-AMD64</assignedNode>
<canRoam>false</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers/>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>env
cd system-images
rm -rf git/
mkdir -p git/
cd git
git clone -l --branch=${poky} --reference=../../poky `cd ../../poky &amp;&amp; git config --get remote.origin.url`
git clone -l --branch=${smalltalk} --reference=../../meta-smalltalk `cd ../../meta-smalltalk &amp;&amp; git config --get remote.origin.url`
git clone -l --branch=${qt5} --reference=../../meta-qt5 `cd ../../meta-qt5 &amp;&amp; git config --get remote.origin.url`
git clone -l --branch=${bsp} --reference=../../meta-sysmocom-bsp `cd ../../meta-sysmocom-bsp &amp;&amp; git config --get remote.origin.url`
git clone -l --branch=${telephony} --reference=../../meta-telephony `cd ../../meta-telephony &amp;&amp; git config --get remote.origin.url`
cd ../
pwd
cat Makefile
git reset --hard origin/${systemimages}
echo &apos;SRC_URI_pn-sysmobts-firmware = &quot;https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/firmware/sysmobts-firmware-superfemto_v${PV}.tar.bz2&quot;
SRC_URI_pn-sbts2050-util = &quot;https://autoupdate:eechiesuboot@downloads.sysmocom.de/generic/sysmobts/firmware/sbts2050-util-${PV}.tar.bz2&quot;&apos; &gt; cfg/sysmobts/99_do_not_commit
# keep sstate-cache
rm -rf sstate-cache
mv build.${Machine}/sstate-cache . || true
rm -rf build.*
make ${Machine}-setup
mv sstate-cache build.${Machine}/ || true
make ${Machine}-build
make ${Machine}-clean
rm -rf build.${Machine}/tmp</command>
</hudson.tasks.Shell>
</builders>
<publishers/>
<buildWrappers/>
</project>

View File

@ -0,0 +1,244 @@
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>&lt;div&gt;&lt;b&gt;Creates official PLACEHOLDER_SYSMOCOM_RELEASE-testing packages/images on downlaods.sysmocom.de&lt;/b&gt;&lt;/div&gt;&#xd;
&lt;div&gt;&#xd;
Does this by using &lt;a href=&quot;http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=PLACEHOLDER_POKY_RELEASE&quot;&gt;&lt;i&gt;PLACEHOLDER_POKY_RELEASE&lt;/i&gt; branch&lt;/a&gt;,&#xd;
with the PLACEHOLDER_SYSMOCOM_RELEASE branch of the various meta-* layers.&#xd;
&lt;/div&gt;</description>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>30</daysToKeep>
<numToKeep>100</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
<keepDependencies>false</keepDependencies>
<properties/>
<scm class="org.jenkinsci.plugins.multiplescms.MultiSCM" plugin="multiple-scms@0.3">
<scms>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.yoctoproject.org/poky</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_POKY_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://github.com/sysmocom/meta-smalltalk.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://github.com/sysmocom/meta-qt5.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.sysmocom.de/poky/meta-sysmocom-bsp</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
<hudson.plugins.git.GitSCM plugin="git@1.5.0">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://git.osmocom.org/meta-telephony</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>*/PLACEHOLDER_SYSMOCOM_RELEASE</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<ignoreNotifyCommit>false</ignoreNotifyCommit>
<useShallowClone>false</useShallowClone>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</hudson.plugins.git.GitSCM>
</scms>
</scm>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers>
<hudson.triggers.SCMTrigger>
<spec>H/5 * * * *</spec>
<ignorePostCommitHooks>false</ignorePostCommitHooks>
</hudson.triggers.SCMTrigger>
</triggers>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>ssh -4 yoctoPLACEHOLDER_POKY_RELEASEbuild@10.9.1.103 &quot;cd system-images &amp;&amp; git pull --rebase&quot;
ssh -4 yoctoPLACEHOLDER_POKY_RELEASEbuild@10.9.1.103 make -C system-images update
ssh -4 yoctoPLACEHOLDER_POKY_RELEASEbuild@10.9.1.103 make -C system-images clean-all || true
ssh -4 yoctoPLACEHOLDER_POKY_RELEASEbuild@10.9.1.103 make -C system-images build-all
ssh -4 yoctoPLACEHOLDER_POKY_RELEASEbuild@10.9.1.103 make -C system-images upload-all
ssh -4 yoctoPLACEHOLDER_POKY_RELEASEbuild@10.9.1.103 make -C system-images clean-all</command>
</hudson.tasks.Shell>
</builders>
<publishers>
<hudson.tasks.BuildTrigger>
<childProjects>PLACEHOLDER_SYSMOCOM_RELEASE-test-upgrade-alix, PLACEHOLDER_SYSMOCOM_RELEASE-test-upgrade-apu2</childProjects>
<threshold>
<name>SUCCESS</name>
<ordinal>0</ordinal>
<color>BLUE</color>
<completeBuild>true</completeBuild>
</threshold>
</hudson.tasks.BuildTrigger>
<hudson.tasks.Mailer plugin="mailer@1.8">
<recipients>intern@lists.sysmocom.de</recipients>
<dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
<sendToIndividuals>false</sendToIndividuals>
</hudson.tasks.Mailer>
</publishers>
<buildWrappers/>
</project>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<hudson.model.ListView>
<name>System Images PLACEHOLDER_SYSMOCOM_RELEASE</name>
<filterExecutors>false</filterExecutors>
<filterQueue>false</filterQueue>
<properties class="hudson.model.View$PropertyList"/>
<jobNames>
<comparator class="hudson.util.CaseInsensitiveComparator"/>
<string>PLACEHOLDER_SYSMOCOM_RELEASE-merge-diff</string>
<string>PLACEHOLDER_SYSMOCOM_RELEASE-nightly</string>
<string>PLACEHOLDER_SYSMOCOM_RELEASE-show-diff</string>
<string>PLACEHOLDER_SYSMOCOM_RELEASE-test-upgrade-alix</string>
<string>PLACEHOLDER_SYSMOCOM_RELEASE-test-upgrade-apu2</string>
<string>PLACEHOLDER_SYSMOCOM_RELEASE-testbranch</string>
<string>PLACEHOLDER_SYSMOCOM_RELEASE-testing</string>
<string>Yocto-Master</string>
</jobNames>
<jobFilters/>
<columns>
<hudson.views.StatusColumn/>
<hudson.views.WeatherColumn/>
<hudson.views.JobColumn/>
<hudson.views.LastSuccessColumn/>
<hudson.views.LastFailureColumn/>
<hudson.views.LastDurationColumn/>
<hudson.views.BuildButtonColumn/>
</columns>
<recurse>false</recurse>
</hudson.model.ListView>

31
scripts/dispatch.sh Normal file → Executable file
View File

@ -4,14 +4,37 @@
# TODO: Make this interactive and show the diff before and then
# do the merge?
case "$SSH_ORIGINAL_COMMAND" in
set -e
# Extract first part...
item=1
for i in $SSH_ORIGINAL_COMMAND;
do
if [ $item = "1" ]; then
CMD=$i
elif [ $item = "11" ]; then
MACHINE=$i
elif [ $item = "111" ]; then
RELEASE=$i
else
break
fi
item="1$item"
done
case "$CMD" in
"rsync")
exec /usr/local/bin/rrsync web-files
exec /usr/local/bin/rrsync $1
;;
"diff-testing")
exec `dirname $0`/make-stable.sh $1 $2 dry-run
cd $1
cd ../
exec `dirname $0`/make-stable.sh $MACHINE $RELEASE dry-run
;;
"merge-testing")
exec `dirname $0`/make-stable.sh $1 $2
cd $1
cd ../
exec `dirname $0`/make-stable.sh $MACHINE $RELEASE
;;
esac

View File

@ -13,16 +13,29 @@ RELEASE=$2
DRYRUN=$3
if [ "x$DRYRUN" != "x" ]; then
ARGS=--dry-run
BASE_ARGS="--recursive --delete --links --verbose --dry-run "
else
BASE_ARGS="--delete -avH"
fi
DIRS=images ipk sdk tools cache-state;
DIRS="images ipk sdk tools cache-state sources cache conf"
for i in $DIRS;
do
echo "Working on $i"
rsync $ARGS --delete -avH \
--link-dest=$PWD/web-files/$MACHINE/$RELEASE-testing/$i \
if [ ! -e $PWD/web-files/$MACHINE/$RELEASE-testing/$i ]; then
echo "Skipping $i, directory doesn't exist"
echo ""
continue
fi
if [ "x$DRYRUN" != "x" ]; then
ARGS="$BASE_ARGS"
else
ARGS="$BASE_ARGS --link-dest=$PWD/web-files/$MACHINE/$RELEASE-testing/$i"
fi
echo "Checking $i"
rsync $ARGS \
web-files/$MACHINE/$RELEASE-testing/$i/ \
web-files/$MACHINE/$RELEASE/$i/
web-files/$MACHINE/$RELEASE/$i/ | egrep -v "sending incre|sent |total"
done