steps:
+ # use minimum supported rust version for most steps
- name: prepare repo
image: clux/muslrust:1.59.0
user: root
commands:
- /root/.cargo/bin/cargo fmt -- --check
+ # latest rust for clippy to get extra checks
- name: cargo clippy
- image: clux/muslrust:1.59.0
+ image: rust:1.61-buster
commands:
+ - apt-get update
+ - apt-get -y install protobuf-compiler libprotobuf-dev
- rustup component add clippy
- cargo clippy --workspace --tests --all-targets --all-features -- -D warnings -D deprecated -D clippy::perf -D clippy::complexity -D clippy::dbg_macro
- - cargo clippy --workspace -- -D clippy::unwrap_used
+ - cargo clippy --workspace --all-features -- -D clippy::unwrap_used
- name: cargo test
image: clux/muslrust:1.59.0
RUST_TEST_THREADS: 1
commands:
- apt-get update
- - apt-get -y install --no-install-recommends postgresql-client
- - cargo test --workspace --no-fail-fast
+ - apt-get -y install --no-install-recommends postgresql-client protobuf-compiler libprotobuf-dev
+ - cargo test --workspace --no-fail-fast --all-features
- name: check defaults.hjson updated
image: clux/muslrust:1.59.0
services:
- name: database
- image: postgres:12-alpine
+ image: postgres:14-alpine
environment:
POSTGRES_USER: lemmy
POSTGRES_PASSWORD: password
steps:
- name: prepare repo
- image: rust:1.60-slim
+ image: rust:1.57-slim
user: root
commands:
- chown 1000:1000 . -R
# TODO temporarily disable arm tests
# - name: cargo test
- # image: rust:1.60-slim
+ # image: rust:1.57-slim
# environment:
# LEMMY_DATABASE_URL: postgres://lemmy:password@database:5432/lemmy
# LEMMY_CONFIG_LOCATION: ../../config/config.hjson
# TODO temporarily disable arm tests
# Using Debian here because there seems to be no official Alpine-based Rust docker image for ARM.
# - name: cargo build
- # image: rust:1.60-slim
+ # image: rust:1.57-slim
# commands:
# - apt-get update
# - apt-get -y install --no-install-recommends libssl-dev pkg-config libpq-dev