Compare commits

...

30 Commits

Author SHA1 Message Date
2eb6083398 Typo
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 18:56:13 +01:00
86139dcac7 Try without dind
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 18:55:06 +01:00
5b20b93184 Always pull newest image
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 17:16:12 +01:00
678e7247c1 Try with full image
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 17:01:36 +01:00
6cb7d37ce8 Fix image name
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 16:42:57 +01:00
fd8566c59b Fix for podman drone script
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 16:42:07 +01:00
d205eb04e2 Try with podman
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 16:41:16 +01:00
20326a315e Use rust v1.66 with cross v0.2.4
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 16:29:02 +01:00
7681c09c74 Back to rust 1.62. See whether that helps
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 14:25:15 +01:00
ef16138614 List all files
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 14:05:38 +01:00
da06efc088 List all files
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 14:00:17 +01:00
acc839897c List target directories first
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 13:56:25 +01:00
528a0ea97e Use newer rust image
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 13:41:13 +01:00
cc34bf6392 Try full cross-platform build
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-16 13:24:30 +01:00
f3f4534538 Test again
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-15 18:20:03 +01:00
f4d5680b6f Minimal build, again
Some checks reported errors
continuous-integration/drone/push Build was killed
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-15 18:04:46 +01:00
beccc75051 Use Alpine Rust image
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-14 17:25:01 +01:00
5cf83e43b3 Remove one step
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-14 17:18:28 +01:00
b861fac4ad Some more build steps
Some checks are pending
continuous-integration/drone/push Build is running
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-14 17:17:14 +01:00
ce9478aed8 Fix build command
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-14 17:09:55 +01:00
1ee5d5625c Smaller size not allowed: docker image too large
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-14 17:03:53 +01:00
1762991133 Settings should be server
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-14 17:02:17 +01:00
4afad0c426 Try digitalocean runner
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-14 17:00:51 +01:00
34d8b2d00a Remove everything non-essential
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-03 11:17:15 +01:00
7ddf6213cf Step names must be unique...
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-03 10:59:34 +01:00
c3170e6137 Another test
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Signed-off-by: Jacob Kiers <jacob@jacobkiers.net>
2022-12-03 10:58:24 +01:00
c82fd2ce4e Json...
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2022-12-02 21:24:20 +00:00
fb3e5202bf Another test...
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2022-12-02 21:23:44 +00:00
9a4406deff Try the VM build...
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2022-12-02 21:20:24 +00:00
5d13ba6971 Change hello message.
All checks were successful
continuous-integration/drone/push Build is passing
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 = [ local archs = [
{ target: 'aarch64-unknown-linux-gnu', short: 'arm64-gnu' }, { target: 'aarch64-unknown-linux-gnu', short: 'arm64-gnu' },
{ target: 'aarch64-unknown-linux-musl', short: 'arm64-musl' }, { 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() = [ local add_build_steps() = [
{ {
name: getStepName(arch), name: getStepName(arch),
image: 'img.kie.rs/jjkiers/rust-dind-cross:1.62-slim', image: cross_image,
pull: true,
volumes: [ volumes: [
{ {
name: 'dockersock', name: 'dockersock',
path: '/var/run', path: '/var/run/docker.sock',
},
{
name: 'rustup',
path: '/usr/local/rustup',
}, },
], ],
commands: [ commands: [
'echo Hello World from Jsonnet on ' + arch.target + '!', 'echo Hello World from Jsonnet on ' + arch.target + '!',
'cross build --release --target ' + 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), 'cp target/' + arch.target + '/release/drone-test' + getExeName(arch) + ' artifacts/drone-test-' + arch.short + getExeName(arch),
'rm -rf target/' + arch.target + '/release/*', 'rm -rf target/' + arch.target + '/release/*',
], ],
environment: { environment: {
CROSS_REMOTE: true, CROSS_DOCKER_IN_DOCKER: true,
}, },
depends_on: ['Wait for Docker'], depends_on: ['Wait for Docker'],
} }
@ -48,23 +48,28 @@ local add_build_steps() = [
steps: steps:
[{ [{
name: 'Wait for Docker', name: 'Wait for Docker',
image: 'img.kie.rs/jjkiers/rust-dind-cross:1.62-slim', image: cross_image,
pull: true,
commands: [ commands: [
'mkdir artifacts',
'while ! docker image ls; do sleep 1; done', 'while ! docker image ls; do sleep 1; done',
'docker info', 'docker info',
'docker pull hello-world:latest', 'docker pull hello-world:latest',
'mkdir artifacts', 'docker run --rm hello-world:latest',
], ],
environment: {
CROSS_DOCKER_IN_DOCKER: true,
},
volumes: [{ volumes: [{
name: 'dockersock', name: 'dockersock',
path: '/var/run', path: '/var/run/docker.sock',
}], }],
}] + }] +
add_build_steps() + add_build_steps() +
[ [
{ {
name: 'Show built artifacts', name: 'Show built artifacts',
image: 'img.kie.rs/jjkiers/rust-dind-cross:1.62-slim', image: cross_image,
commands: [ commands: [
'ls -lah artifacts', '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: [ volumes: [
{ {
name: 'dockersock', name: 'dockersock',
temp: {},
},
{
name: 'docker-storage',
host: { host: {
path: '/srv/drone/docker-dind-rust', path: '/var/run/docker.sock',
},
},
{
name: 'rustup',
host: {
path: '/srv/drone/rustup',
}, },
}, },
], ],

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() { fn main() {
println!("Hello, world!"); println!("Hello from Drone!");
} }