Compare commits
30 Commits
Author | SHA1 | Date | |
---|---|---|---|
2eb6083398 | |||
86139dcac7 | |||
5b20b93184 | |||
678e7247c1 | |||
6cb7d37ce8 | |||
fd8566c59b | |||
d205eb04e2 | |||
20326a315e | |||
7681c09c74 | |||
ef16138614 | |||
da06efc088 | |||
acc839897c | |||
528a0ea97e | |||
cc34bf6392 | |||
f3f4534538 | |||
f4d5680b6f | |||
beccc75051 | |||
5cf83e43b3 | |||
b861fac4ad | |||
ce9478aed8 | |||
1ee5d5625c | |||
1762991133 | |||
4afad0c426 | |||
34d8b2d00a | |||
7ddf6213cf | |||
c3170e6137 | |||
c82fd2ce4e | |||
fb3e5202bf | |||
9a4406deff | |||
5d13ba6971 |
3
.cargo/config.toml
Normal file
3
.cargo/config.toml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[profile.release]
|
||||||
|
lto = "thin"
|
||||||
|
strip = true
|
@ -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',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
42
.drone.yml
42
.drone.yml
@ -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
130
drone.jsonnet.rust
Normal 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'],
|
||||||
|
}
|
@ -1,3 +1,3 @@
|
|||||||
fn main() {
|
fn main() {
|
||||||
println!("Hello, world!");
|
println!("Hello from Drone!");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user