- образ собирается на каждом PR, который меняет image/, first boot или зависимости панели, а не только по тегу v*; - после сборки проверяются загрузочные записи BIOS/UEFI, autoinstall.yaml и меню GRUB; - перед сборкой освобождается место на раннере, устаревшие запуски отменяются; CI можно запустить вручную. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LEUXMcdZo7b87mjkUsPgg
41 строка
921 B
YAML
41 строка
921 B
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: ci-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
test:
|
|
name: Tests (Python ${{ matrix.python }})
|
|
runs-on: ubuntu-24.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# 3.12: Ubuntu 24.04, 3.13: Debian 13, 3.14: Ubuntu 26.04 (no crypt/spwd modules).
|
|
python: ["3.11", "3.12", "3.13", "3.14"]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python }}
|
|
cache: pip
|
|
cache-dependency-path: web/requirements.txt
|
|
- run: pip install -r web/requirements.txt -r requirements-dev.txt
|
|
- run: make lint-python test
|
|
|
|
shell:
|
|
name: Shell scripts
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: make lint-shell
|