drone-test/.drone.jsonnet

71 lines
1.7 KiB
Plaintext

local archs = [
{ 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' },
];
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),
image: 'img.kie.rs/jjkiers/rust-dind-cross:1.62-slim',
volumes: [
{
name: 'dockersock',
path: '/var/run',
},
{
name: 'rustup',
path: '/usr/local/rustup',
},
],
commands: [
'echo Hello World from Jsonnet on ' + arch.target + '!',
'cross build --release --target ' + arch.target,
'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
];
{
kind: 'pipeline',
type: 'vm',
name: 'default',
pool: {
use: 'drone-ci-pool',
},
platform: {
arch: 'amd64',
},
steps:
[
{
name: 'Hello World!',
image: 'bash:latest',
commands: [
'Hello from Pipeline VM',
],
},
{
name: 'Hello World!',
image: 'img.kie.rs/jjkiers/rust-dind-cross:1.62-slim',
commands: [
'cargo run',
],
},
],
image_pull_secrets: ['docker_private_repo'],
}