mirror of
https://git.asonix.dog/asonix/pict-rs
synced 2024-11-09 22:14:59 +00:00
422 lines
6.4 KiB
YAML
422 lines
6.4 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: clippy
|
|
|
|
platform:
|
|
arch: amd64
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: clone
|
|
image: alpine/git:latest
|
|
user: root
|
|
commands:
|
|
- git clone $DRONE_GIT_HTTP_URL .
|
|
- git checkout $DRONE_COMMIT
|
|
- chown -R 991:991 .
|
|
|
|
- name: clippy
|
|
image: asonix/rust-builder:latest-linux-amd64
|
|
pull: always
|
|
commands:
|
|
- rustup component add clippy
|
|
- cargo clippy --no-default-features -- -D warnings
|
|
- cargo clippy --no-default-features --features io-uring -- -D warnings
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
- tag
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
type: docker
|
|
name: tests
|
|
|
|
platform:
|
|
arch: amd64
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: clone
|
|
image: alpine/git:latest
|
|
user: root
|
|
commands:
|
|
- git clone $DRONE_GIT_HTTP_URL .
|
|
- git checkout $DRONE_COMMIT
|
|
- chown -R 991:991 .
|
|
|
|
- name: tests
|
|
image: asonix/rust-builder:latest-linux-amd64
|
|
pull: always
|
|
commands:
|
|
- cargo test
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
- tag
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
type: docker
|
|
name: check-amd64
|
|
|
|
platform:
|
|
arch: amd64
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: clone
|
|
image: alpine/git:latest
|
|
user: root
|
|
commands:
|
|
- git clone $DRONE_GIT_HTTP_URL .
|
|
- git checkout $DRONE_COMMIT
|
|
- chown -R 991:991 .
|
|
|
|
- name: check
|
|
image: asonix/rust-builder:latest-linux-amd64
|
|
pull: always
|
|
commands:
|
|
- cargo check --target=$TARGET
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
type: docker
|
|
name: build-amd64
|
|
|
|
platform:
|
|
arch: amd64
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: clone
|
|
image: alpine/git:latest
|
|
user: root
|
|
commands:
|
|
- git clone $DRONE_GIT_HTTP_URL .
|
|
- git checkout $DRONE_COMMIT
|
|
- chown -R 991:991 .
|
|
|
|
- name: build
|
|
image: asonix/rust-builder:latest-linux-amd64
|
|
pull: always
|
|
commands:
|
|
- cargo build --target=$TARGET --release
|
|
- $TOOL-strip target/$TARGET/release/pict-rs
|
|
- cp target/$TARGET/release/pict-rs .
|
|
- cp pict-rs pict-rs-linux-amd64
|
|
|
|
- name: push
|
|
image: plugins/docker:20
|
|
settings:
|
|
username: asonix
|
|
password:
|
|
from_secret: dockerhub_token
|
|
repo: asonix/pictrs
|
|
dockerfile: docker/drone/Dockerfile
|
|
auto_tag: true
|
|
auto_tag_suffix: linux-amd64
|
|
build_args:
|
|
- REPO_ARCH=amd64
|
|
|
|
- name: publish
|
|
image: plugins/gitea-release:1
|
|
settings:
|
|
api_key:
|
|
from_secret: gitea_token
|
|
base_url: https://git.asonix.dog
|
|
files:
|
|
- pict-rs-linux-amd64
|
|
|
|
depends_on:
|
|
- clippy
|
|
- tests
|
|
|
|
trigger:
|
|
event:
|
|
- tag
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
type: docker
|
|
name: check-arm64v8
|
|
|
|
platform:
|
|
arch: amd64
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: clone
|
|
image: alpine/git:latest
|
|
user: root
|
|
commands:
|
|
- git clone $DRONE_GIT_HTTP_URL .
|
|
- git checkout $DRONE_COMMIT
|
|
- chown -R 991:991 .
|
|
|
|
- name: check
|
|
image: asonix/rust-builder:latest-linux-arm64v8
|
|
pull: always
|
|
commands:
|
|
- cargo check --target=$TARGET
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
type: docker
|
|
name: build-arm64v8
|
|
|
|
platform:
|
|
arch: amd64
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: clone
|
|
image: alpine/git:latest
|
|
user: root
|
|
commands:
|
|
- git clone $DRONE_GIT_HTTP_URL .
|
|
- git checkout $DRONE_COMMIT
|
|
- chown -R 991:991 .
|
|
|
|
- name: build
|
|
image: asonix/rust-builder:latest-linux-arm64v8
|
|
pull: always
|
|
commands:
|
|
- cargo build --target=$TARGET --release
|
|
- $TOOL-strip target/$TARGET/release/pict-rs
|
|
- cp target/$TARGET/release/pict-rs .
|
|
- cp pict-rs pict-rs-linux-arm64v8
|
|
|
|
- name: push
|
|
image: plugins/docker:20
|
|
settings:
|
|
username: asonix
|
|
password:
|
|
from_secret: dockerhub_token
|
|
repo: asonix/pictrs
|
|
dockerfile: docker/drone/Dockerfile
|
|
auto_tag: true
|
|
auto_tag_suffix: linux-arm64v8
|
|
build_args:
|
|
- REPO_ARCH=arm64v8
|
|
|
|
- name: publish
|
|
image: plugins/gitea-release:1
|
|
settings:
|
|
api_key:
|
|
from_secret: gitea_token
|
|
base_url: https://git.asonix.dog
|
|
files:
|
|
- pict-rs-linux-arm64v8
|
|
|
|
depends_on:
|
|
- clippy
|
|
- tests
|
|
|
|
trigger:
|
|
event:
|
|
- tag
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
type: docker
|
|
name: check-arm32v7
|
|
|
|
platform:
|
|
arch: amd64
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: clone
|
|
image: alpine/git:latest
|
|
user: root
|
|
commands:
|
|
- git clone $DRONE_GIT_HTTP_URL .
|
|
- git checkout $DRONE_COMMIT
|
|
- chown -R 991:991 .
|
|
|
|
- name: check
|
|
image: asonix/rust-builder:latest-linux-arm32v7
|
|
pull: always
|
|
commands:
|
|
- cargo check --target=$TARGET
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
type: docker
|
|
name: build-arm32v7
|
|
|
|
platform:
|
|
arch: amd64
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: clone
|
|
image: alpine/git:latest
|
|
user: root
|
|
commands:
|
|
- git clone $DRONE_GIT_HTTP_URL .
|
|
- git checkout $DRONE_COMMIT
|
|
- chown -R 991:991 .
|
|
|
|
- name: build
|
|
image: asonix/rust-builder:latest-linux-arm32v7
|
|
pull: always
|
|
commands:
|
|
- cargo build --target=$TARGET --release
|
|
- $TOOL-strip target/$TARGET/release/pict-rs
|
|
- cp target/$TARGET/release/pict-rs .
|
|
- cp pict-rs pict-rs-linux-arm32v7
|
|
|
|
- name: push
|
|
image: plugins/docker:20
|
|
settings:
|
|
username: asonix
|
|
password:
|
|
from_secret: dockerhub_token
|
|
repo: asonix/pictrs
|
|
dockerfile: docker/drone/Dockerfile
|
|
auto_tag: true
|
|
auto_tag_suffix: linux-arm32v7
|
|
build_args:
|
|
- REPO_ARCH=arm32v7
|
|
|
|
- name: publish
|
|
image: plugins/gitea-release:1
|
|
settings:
|
|
api_key:
|
|
from_secret: gitea_token
|
|
base_url: https://git.asonix.dog
|
|
files:
|
|
- pict-rs-linux-arm32v7
|
|
|
|
depends_on:
|
|
- clippy
|
|
- tests
|
|
|
|
trigger:
|
|
event:
|
|
- tag
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
type: docker
|
|
name: manifest
|
|
|
|
platform:
|
|
arch: amd64
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: clone
|
|
image: alpine/git:latest
|
|
user: root
|
|
commands:
|
|
- git clone $DRONE_GIT_HTTP_URL .
|
|
- git checkout $DRONE_COMMIT
|
|
- chown -R 991:991 .
|
|
|
|
- name: manifest
|
|
image: plugins/manifest:1
|
|
settings:
|
|
username: asonix
|
|
password:
|
|
from_secret: dockerhub_token
|
|
dump: true
|
|
auto_tag: true
|
|
ignore_missing: true
|
|
spec: docker/drone/manifest.tmpl
|
|
|
|
|
|
depends_on:
|
|
- build-amd64
|
|
- build-arm64v8
|
|
- build-arm32v7
|
|
|
|
trigger:
|
|
event:
|
|
- tag
|
|
|
|
---
|
|
|
|
kind: pipeline
|
|
type: docker
|
|
name: publish-crate
|
|
|
|
platform:
|
|
arch: amd64
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
steps:
|
|
- name: clone
|
|
image: alpine/git:latest
|
|
user: root
|
|
commands:
|
|
- git clone $DRONE_GIT_HTTP_URL .
|
|
- git checkout $DRONE_COMMIT
|
|
- chown -R 991:991 .
|
|
|
|
- name: publish
|
|
image: asonix/rust-builder:latest-linux-amd64
|
|
pull: always
|
|
environment:
|
|
CRATES_IO_TOKEN:
|
|
from_secret: crates_io_token
|
|
commands:
|
|
- cargo publish --token $CRATES_IO_TOKEN
|
|
|
|
depends_on:
|
|
- build-amd64
|
|
- build-arm64v8
|
|
- build-arm32v7
|
|
|
|
trigger:
|
|
event:
|
|
- tag
|