ดูของจริงก่อน
repo ของ SDK มี workflow ของ GitHub Actions อยู่ไฟล์เดียว
on:
release:
types: [published]
workflow_dispatch:
permissions:
contents: read
jobs:
notify:
steps:
- name: Ask the relay to re-read GitHub
run: |
code=$(curl -s -o /tmp/refresh.json -w '%{http_code}' ... "$RELAY/api/firmware/github/refresh")
test "$code" = "200"
ทายก่อนอ่านต่อ: workflow นี้รันเมื่อไร มัน build เฟิร์มแวร์ไหม ถ้า curl ได้ HTTP 500 ขั้นนี้จะเขียวหรือแดง
คำตอบ: รันเมื่อมี release (หรือกดรันเอง) มัน ไม่ได้ build เฟิร์มแวร์ แค่บอก relay ให้ดึง release ใหม่ ถ้าได้ 500 บรรทัด test "$code" = "200" คืนค่าไม่ใช่ 0 ขั้นนี้จึงแดง — บรรทัดนั้นคือสิ่งที่ทำให้ขั้นนี้ ล้มเป็น ถ้าไม่มีมัน echo จะพิมพ์ 500 แล้วจบด้วย 0