kind: pipeline
type: docker
name: default
steps:
- name: format
image: archlinux/base
commands:
- pacman -Sy --noconfirm make gcc pkgconf rustup
- rustup update nightly
- rustup default nightly
- rustup component add rustfmt
- make fmt
- name: lint
image: archlinux/base
commands:
- pacman -Sy --noconfirm make gcc pkgconf rustup grep
- rustup update nightly
- rustup default nightly
- rustup component add clippy
- make lint
- name: documentation
image: archlinux/base
commands:
- pacman -Sy --noconfirm make gcc pkgconf rustup grep
- rustup update nightly
- rustup default nightly
- cargo doc
- name: build
image: archlinux/base
commands:
- pacman -Sy --noconfirm make gcc pkgconf rustup grep
- rustup update nightly
- rustup default nightly
- cargo install cargo-xbuild
- rustup component add rust-src
- cargo xbuild --target x86_64-os.json
depends_on:
- format
- lint
- documentation
- name: image
image: archlinux/base
commands:
- pacman -Sy --noconfirm make gcc pkgconf rustup grep
- rustup update nightly
- rustup default nightly
- cargo install cargo-xbuild
- cargo install bootimage
- rustup component add rust-src
- rustup component add llvm-tools-preview
- cargo bootimage --target x86_64-os.json
depends_on:
- build
- name: test
image: archlinux/base
commands:
- pacman -Sy --noconfirm make gcc pkgconf rustup grep qemu-headless
- rustup update nightly
- rustup default nightly
- cargo install cargo-xbuild
- cargo install bootimage
- rustup component add rust-src
- rustup component add llvm-tools-preview
- cargo xtest --target x86_64-os.json
depends_on:
- build