Cirrus: Allow manually running image-build task
Building multi-arch images in a standardized way is complex. Some of the builds themselves can take a really long time to run (over an hour). Make changes easier to test inside a PR by adding manually-triggered image-build tasks. These mirror most of the real cron-triggered task, without actually pushing the final images. Signed-off-by: Chris Evich <cevich@redhat.com>
This commit is contained in:
		
							parent
							
								
									5fcd2a7ac3
								
							
						
					
					
						commit
						d55c46f8c6
					
				
							
								
								
									
										14
									
								
								.cirrus.yml
								
								
								
								
							
							
						
						
									
										14
									
								
								.cirrus.yml
								
								
								
								
							|  | @ -741,7 +741,7 @@ upgrade_test_task: | |||
|     always: *logs_artifacts | ||||
| 
 | ||||
| 
 | ||||
| image_build_task: | ||||
| image_build_task: &image-build | ||||
|     name: "Build multi-arch $CTXDIR" | ||||
|     alias: image_build | ||||
|     # Some of these container images take > 1h to build, limit | ||||
|  | @ -774,6 +774,18 @@ image_build_task: | |||
|         - main.sh $CIRRUS_REPO_CLONE_URL $CTXDIR | ||||
| 
 | ||||
| 
 | ||||
| test_image_build_task: | ||||
|     <<: *image-build | ||||
|     # Allow this to run inside a PR | ||||
|     only_if: $CI == $CI | ||||
|     # This takes a LONG time, only run when requested.  N/B: Any task | ||||
|     # made to depend on this one will block FOREVER unless triggered. | ||||
|     trigger_type: manual | ||||
|     # Overwrite all 'env', don't push anything, just do the build. | ||||
|     env: | ||||
|         DRYRUN: 1 | ||||
| 
 | ||||
| 
 | ||||
| # This task is critical.  It updates the "last-used by" timestamp stored | ||||
| # in metadata for all VM images.  This mechanism functions in tandem with | ||||
| # an out-of-band pruning operation to remove disused VM images. | ||||
|  |  | |||
|  | @ -26,7 +26,8 @@ class TestCaseBase(unittest.TestCase): | |||
| class TestDependsOn(TestCaseBase): | ||||
| 
 | ||||
|     ALL_TASK_NAMES = None | ||||
|     SUCCESS_DEPS_EXCLUDE = set(['success', 'artifacts', 'release', 'release_test']) | ||||
|     SUCCESS_DEPS_EXCLUDE = set(['success', 'artifacts', | ||||
|         'test_image_build', 'release', 'release_test']) | ||||
| 
 | ||||
|     def setUp(self): | ||||
|         super().setUp() | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue