Compare commits

...

30 Commits

Author SHA1 Message Date
Jacob Kiers 2eb6083398 Typo
continuous-integration/drone/push Build is passing Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 18:56:13 +01:00
Jacob Kiers 86139dcac7 Try without dind
continuous-integration/drone/push Build encountered an error Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 18:55:06 +01:00
Jacob Kiers 5b20b93184 Always pull newest image
continuous-integration/drone/push Build is passing Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 17:16:12 +01:00
Jacob Kiers 678e7247c1 Try with full image
continuous-integration/drone/push Build is passing Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 17:01:36 +01:00
Jacob Kiers 6cb7d37ce8 Fix image name
continuous-integration/drone/push Build is failing Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 16:42:57 +01:00
Jacob Kiers fd8566c59b Fix for podman drone script
continuous-integration/drone/push Build encountered an error Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 16:42:07 +01:00
Jacob Kiers d205eb04e2 Try with podman
continuous-integration/drone/push Build encountered an error Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 16:41:16 +01:00
Jacob Kiers 20326a315e Use rust v1.66 with cross v0.2.4
continuous-integration/drone/push Build is passing Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 16:29:02 +01:00
Jacob Kiers 7681c09c74 Back to rust 1.62. See whether that helps
continuous-integration/drone/push Build is passing Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 14:25:15 +01:00
Jacob Kiers ef16138614 List all files
continuous-integration/drone/push Build is failing Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 14:05:38 +01:00
Jacob Kiers da06efc088 List all files
continuous-integration/drone/push Build is failing Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 14:00:17 +01:00
Jacob Kiers acc839897c List target directories first
continuous-integration/drone/push Build is failing Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 13:56:25 +01:00
Jacob Kiers 528a0ea97e Use newer rust image
continuous-integration/drone/push Build is failing Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 13:41:13 +01:00
Jacob Kiers cc34bf6392 Try full cross-platform build
continuous-integration/drone/push Build is failing Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 13:24:30 +01:00
Jacob Kiers f3f4534538 Test again
continuous-integration/drone/push Build is failing Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-15 18:20:03 +01:00
Jacob Kiers f4d5680b6f Minimal build, again
continuous-integration/drone/push Build was killed Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-15 18:04:46 +01:00
Jacob Kiers beccc75051 Use Alpine Rust image
continuous-integration/drone/push Build encountered an error Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-14 17:25:01 +01:00
Jacob Kiers 5cf83e43b3 Remove one step
continuous-integration/drone/push Build is failing Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-14 17:18:28 +01:00
Jacob Kiers b861fac4ad Some more build steps
continuous-integration/drone/push Build is running Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-14 17:17:14 +01:00
Jacob Kiers ce9478aed8 Fix build command
continuous-integration/drone/push Build encountered an error Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-14 17:09:55 +01:00
Jacob Kiers 1ee5d5625c Smaller size not allowed: docker image too large
continuous-integration/drone/push Build is failing Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-14 17:03:53 +01:00
Jacob Kiers 1762991133 Settings should be server
continuous-integration/drone/push Build encountered an error Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-14 17:02:17 +01:00
Jacob Kiers 4afad0c426 Try digitalocean runner
continuous-integration/drone/push Build encountered an error Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-14 17:00:51 +01:00
Jacob Kiers 34d8b2d00a Remove everything non-essential
continuous-integration/drone/push Build encountered an error Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-03 11:17:15 +01:00
Jacob Kiers 7ddf6213cf Step names must be unique...
continuous-integration/drone/push Build encountered an error Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-03 10:59:34 +01:00
Jacob Kiers c3170e6137 Another test
continuous-integration/drone/push Build encountered an error Details
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-03 10:58:24 +01:00
Jacob Kiers c82fd2ce4e Json...
continuous-integration/drone/push Build encountered an error Details
2022-12-02 21:24:20 +00:00
Jacob Kiers fb3e5202bf Another test...
continuous-integration/drone/push Build encountered an error Details
2022-12-02 21:23:44 +00:00
Jacob Kiers 9a4406deff Try the VM build...
continuous-integration/drone/push Build encountered an error Details
2022-12-02 21:20:24 +00:00
Jacob Kiers 5d13ba6971 Change hello message.
continuous-integration/drone/push Build is passing Details
Done to test the new drone agent.
2022-12-02 20:16:39 +00:00
5 changed files with 151 additions and 81 deletions

3
.cargo/config.toml Normal file
View File

@ -0,0 +1,3 @@
[profile.release]
lto = "thin"
strip = true

View File

@ -1,3 +1,5 @@
local cross_image = 'img.kie.rs/jjkiers/rust-dind-cross:1.66-full';
local archs = [
{ target: 'aarch64-unknown-linux-gnu', short: 'arm64-gnu' },
{ target: 'aarch64-unknown-linux-musl', short: 'arm64-musl' },
@ -13,25 +15,23 @@ local getExeName(arch) = if std.startsWith(arch.short, 'windows') then '.exe' el
local add_build_steps() = [
{
name: getStepName(arch),
image: 'img.kie.rs/jjkiers/rust-dind-cross:1.62-slim',
image: cross_image,
pull: true,
volumes: [
{
name: 'dockersock',
path: '/var/run',
},
{
name: 'rustup',
path: '/usr/local/rustup',
path: '/var/run/docker.sock',
},
],
commands: [
'echo Hello World from Jsonnet on ' + arch.target + '!',
'cross build --release --target ' + arch.target,
'ls -lahR',
'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,
CROSS_DOCKER_IN_DOCKER: true,
},
depends_on: ['Wait for Docker'],
}
@ -48,23 +48,28 @@ local add_build_steps() = [
steps:
[{
name: 'Wait for Docker',
image: 'img.kie.rs/jjkiers/rust-dind-cross:1.62-slim',
image: cross_image,
pull: true,
commands: [
'mkdir artifacts',
'while ! docker image ls; do sleep 1; done',
'docker info',
'docker pull hello-world:latest',
'mkdir artifacts',
'docker run --rm hello-world:latest',
],
environment: {
CROSS_DOCKER_IN_DOCKER: true,
},
volumes: [{
name: 'dockersock',
path: '/var/run',
path: '/var/run/docker.sock',
}],
}] +
add_build_steps() +
[
{
name: 'Show built artifacts',
image: 'img.kie.rs/jjkiers/rust-dind-cross:1.62-slim',
image: cross_image,
commands: [
'ls -lah artifacts',
],
@ -88,37 +93,11 @@ local add_build_steps() = [
},
],
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',
path: '/var/run/docker.sock',
},
},
],

View File

@ -1,42 +0,0 @@
---
kind: pipeline
name: default
platfomr:
arch: amd64
steps:
- name: test
image: img.kie.rs/jjkiers/rust-dind-cross:1.62-slim
volumes:
- name: dockersock
path: /var/run
commands:
- cargo check
- while ! docker image ls; do sleep 1; done
- cross build --release --target aarch64-unknown-linux-gnu
- ls -lahR target/
environment:
CROSS_REMOTE: true
# DOCKER_REGISTRY:
# from_secret: docker-registry-url
# DOCKER_USERNAME:
# from_secret: docker-registry-username
# DOCKER_PASSWORD:
# from_secret: docker-registry-password
services:
- name: docker
image: docker:dind
privileged: true
volumes:
- name: dockersock
path: /var/run
volumes:
- name: dockersock
temp: {}
image_pull_secrets:
- docker_private_repo

130
drone.jsonnet.rust Normal file
View File

@ -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'],
}

View File

@ -1,3 +1,3 @@
fn main() {
println!("Hello, world!");
println!("Hello from Drone!");
}