67 lines
2.1 KiB
YAML
67 lines
2.1 KiB
YAML
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: linux-package
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
- tag
|
|
|
|
steps:
|
|
- name: test-and-package
|
|
image: rust:1.89-bookworm
|
|
environment:
|
|
CARGO_TERM_COLOR: always
|
|
RUST_BACKTRACE: "1"
|
|
commands:
|
|
- apt-get update
|
|
- >-
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends
|
|
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libxkbcommon-dev
|
|
pkg-config rpm ca-certificates
|
|
- cargo fmt --all -- --check
|
|
- cargo test --workspace --locked
|
|
- cargo clippy --workspace --all-targets --locked -- -D warnings
|
|
- rm -rf artifacts
|
|
- mkdir -p artifacts
|
|
- sh ./packaging/linux/package-deb.sh
|
|
- sh ./packaging/linux/package-rpm.sh
|
|
- sh ./packaging/edge/package-deb.sh
|
|
- >-
|
|
(cd artifacts && find . -maxdepth 1 -type f
|
|
! -name 'DRONE-SHA256SUMS.txt' -print | sort |
|
|
xargs -r sha256sum) > artifacts/DRONE-SHA256SUMS.txt
|
|
- test -s artifacts/DRONE-SHA256SUMS.txt
|
|
|
|
---
|
|
kind: pipeline
|
|
type: exec
|
|
name: windows-package
|
|
|
|
platform:
|
|
os: windows
|
|
arch: amd64
|
|
|
|
trigger:
|
|
event:
|
|
- push
|
|
- pull_request
|
|
- tag
|
|
|
|
steps:
|
|
- name: test
|
|
commands:
|
|
- powershell.exe -NoProfile -NonInteractive -ExecutionPolicy Bypass -Command "$ErrorActionPreference = 'Stop'; cargo fmt --all -- --check"
|
|
- powershell.exe -NoProfile -NonInteractive -ExecutionPolicy Bypass -Command "$ErrorActionPreference = 'Stop'; cargo test --workspace --locked"
|
|
|
|
- name: package
|
|
commands:
|
|
- powershell.exe -NoProfile -NonInteractive -ExecutionPolicy Bypass -File .\packaging\build-all.ps1 -CleanArtifacts -Culture en-us
|
|
- powershell.exe -NoProfile -NonInteractive -ExecutionPolicy Bypass -Command "$ErrorActionPreference = 'Stop'; if (-not (Test-Path -LiteralPath .\artifacts\BUILD-SHA256SUMS.txt)) { throw 'Windows package checksum manifest is missing' }; if (-not (Get-ChildItem -LiteralPath .\artifacts -File -Include '*.msi','*.zip')) { throw 'Windows package output is missing' }"
|