--- kind: pipeline type: docker name: default steps: - name: web_build image: node:23 volumes: - name: web_app path: /tmp/web_build commands: - cd central_frontend - npm install - npm run build - mv dist /tmp/web_build - name: backend_check image: rust volumes: - name: rust_registry path: /usr/local/cargo/registry commands: - rustup component add clippy - cd central_backend - cargo clippy -- -D warnings - cargo test - name: custom_consumption_check image: rust volumes: - name: rust_registry path: /usr/local/cargo/registry commands: - rustup component add clippy - cd custom_consumption - cargo clippy -- -D warnings - cargo test depends_on: - backend_check - name: backend_compile image: rust volumes: - name: rust_registry path: /usr/local/cargo/registry - name: web_app path: /tmp/web_build - name: releases path: /tmp/releases when: event: - tag depends_on: - backend_check - web_build commands: - cd central_backend - mv /tmp/web_build/dist static - cargo build --release - ls -lah target/release/central_backend - mv target/release/central_backend /tmp/releases/central_backend # Build ESP32 program - name: esp32_compile image: espressif/idf:v5.5.1 volumes: - name: releases path: /tmp/releases commands: - cd esp32_device - /opt/esp/entrypoint.sh idf.py build - ls -lah build/main.bin - cp build/main.bin /tmp/releases/wt32-eth01.bin # Auto-release to Gitea - name: gitea_release image: plugins/gitea-release depends_on: - backend_compile - esp32_compile when: event: - tag volumes: - name: releases path: /tmp/releases environment: PLUGIN_API_KEY: from_secret: GITEA_API_KEY # needs permission write:repository settings: base_url: https://gitea.communiquons.org files: - /tmp/releases/central_backend - /tmp/releases/wt32-eth01.bin checksum: sha512 volumes: - name: rust_registry temp: {} - name: web_app temp: {} - name: releases temp: {}