|
| 1 | +<project> |
| 2 | + <actions/> |
| 3 | + <description>Generated at @ESCAPE(now_str) from template '@ESCAPE(template_name)'</description> |
| 4 | + <keepDependencies>false</keepDependencies> |
| 5 | + <properties> |
| 6 | +@(SNIPPET( |
| 7 | + 'property_log-rotator', |
| 8 | + days_to_keep=100, |
| 9 | + num_to_keep=100, |
| 10 | +))@ |
| 11 | +@(SNIPPET( |
| 12 | + 'property_job-priority', |
| 13 | + priority=-1, |
| 14 | +))@ |
| 15 | +@(SNIPPET( |
| 16 | + 'property_requeue-job', |
| 17 | +))@ |
| 18 | + </properties> |
| 19 | +@(SNIPPET( |
| 20 | + 'scm_git', |
| 21 | + url=ros_buildfarm_repository.url, |
| 22 | + branch_name=ros_buildfarm_repository.version or 'master', |
| 23 | + relative_target_dir='ros_buildfarm', |
| 24 | + refspec=None, |
| 25 | +))@ |
| 26 | + <scmCheckoutRetryCount>2</scmCheckoutRetryCount> |
| 27 | + <assignedNode>building_repository</assignedNode> |
| 28 | + <canRoam>false</canRoam> |
| 29 | + <disabled>false</disabled> |
| 30 | + <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> |
| 31 | + <blockBuildWhenUpstreamBuilding>true</blockBuildWhenUpstreamBuilding> |
| 32 | + <triggers/> |
| 33 | + <concurrentBuild>false</concurrentBuild> |
| 34 | + <builders> |
| 35 | +@(SNIPPET( |
| 36 | + 'builder_shell_docker-info', |
| 37 | +))@ |
| 38 | +@(SNIPPET( |
| 39 | + 'builder_shell', |
| 40 | + script='\n'.join([ |
| 41 | + '# generate key files', |
| 42 | + 'echo "# BEGIN SECTION: Write PGP repository keys"', |
| 43 | + 'mkdir -p $WORKSPACE/keys', |
| 44 | + 'rm -fr $WORKSPACE/keys/*', |
| 45 | + 'echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQoA\nPhYhBMHPbjHmut6IaLFytPQu1vurF8ZUBQJc7yaWAhsDBQkDwmcABQsJCAcCBhUK\nCQgLAgQWAgMBAh4BAheAAAoJEPQu1vurF8ZUkhIP/RbZY1ErvCEUy8iLJm9aSpLQ\nnDZl5xILOxyZlzpg+Ml5bb0EkQDr92foCgcvLeANKARNCaGLyNIWkuyDovPV0xZJ\nrEy0kgBrDNb3++NmdI/+GA92pkedMXXioQvqdsxUagXAIB/sNGByJEhs37F05AnF\nvZbjUhceq3xTlvAMcrBWrgB4NwBivZY6IgLvl/CRQpVYwANShIQdbvHvZSxRonWh\nNXr6v/Wcf8rsp7g2VqJ2N2AcWT84aa9BLQ3Oe/SgrNx4QEhA1y7rc3oaqPVu5ZXO\nK+4O14JrpbEZ3Xs9YEjrcOuEDEpYktA8qqUDTdFyZrxb9S6BquUKrA6jZgT913kj\nJ4e7YAZobC4rH0w4u0PrqDgYOkXA9Mo7L601/7ZaDJob80UcK+Z12ZSw73IgBix6\nDiJVfXuWkk5PM2zsFn6UOQXUNlZlDAOj5NC01V0fJ8P0v6GO9YOSSQx0j5UtkUbR\nfp/4W7uCPFvwAatWEHJhlM3sQNiMNStJFegr56xQu1a/cbJH7GdbseMhG/f0BaKQ\nqXCI3ffB5y5AOLc9Hw7PYiTFQsuY1ePRhE+J9mejgWRZxkjAH/FlAubqXkDgterC\nh+sLkzGf+my2IbsMCuc+3aeNMJ5Ej/vlXefCH/MpPWAHCqpQhe2DET/jRSaM53US\nAHNx8kw4MPUkxExgI7Sd\n=4Ofr\n-----END PGP PUBLIC KEY BLOCK-----" > $WORKSPACE/keys/0.key', |
| 46 | + 'echo "# END SECTION"', |
| 47 | + ]), |
| 48 | +))@ |
| 49 | +@(SNIPPET( |
| 50 | + 'builder_shell', |
| 51 | + script='\n'.join([ |
| 52 | + 'rm -fr $WORKSPACE/docker_check_sync_criteria', |
| 53 | + 'mkdir -p $WORKSPACE/docker_check_sync_criteria', |
| 54 | + '', |
| 55 | + '# monitor all subprocesses and enforce termination', |
| 56 | + 'python3 -u $WORKSPACE/ros_buildfarm/scripts/subprocess_reaper.py $$ --cid-file $WORKSPACE/docker_check_sync_criteria/docker.cid > $WORKSPACE/docker_check_sync_criteria/subprocess_reaper.log 2>&1 &', |
| 57 | + '# sleep to give python time to startup', |
| 58 | + 'sleep 1', |
| 59 | + '', |
| 60 | + '# generate Dockerfile, build and run it', |
| 61 | + '# checking the sync criteria', |
| 62 | + 'echo "# BEGIN SECTION: Generate Dockerfile - check sync condition"', |
| 63 | + 'export TZ="%s"' % timezone, |
| 64 | + 'export PYTHONPATH=$WORKSPACE/ros_buildfarm:$PYTHONPATH', |
| 65 | + 'python3 -u $WORKSPACE/ros_buildfarm/scripts/release/run_check_sync_criteria_job.py' + |
| 66 | + ' ' + config_url + |
| 67 | + ' ' + rosdistro_name + |
| 68 | + ' ' + release_build_name + |
| 69 | + ' ' + os_name + |
| 70 | + ' ' + os_code_name + |
| 71 | + ' ' + arch + |
| 72 | + ' --distribution-repository-urls http://repositories.ros.org/ubuntu/main' + |
| 73 | + ' --distribution-repository-key-files $WORKSPACE/keys/0.key' + |
| 74 | + ' --cache-dir /tmp/package_repo_cache' + |
| 75 | + ' --dockerfile-dir $WORKSPACE/docker_check_sync_criteria', |
| 76 | + 'echo "# END SECTION"', |
| 77 | + '', |
| 78 | + 'echo "# BEGIN SECTION: Build Dockerfile - check sync condition"', |
| 79 | + 'cd $WORKSPACE/docker_check_sync_criteria', |
| 80 | + 'python3 -u $WORKSPACE/ros_buildfarm/scripts/misc/docker_pull_baseimage.py', |
| 81 | + 'docker build --force-rm -t check_sync_condition .', |
| 82 | + 'echo "# END SECTION"', |
| 83 | + '', |
| 84 | + 'echo "# BEGIN SECTION: Run Dockerfile - check sync condition"', |
| 85 | + 'rm -fr $WORKSPACE/package_repo_cache', |
| 86 | + 'mkdir -p $WORKSPACE/package_repo_cache', |
| 87 | + 'docker run' + |
| 88 | + ' --rm ' + |
| 89 | + ' --cidfile=$WORKSPACE/docker_check_sync_criteria/docker.cid' + |
| 90 | + ' -v $WORKSPACE/ros_buildfarm:/tmp/ros_buildfarm:ro' + |
| 91 | + ' -v $WORKSPACE/package_repo_cache:/tmp/package_repo_cache' + |
| 92 | + ' check_sync_condition', |
| 93 | + 'echo "# END SECTION"', |
| 94 | + ]), |
| 95 | +))@ |
| 96 | +@(SNIPPET( |
| 97 | + 'builder_shell', |
| 98 | + script='\n'.join([ |
| 99 | + 'echo "# BEGIN SECTION: determine source packages to sync"', |
| 100 | + 'export PYTHONPATH=$WORKSPACE/ros_buildfarm:$PYTHONPATH', |
| 101 | + 'python3 -u $WORKSPACE/ros_buildfarm/scripts/release/rpm/list_packages.py' + |
| 102 | + ' --pulp-base-url http://repo:24817' + |
| 103 | + ' --pulp-distribution-name ros-building-%s-%s-SRPMS' % (os_name, os_code_name) + |
| 104 | + ' --package-name-expression "^ros-%s-.*"' % rosdistro_name + |
| 105 | + ' --pulp-resource-record $WORKSPACE/ros-building-source.txt', |
| 106 | + 'echo "# END SECTION"', |
| 107 | + '', |
| 108 | + 'echo "# BEGIN SECTION: determine binary packages to sync"', |
| 109 | + 'export PYTHONPATH=$WORKSPACE/ros_buildfarm:$PYTHONPATH', |
| 110 | + 'python3 -u $WORKSPACE/ros_buildfarm/scripts/release/rpm/list_packages.py' + |
| 111 | + ' --pulp-base-url http://repo:24817' + |
| 112 | + ' --pulp-distribution-name ros-building-%s-%s-%s' % (os_name, os_code_name, arch) + |
| 113 | + ' --package-name-expression "^ros-%s-.*"' % rosdistro_name + |
| 114 | + ' --pulp-resource-record $WORKSPACE/ros-building-binary.txt', |
| 115 | + 'echo "# END SECTION"', |
| 116 | + '', |
| 117 | + 'echo "# BEGIN SECTION: determine binary debug packages to testing repo"', |
| 118 | + 'export PYTHONPATH=$WORKSPACE/ros_buildfarm:$PYTHONPATH', |
| 119 | + 'python3 -u $WORKSPACE/ros_buildfarm/scripts/release/rpm/list_packages.py' + |
| 120 | + ' --pulp-base-url http://repo:24817' + |
| 121 | + ' --pulp-distribution-name ros-building-%s-%s-%s-debug' % (os_name, os_code_name, arch) + |
| 122 | + ' --package-name-expression "^ros-%s-.*"' % rosdistro_name + |
| 123 | + ' --pulp-resource-record $WORKSPACE/ros-building-binary-debug.txt', |
| 124 | + 'echo "# END SECTION"', |
| 125 | + ]), |
| 126 | +))@ |
| 127 | +@(SNIPPET( |
| 128 | + 'builder_shell', |
| 129 | + script='\n'.join([ |
| 130 | + 'echo "# BEGIN SECTION: sync source packages to testing repo"', |
| 131 | + 'export PYTHONPATH=$WORKSPACE/ros_buildfarm:$PYTHONPATH', |
| 132 | + 'sed "s/^PULP_RESOURCES=//" $WORKSPACE/ros-building-source.txt | xargs' + |
| 133 | + ' python3 -u $WORKSPACE/ros_buildfarm/scripts/release/rpm/import_package.py' + |
| 134 | + ' --pulp-base-url http://repo:24817' + |
| 135 | + ' --pulp-distribution-name ros-testing-%s-%s-SRPMS' % (os_name, os_code_name) + |
| 136 | + ' --invalidate-expression "^ros-%s-.*"' % rosdistro_name, |
| 137 | + 'echo "# END SECTION"', |
| 138 | + '', |
| 139 | + 'echo "# BEGIN SECTION: sync binary packages to testing repo"', |
| 140 | + 'export PYTHONPATH=$WORKSPACE/ros_buildfarm:$PYTHONPATH', |
| 141 | + 'sed "s/^PULP_RESOURCES=//" $WORKSPACE/ros-building-binary.txt | xargs' + |
| 142 | + ' python3 -u $WORKSPACE/ros_buildfarm/scripts/release/rpm/import_package.py' + |
| 143 | + ' --pulp-base-url http://repo:24817' + |
| 144 | + ' --pulp-distribution-name ros-testing-%s-%s-%s' % (os_name, os_code_name, arch) + |
| 145 | + ' --invalidate-expression "^ros-%s-.*"' % rosdistro_name, |
| 146 | + 'echo "# END SECTION"', |
| 147 | + '', |
| 148 | + 'echo "# BEGIN SECTION: sync binary debug packages to testing repo"', |
| 149 | + 'export PYTHONPATH=$WORKSPACE/ros_buildfarm:$PYTHONPATH', |
| 150 | + 'sed "s/^PULP_RESOURCES=//" $WORKSPACE/ros-building-binary-debug.txt | xargs' + |
| 151 | + ' python3 -u $WORKSPACE/ros_buildfarm/scripts/release/rpm/import_package.py' + |
| 152 | + ' --pulp-base-url http://repo:24817' + |
| 153 | + ' --pulp-distribution-name ros-testing-%s-%s-%s-debug' % (os_name, os_code_name, arch) + |
| 154 | + ' --invalidate-expression "^ros-%s-.*"' % rosdistro_name, |
| 155 | + 'echo "# END SECTION"', |
| 156 | + ]), |
| 157 | +))@ |
| 158 | + </builders> |
| 159 | + <publishers> |
| 160 | +@(SNIPPET( |
| 161 | + 'publisher_mailer', |
| 162 | + recipients=notify_emails, |
| 163 | + dynamic_recipients=[], |
| 164 | + send_to_individuals=False, |
| 165 | +))@ |
| 166 | + </publishers> |
| 167 | + <buildWrappers> |
| 168 | +@(SNIPPET( |
| 169 | + 'credentials_binding_plugin', |
| 170 | + credential_id=credential_id, |
| 171 | + env_var_prefix='PULP', |
| 172 | +))@ |
| 173 | +@(SNIPPET( |
| 174 | + 'build-wrapper_timestamper', |
| 175 | +))@ |
| 176 | + </buildWrappers> |
| 177 | +</project> |
0 commit comments