From c3170e61371a52f592b80cb036c34c8a535f73d7 Mon Sep 17 00:00:00 2001 From: Jacob Kiers Date: Sat, 3 Dec 2022 10:58:24 +0100 Subject: [PATCH] Another test Signed-off-by: Jacob Kiers --- .drone.jsonnet | 78 ++++----------------------- drone.jsonnet.rust | 130 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 139 insertions(+), 69 deletions(-) create mode 100644 drone.jsonnet.rust diff --git a/.drone.jsonnet b/.drone.jsonnet index e91f5db..18bcf12 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -49,82 +49,22 @@ local add_build_steps() = [ 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', - 'mkdir artifacts', - ], - volumes: [{ - name: 'dockersock', - path: '/var/run', - }], - }] + - add_build_steps() + [ { - name: 'Show built artifacts', + 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: [ - 'ls -lah artifacts', + 'cargo run', ], - 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'], }, ], - 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'], } diff --git a/drone.jsonnet.rust b/drone.jsonnet.rust new file mode 100644 index 0000000..e91f5db --- /dev/null +++ b/drone.jsonnet.rust @@ -0,0 +1,130 @@ +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: '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', + 'mkdir artifacts', + ], + volumes: [{ + name: 'dockersock', + path: '/var/run', + }], + }] + + add_build_steps() + + [ + { + name: 'Show built artifacts', + image: 'img.kie.rs/jjkiers/rust-dind-cross:1.62-slim', + commands: [ + 'ls -lah artifacts', + ], + 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'], + }, + ], + + 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'], +}