# 01-smoke — информационный workflow. # Доказывает только одно: runner жив и берёт задачи. Не падает от отсутствия # инструмента — печатает "НЕТ" и идёт дальше. Работает на базовом образе # runner (git+bash), пересборка не нужна. name: 01-smoke on: push: workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true defaults: run: shell: bash jobs: smoke: runs-on: host timeout-minutes: 5 steps: - name: Окружение job run: | echo "=== ОС job (не хоста!) ===" cat /etc/os-release 2>/dev/null || echo "нет /etc/os-release" uname -a - name: Доступные инструменты run: | echo "=== Базовые ===" for t in git bash sh; do if command -v "$t" >/dev/null 2>&1; then printf ' [ЕСТЬ] %s (%s)\n' "$t" "$(command -v "$t")" else printf ' [НЕТ] %s\n' "$t" fi done echo "" echo "=== Сборка (нужны 03-gftest/04-cross-build) ===" for t in cc make arm-linux-gnueabihf-gcc; do if command -v "$t" >/dev/null 2>&1; then printf ' [ЕСТЬ] %s\n' "$t" else printf ' [НЕТ] %s (см. docs/RUNNER-IMAGE.md, если такой файл заведён)\n' "$t" fi done - name: Кросс-либы $XARM (нужны 04-cross-build) run: | XARM="${XARM:-$HOME/xarm}" echo "XARM=$XARM" for lib in libliquid.a libfec.a libad9361.a libiio.a libfftw3f.a; do if [ -f "$XARM/lib/$lib" ]; then printf ' [ЕСТЬ] %s\n' "$lib" else printf ' [НЕТ] %s\n' "$lib" fi done