Files
SolarEnergy/.drone.yml
Pierre HUBERT 4d46f9c52c
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Bump to version 1.0.3
2025-10-29 18:01:00 +01:00

106 lines
2.3 KiB
YAML

---
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: {}