diff --git a/.woodpecker.yml b/.woodpecker.yml index d7a85f9..329fd96 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -1,94 +1,17 @@ variables: - - &rust_image "rust:1.81" + - &rust_image "rust:1.81-slim" - &install_binstall "wget https://github.com/cargo-bins/cargo-binstall/releases/latest/download/cargo-binstall-x86_64-unknown-linux-musl.tgz && tar -xvf cargo-binstall-x86_64-unknown-linux-musl.tgz && cp cargo-binstall /usr/local/cargo/bin" - &install_cargo_leptos "cargo-binstall -y cargo-leptos@0.2.24" steps: - cargo_fmt: - image: rustlang/rust:nightly - environment: - # store cargo data in repo folder so that it gets cached between steps - CARGO_HOME: .cargo_home - commands: - - rustup component add rustfmt - - cargo +nightly fmt -- --check - - leptos_fmt: - image: *rust_image - commands: - - *install_binstall - - cargo binstall -y leptosfmt - - leptosfmt -c .leptosfmt.toml --check src - - toml_fmt: - image: tamasfe/taplo:0.9.3 - commands: - - taplo format --check - - ignored_files: - image: alpine:3 - commands: - - apk add git - - IGNORED=$(git ls-files --cached -i --exclude-standard) - - if [[ "$IGNORED" ]]; then echo "Ignored files present:\n$IGNORED\n"; exit 1; fi - - cargo_shear: - image: *rust_image - commands: - - *install_binstall - - cargo binstall -y cargo-shear - - cargo shear - - check_diesel_schema: - image: willsquire/diesel-cli - environment: - DATABASE_URL: postgres://ibis:password@database:5432/ibis - commands: - - diesel migration run - - diesel print-schema --config-file=diesel.toml > tmp.schema - - diff tmp.schema src/backend/database/schema.rs - - cargo_clippy: - image: *rust_image - environment: - CARGO_HOME: .cargo_home - commands: - - rustup component add clippy - - cargo clippy --tests --all-targets --all-features - - check_config_defaults_updated: - image: *rust_image - environment: - CARGO_HOME: .cargo_home - commands: - - cargo run -- --print-config > config/defaults_current.toml - - diff config/defaults.toml config/defaults_current.toml - - cargo_test: - image: *rust_image - environment: - CARGO_HOME: .cargo_home - commands: - - apt-get update - - apt-get install postgresql sudo -y --no-install-recommends --no-install-suggests - # dbinit (used by tests to create temp db) refuses to run as root so we need to setup another user - - adduser testuser - - cp /usr/local/rustup /home/testuser/.rustup -r - - chown testuser:testuser . -R - - chown testuser:testuser /home/testuser -R - - export PATH="/usr/lib/postgresql/15/bin:/usr/local/cargo/bin:$PATH" - - sudo -u testuser env "PATH=$PATH" "CARGO_HOME=$CARGO_HOME" cargo test --no-fail-fast - - npm_install: - image: node:current-alpine - commands: - - npm install - build_release: image: *rust_image environment: CARGO_HOME: .cargo_home commands: + - apt-get update + - apt-get install postgresql -y --no-install-recommends --no-install-suggests npm + - npm install - *install_binstall - rustup target add wasm32-unknown-unknown - *install_cargo_leptos