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 |     always: *logs_artifacts | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| image_build_task: | image_build_task: &image-build | ||||||
|     name: "Build multi-arch $CTXDIR" |     name: "Build multi-arch $CTXDIR" | ||||||
|     alias: image_build |     alias: image_build | ||||||
|     # Some of these container images take > 1h to build, limit |     # Some of these container images take > 1h to build, limit | ||||||
|  | @ -774,6 +774,18 @@ image_build_task: | ||||||
|         - main.sh $CIRRUS_REPO_CLONE_URL $CTXDIR |         - 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 | # This task is critical.  It updates the "last-used by" timestamp stored | ||||||
| # in metadata for all VM images.  This mechanism functions in tandem with | # in metadata for all VM images.  This mechanism functions in tandem with | ||||||
| # an out-of-band pruning operation to remove disused VM images. | # an out-of-band pruning operation to remove disused VM images. | ||||||
|  |  | ||||||
|  | @ -26,7 +26,8 @@ class TestCaseBase(unittest.TestCase): | ||||||
| class TestDependsOn(TestCaseBase): | class TestDependsOn(TestCaseBase): | ||||||
| 
 | 
 | ||||||
|     ALL_TASK_NAMES = None |     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): |     def setUp(self): | ||||||
|         super().setUp() |         super().setUp() | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue