drone-test/.drone.jsonnet
Jacob Kiers eb9d8c58f5
All checks were successful
continuous-integration/drone/push Build is passing
Use full rustup dir
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-08-21 00:23:55 +02:00

111 lines
2.1 KiB
Plaintext

local archs = [
'aarch64-unknown-linux-gnu',
'aarch64-unknown-linux-musl',
'x86_64-pc-windows-gnu',
'x86_64-unknown-linux-gnu',
'x86_64-unknown-linux-musl',
];
local getStepName(arch) = 'check ' + arch;
local buildForArch(arch) = {
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 + '!',
'cross build --release --target ' + arch,
'rm -rf target/' + arch + '/release/{build,deps,examples,incremental}',
'ls -lah target/' + arch + '/release',
],
environment: {
CROSS_REMOTE: true,
},
depends_on: ['wait-for-docker'],
};
local check_steps() = [
buildForArch(a)
for a in archs
];
{
kind: 'pipeline',
type: 'docker',
name: 'default',
platform: {
arch: 'amd64',
},
steps:
[{
name: 'wait-for-docker',
image: 'img.kie.rs/jjkiers/rust-dind-cross:1.62-slim',
commands: [
'while ! docker image ls; do sleep 1; done',
'docker info',
'docker pull hello-world:latest',
],
volumes: [{
name: 'dockersock',
path: '/var/run',
}],
}] +
check_steps() +
[
{
name: 'build',
image: 'img.kie.rs/jjkiers/rust-dind-cross:1.62-slim',
commands: [
'ls -lah target/',
],
depends_on: [getStepName(a) for a in archs],
},
],
services: [{
name: 'docker',
image: 'docker:dind',
privileged: true,
volumes: [
{
name: 'dockersock',
path: '/var/run',
},
{
name: 'docker-storage',
path: '/var/lib/docker',
},
],
}],
volumes: [
{
name: 'dockersock',
temp: {},
},
{
name: 'docker-storage',
host: {
path: '/srv/drone/docker-dind-rust',
},
},
{
name: 'rustup',
host: {
path: '/srv/drone/rustup',
},
},
],
image_pull_secrets: ['docker_private_repo'],
}