CI: накапливать артефакты сборки (build.sh чистит out при каждом запуске)
This commit is contained in:
@@ -192,3 +192,5 @@ tracker_v2, T-Deck, T-Echo Card, T114, T190, M9 и три варианта Mesha
|
||||
| на push запускается сборка сотен env | не выставлен `WORKFLOW_DIRS = .gitea/workflows` |
|
||||
| `405 Method Not Allowed` при создании тега | в Gitea тег создаётся через `POST /repos/{owner}/{repo}/tags`, у `/git/refs` метода POST нет |
|
||||
| `python3: command not found` или пустой вывод в Git Bash | это заглушка Microsoft Store; задайте `PYTHON3=/c/.../python.exe` (это делает `ci/build-local.ps1`) |
|
||||
| в `out/` оказались файлы только последней платы | `build.sh` при каждом запуске делает `rm -rf out`; `ci/build-firmwares.sh` копит результат в `dist/` и в конце складывает всё в `out/` |
|
||||
| нужно опубликовать уже собранное, без пересборки | `ci/build-local.ps1 -SkipBuild -Publish -Tag <тег>` |
|
||||
|
||||
@@ -58,7 +58,10 @@ DEFAULT_TARGETS=(
|
||||
|
||||
export FIRMWARE_VERSION="${FIRMWARE_VERSION:-ci}"
|
||||
OUT_DIR="${OUT_DIR:-out}"
|
||||
DIST_DIR="${DIST_DIR:-dist}" # накопитель: build.sh чистит out/ на каждом запуске
|
||||
mkdir -p "$OUT_DIR"
|
||||
rm -rf "$DIST_DIR"
|
||||
mkdir -p "$DIST_DIR"
|
||||
|
||||
targets=()
|
||||
if [[ -n "${MATCH:-}" ]]; then
|
||||
@@ -91,12 +94,19 @@ for env in "${targets[@]}"; do
|
||||
echo "===== $env ====="
|
||||
if bash build.sh build-firmware "$env"; then
|
||||
echo "----- $env: OK"
|
||||
# build.sh в начале своей работы делает `rm -rf out`, поэтому файлы каждой
|
||||
# следующей платы затирают предыдущие: копим их в отдельном каталоге
|
||||
cp -f "$OUT_DIR"/* "$DIST_DIR"/ 2>/dev/null || true
|
||||
else
|
||||
echo "----- $env: ОШИБКА"
|
||||
failed+=("$env")
|
||||
fi
|
||||
done
|
||||
|
||||
# возвращаем накопленное в привычный out/ (его читают CI-артефакты и скрипты)
|
||||
mkdir -p "$OUT_DIR"
|
||||
cp -f "$DIST_DIR"/* "$OUT_DIR"/ 2>/dev/null || true
|
||||
|
||||
echo
|
||||
echo "===== итог ====="
|
||||
echo "собрано ${#targets[@]} - ${#failed[@]} ошибок"
|
||||
|
||||
Reference in New Issue
Block a user