add .drone.yml
continuous-integration/drone/push Build is failing Details

This commit is contained in:
Koichi Ito 2026-10-10 08:43:36 +09:00
parent 2e3cd4220a
commit d1c535f84d
1 changed files with 68 additions and 0 deletions

68
.drone.yml Normal file
View File

@ -0,0 +1,68 @@
kind: pipeline
type: docker
name: build-and-release-esp32
trigger:
branch:
- main
- master
event:
- push
- pull_request
- tag
steps:
# --- 1. arduino-cli の準備、ボード・ライブラリ導入、ビルド ---
- name: build-firmware
image: python:3.11-slim
environment:
HOME: /root
commands:
- apt-get update && apt-get install -y curl git
# arduino-cli のインストール
- curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=/usr/local/bin sh
# ESP32 パッケージインデックスの更新と 2.0.14 のインストール
- arduino-cli config init --overwrite
- arduino-cli config set board_manager.additional_urls https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- arduino-cli core update-index
- arduino-cli core install esp32:esp32@2.0.14
# ライブラリのインストール
- mkdir -p /root/Arduino/libraries
- git clone https://github.com/pschatzmann/ESP32-A2DP.git /root/Arduino/libraries/ESP32-A2DP
- arduino-cli lib install "U8g2"
- arduino-cli lib install "Adafruit AHTX0"
- arduino-cli lib install "BH1750"
- arduino-cli lib install "Adafruit NeoPixel"
# スケッチのコンパイル
- |
arduino-cli compile \
--fqbn "esp32:esp32:esp32:PartitionScheme=huge_app,FlashMode=dio,FlashSize=4M" \
--build-path build_temp \
--output-dir build \
firmware/firmware.ino
# バイナリファイル名の正規化 (リネーム)
- |
if [ -f build/firmware.ino.bootloader.bin ]; then
mv build/firmware.ino.bootloader.bin build/bootloader.bin
fi
if [ -f build/firmware.ino.partitions.bin ]; then
mv build/firmware.ino.partitions.bin build/partitions.bin
fi
if [ -f build/firmware.ino.bin ]; then
mv build/firmware.ino.bin build/firmware.bin
fi
# --- 2. タグPush時(v*.*.*)に Gitea へリリース作成 & バイナリ添付 ---
- name: release-to-gitea
image: plugins/gitea-release
settings:
base_url: https://gitea.j-code.org # あなたの Gitea の URL に変更してください
api_key:
from_secret: gitea_token # Drone Secrets に登録した Access Token
files:
- build/bootloader.bin
- build/partitions.bin
- build/firmware.bin
when:
event:
- tag