--- kind: pipeline type: docker name: default steps: # Frontend - name: web_build image: node:23 volumes: - name: web_app path: /tmp/web_build commands: - cd moneymgr_web - npm install - npm run lint - npm run build - mv dist /tmp/web_build # Backend - name: backend_fetch_deps image: rust volumes: - name: rust_registry path: /usr/local/cargo/registry commands: - cd moneymgr_backend - cargo fetch - name: backend_code_quality image: rust volumes: - name: rust_registry path: /usr/local/cargo/registry depends_on: - backend_fetch_deps commands: - cd moneymgr_backend - rustup component add clippy - cargo clippy -- -D warnings - name: backend_test image: rust volumes: - name: rust_registry path: /usr/local/cargo/registry depends_on: - code_quality commands: - cd moneymgr_backend - cargo test - name: backend_compile image: rust volumes: - name: rust_registry path: /usr/local/cargo/registry - name: web_app path: /tmp/web_build - name: release path: /tmp/release depends_on: - backend_test - web_build commands: - cd moneymgr_backend - mv /tmp/web_build/dist static - cargo build --release - ls -lah target/release/moneymgr_backend - cp target/release/moneymgr_backend /tmp/release # TODO: autorelease volumes: - name: rust_registry temp: {} - name: web_app temp: {} - name: release temp: {}