ipblc/.drone.yml

158 lines
3.8 KiB
YAML
Raw Normal View History

---
kind: pipeline
type: docker
2022-06-04 11:47:42 +02:00
name: default-amd64
platform:
os: linux
arch: amd64
steps:
2023-11-03 10:03:15 +01:00
- name: build and test
image: rust:1
pull: always
commands:
- apt-get update -y
2023-05-13 10:26:20 +02:00
- apt-get install -y libnftnl-dev libmnl-dev
2023-11-03 10:26:10 +01:00
- curl -o /usr/bin/sccache https://assets.paulbsd.com/sccache_linux_amd64
- chmod +x /usr/bin/sccache
- cargo build --verbose --all
- cargo test --verbose --all
2023-11-03 10:26:10 +01:00
environment:
RUSTC_WRAPPER: /usr/bin/sccache
SCCACHE_WEBDAV_ENDPOINT: https://sccache.paulbsd.com
SCCACHE_WEBDAV_KEY_PREFIX: sccache
2022-06-04 15:09:55 +02:00
volumes:
- name: cargo
path: /usr/local/cargo/registry
- name: apt
path: /var/cache/apt
when:
2022-06-04 15:09:55 +02:00
event:
2022-08-28 18:38:46 +02:00
exclude:
- tag
- name: release
image: rust:1
pull: always
commands:
- apt-get update -y
2023-05-13 10:26:20 +02:00
- apt-get install -y libnftnl-dev libmnl-dev
2023-11-03 10:26:10 +01:00
- curl -o /usr/bin/sccache https://assets.paulbsd.com/sccache_linux_amd64
- chmod +x /usr/bin/sccache
- cargo build --release --verbose --all
- cd target/release
2022-06-04 11:55:20 +02:00
- tar -czvf ipblc-${DRONE_TAG}-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}.tar.gz ipblc
2023-11-03 10:26:10 +01:00
environment:
RUSTC_WRAPPER: /usr/bin/sccache
SCCACHE_WEBDAV_ENDPOINT: https://sccache.paulbsd.com
SCCACHE_WEBDAV_KEY_PREFIX: sccache
2022-06-04 15:09:55 +02:00
volumes:
- name: cargo
path: /usr/local/cargo/registry
- name: apt
path: /var/cache/apt
when:
2022-06-04 15:09:55 +02:00
event:
- tag
- name: publish
image: plugins/gitea-release
settings:
base_url: https://git.paulbsd.com
api_key:
from_secret: gitea_token
files: "target/release/*.tar.gz"
2023-07-01 15:48:21 +02:00
#checksum:
# - sha256
# - sha512
environment:
PLUGIN_TITLE: ""
when:
2022-06-04 15:09:55 +02:00
event:
- tag
volumes:
- name: cargo
host:
path: /home/drone/cache/cargo
- name: apt
host:
path: /home/drone/cache/apt
2022-06-04 11:47:42 +02:00
---
kind: pipeline
type: docker
name: default-arm64
platform:
os: linux
arch: arm64
steps:
2023-11-03 10:03:15 +01:00
- name: build and test
2022-06-04 11:47:42 +02:00
image: rust:1
pull: always
2022-06-04 11:47:42 +02:00
commands:
- apt-get update -y
2023-05-13 10:26:20 +02:00
- apt-get install -y libnftnl-dev libmnl-dev
2023-11-03 10:26:10 +01:00
- curl -o /usr/bin/sccache https://assets.paulbsd.com/sccache_linux_arm64
- chmod +x /usr/bin/sccache
2022-06-04 11:47:42 +02:00
- cargo build --verbose --all
- cargo test --verbose --all
2023-11-03 10:26:10 +01:00
environment:
RUSTC_WRAPPER: /usr/bin/sccache
SCCACHE_WEBDAV_ENDPOINT: https://sccache.paulbsd.com
SCCACHE_WEBDAV_KEY_PREFIX: sccache
2022-06-04 14:40:35 +02:00
volumes:
- name: cargo
path: /usr/local/cargo/registry
- name: apt
path: /var/cache/apt
2022-06-04 11:47:42 +02:00
when:
2022-06-04 15:09:55 +02:00
event:
2022-08-28 18:38:46 +02:00
exclude:
- tag
2022-06-04 11:47:42 +02:00
- name: release
image: rust:1
pull: always
2022-06-04 11:47:42 +02:00
commands:
- apt-get update -y
2023-05-13 10:26:20 +02:00
- apt-get install -y libnftnl-dev libmnl-dev
2023-11-03 10:26:10 +01:00
- curl -o /usr/bin/sccache https://assets.paulbsd.com/sccache_linux_arm64
- chmod +x /usr/bin/sccache
2022-06-04 11:47:42 +02:00
- cargo build --release --verbose --all
- cd target/release
2022-06-04 11:55:20 +02:00
- tar -czvf ipblc-${DRONE_TAG}-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}.tar.gz ipblc
2023-11-03 10:26:10 +01:00
environment:
RUSTC_WRAPPER: /usr/bin/sccache
SCCACHE_WEBDAV_ENDPOINT: https://sccache.paulbsd.com
SCCACHE_WEBDAV_KEY_PREFIX: sccache
2022-06-04 15:09:55 +02:00
volumes:
- name: cargo
path: /usr/local/cargo/registry
- name: apt
path: /var/cache/apt
2022-06-04 11:47:42 +02:00
when:
2022-06-04 15:09:55 +02:00
event:
- tag
2022-06-04 11:47:42 +02:00
- name: publish
image: plugins/gitea-release
settings:
base_url: https://git.paulbsd.com
api_key:
from_secret: gitea_token
files: "target/release/*.tar.gz"
2023-07-01 15:48:21 +02:00
#checksum:
# - sha256
# - sha512
2022-06-04 11:47:42 +02:00
environment:
PLUGIN_TITLE: ""
when:
2022-06-04 15:09:55 +02:00
event:
- tag
2022-06-04 14:40:35 +02:00
volumes:
- name: cargo
host:
path: /home/drone/cache/cargo
- name: apt
host:
path: /home/drone/cache/apt