2022-12-16 15:41:16 +00:00
|
|
|
local cross_image = 'img.kie.rs/jjkiers/rust-dind-cross:1.66-sli-pm';
|
2022-12-16 12:41:13 +00:00
|
|
|
|
2022-12-15 17:04:46 +00:00
|
|
|
local archs = [
|
2022-12-16 12:24:30 +00: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 17:04:46 +00: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 12:41:13 +00:00
|
|
|
image: cross_image,
|
2022-12-15 17:04:46 +00:00
|
|
|
commands: [
|
|
|
|
'echo Hello World from Jsonnet on ' + arch.target + '!',
|
|
|
|
'cross build --release --target ' + arch.target,
|
2022-12-16 13:05:38 +00:00
|
|
|
'ls -lahR',
|
2022-12-15 17:04:46 +00: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,
|
|
|
|
},
|
|
|
|
depends_on: ['Wait for Docker'],
|
|
|
|
}
|
|
|
|
for arch in archs
|
|
|
|
];
|
|
|
|
|
2022-08-10 22:46:48 +00:00
|
|
|
{
|
2022-08-11 07:31:55 +00:00
|
|
|
kind: 'pipeline',
|
2022-12-15 17:20:03 +00:00
|
|
|
type: 'docker',
|
2022-08-11 07:31:55 +00:00
|
|
|
name: 'default',
|
|
|
|
platform: {
|
|
|
|
arch: 'amd64',
|
|
|
|
},
|
|
|
|
steps:
|
2022-12-15 17:04:46 +00:00
|
|
|
[{
|
2022-12-16 15:41:16 +00:00
|
|
|
name: 'Start',
|
2022-12-16 12:41:13 +00:00
|
|
|
image: cross_image,
|
2022-12-15 17:04:46 +00:00
|
|
|
commands: [
|
2022-12-16 12:41:13 +00:00
|
|
|
'mkdir artifacts',
|
2022-12-16 15:41:16 +00: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 17:04:46 +00:00
|
|
|
],
|
|
|
|
}] +
|
|
|
|
add_build_steps() +
|
2022-08-11 21:11:55 +00:00
|
|
|
[
|
2022-09-07 20:34:36 +00:00
|
|
|
{
|
2022-12-15 17:04:46 +00:00
|
|
|
name: 'Show built artifacts',
|
2022-12-16 12:41:13 +00:00
|
|
|
image: cross_image,
|
2022-12-03 09:58:24 +00:00
|
|
|
commands: [
|
2022-12-15 17:04:46 +00:00
|
|
|
'ls -lah artifacts',
|
2022-12-03 09:58:24 +00:00
|
|
|
],
|
2022-12-15 17:04:46 +00: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 07:31:55 +00:00
|
|
|
}
|