| 
									
										
										
										
											2022-12-16 16:42:57 +01:00
										 |  |  | local cross_image = 'img.kie.rs/jjkiers/rust-dind-cross:1.66-slim-pm';
 | 
					
						
							| 
									
										
										
										
											2022-12-16 13:41:13 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-15 18:04:46 +01:00
										 |  |  | local archs = [
 | 
					
						
							| 
									
										
										
										
											2022-12-16 13:24:30 +01:00
										 |  |  |   { target: 'aarch64-unknown-linux-gnu', short: 'arm64-gnu' },
 | 
					
						
							|  |  |  |   { target: 'aarch64-unknown-linux-musl', short: 'arm64-musl' },
 | 
					
						
							|  |  |  |   { target: 'x86_64-pc-windows-gnu', short: 'windows-amd64' },
 | 
					
						
							|  |  |  |   { target: 'x86_64-unknown-linux-gnu', short: 'amd64-gnu' },
 | 
					
						
							|  |  |  |   { target: 'x86_64-unknown-linux-musl', short: 'amd64-musl' },
 | 
					
						
							| 
									
										
										
										
											2022-12-15 18:04:46 +01:00
										 |  |  | ];
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | local getStepName(arch) = 'Build for ' + arch.short;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | local getExeName(arch) = if std.startsWith(arch.short, 'windows') then '.exe' else '';
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | local add_build_steps() = [
 | 
					
						
							|  |  |  |   {
 | 
					
						
							|  |  |  |     name: getStepName(arch),
 | 
					
						
							| 
									
										
										
										
											2022-12-16 13:41:13 +01:00
										 |  |  |     image: cross_image,
 | 
					
						
							| 
									
										
										
										
											2022-12-15 18:04:46 +01:00
										 |  |  |     commands: [
 | 
					
						
							|  |  |  |       'echo Hello World from Jsonnet on ' + arch.target + '!',
 | 
					
						
							|  |  |  |       'cross build --release --target ' + arch.target,
 | 
					
						
							| 
									
										
										
										
											2022-12-16 14:05:38 +01:00
										 |  |  |       'ls -lahR',
 | 
					
						
							| 
									
										
										
										
											2022-12-15 18:04:46 +01:00
										 |  |  |       'cp target/' + arch.target + '/release/drone-test' + getExeName(arch) + ' artifacts/drone-test-' + arch.short + getExeName(arch),
 | 
					
						
							|  |  |  |       'rm -rf target/' + arch.target + '/release/*',
 | 
					
						
							|  |  |  |     ],
 | 
					
						
							|  |  |  |     environment: {
 | 
					
						
							|  |  |  |       CROSS_REMOTE: true,
 | 
					
						
							|  |  |  |     },
 | 
					
						
							| 
									
										
										
										
											2022-12-16 16:42:07 +01:00
										 |  |  |     depends_on: ['Start'],
 | 
					
						
							| 
									
										
										
										
											2022-12-15 18:04:46 +01:00
										 |  |  |   }
 | 
					
						
							|  |  |  |   for arch in archs
 | 
					
						
							|  |  |  | ];
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-10 22:46:48 +00:00
										 |  |  | {
 | 
					
						
							| 
									
										
										
										
											2022-08-11 09:31:55 +02:00
										 |  |  |   kind: 'pipeline',
 | 
					
						
							| 
									
										
										
										
											2022-12-15 18:20:03 +01:00
										 |  |  |   type: 'docker',
 | 
					
						
							| 
									
										
										
										
											2022-08-11 09:31:55 +02:00
										 |  |  |   name: 'default',
 | 
					
						
							|  |  |  |   platform: {
 | 
					
						
							|  |  |  |     arch: 'amd64',
 | 
					
						
							|  |  |  |   },
 | 
					
						
							|  |  |  |   steps:
 | 
					
						
							| 
									
										
										
										
											2022-12-15 18:04:46 +01:00
										 |  |  |     [{
 | 
					
						
							| 
									
										
										
										
											2022-12-16 16:41:16 +01:00
										 |  |  |       name: 'Start',
 | 
					
						
							| 
									
										
										
										
											2022-12-16 13:41:13 +01:00
										 |  |  |       image: cross_image,
 | 
					
						
							| 
									
										
										
										
											2022-12-15 18:04:46 +01:00
										 |  |  |       commands: [
 | 
					
						
							| 
									
										
										
										
											2022-12-16 13:41:13 +01:00
										 |  |  |         'mkdir artifacts',
 | 
					
						
							| 
									
										
										
										
											2022-12-16 16:41:16 +01:00
										 |  |  |         'while ! podman image ls; do sleep 1; done',
 | 
					
						
							|  |  |  |         'podman info',
 | 
					
						
							|  |  |  |         'podman pull hello-world:latest',
 | 
					
						
							|  |  |  |         'podman run --rm hello-world:latest',
 | 
					
						
							| 
									
										
										
										
											2022-12-15 18:04:46 +01:00
										 |  |  |       ],
 | 
					
						
							|  |  |  |     }] +
 | 
					
						
							|  |  |  |     add_build_steps() +
 | 
					
						
							| 
									
										
										
										
											2022-08-11 23:11:55 +02:00
										 |  |  |     [
 | 
					
						
							| 
									
										
										
										
											2022-09-07 22:34:36 +02:00
										 |  |  |       {
 | 
					
						
							| 
									
										
										
										
											2022-12-15 18:04:46 +01:00
										 |  |  |         name: 'Show built artifacts',
 | 
					
						
							| 
									
										
										
										
											2022-12-16 13:41:13 +01:00
										 |  |  |         image: cross_image,
 | 
					
						
							| 
									
										
										
										
											2022-12-03 10:58:24 +01:00
										 |  |  |         commands: [
 | 
					
						
							| 
									
										
										
										
											2022-12-15 18:04:46 +01:00
										 |  |  |           'ls -lah artifacts',
 | 
					
						
							| 
									
										
										
										
											2022-12-03 10:58:24 +01:00
										 |  |  |         ],
 | 
					
						
							| 
									
										
										
										
											2022-12-15 18:04:46 +01:00
										 |  |  |         depends_on: [getStepName(a) for a in archs],
 | 
					
						
							|  |  |  |       },
 | 
					
						
							|  |  |  |       {
 | 
					
						
							|  |  |  |         name: 'Create release on gitea',
 | 
					
						
							|  |  |  |         image: 'plugins/gitea-release',
 | 
					
						
							|  |  |  |         settings: {
 | 
					
						
							|  |  |  |           api_key: {
 | 
					
						
							|  |  |  |             from_secret: 'gitea_token',
 | 
					
						
							|  |  |  |           },
 | 
					
						
							|  |  |  |           base_url: 'https://code.kiers.eu',
 | 
					
						
							|  |  |  |           files: 'artifacts/*',
 | 
					
						
							|  |  |  |           checksum: 'sha256',
 | 
					
						
							|  |  |  |         },
 | 
					
						
							|  |  |  |         when: {
 | 
					
						
							|  |  |  |           event: ['tag', 'promote'],
 | 
					
						
							|  |  |  |         },
 | 
					
						
							|  |  |  |         depends_on: ['Show built artifacts'],
 | 
					
						
							|  |  |  |       },
 | 
					
						
							|  |  |  |     ],
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   image_pull_secrets: ['docker_private_repo'],
 | 
					
						
							| 
									
										
										
										
											2022-08-11 09:31:55 +02:00
										 |  |  | }
 |