Ответ
Да, на последнем проекте мы использовали GitHub Actions для автоматического CI. При каждом push в ветку main или develop запускался пайплайн, который включал:
- Установку зависимостей (
npm ci) - Линтинг кода (
eslint,stylelint) - Запуск юнит-тестов (
jest) - Сборку проекта (
npm run build)
Пример конфига .github/workflows/ci.yml:
name: CI Pipeline
on:
push:
branches: [main, develop]
jobs:
test-and-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- run: npm ci
- run: npm run lint
- run: npm test
- run: npm run build
Если пайплайн падал, мерж-реквест не мог быть принят.
Ответ 18+ 🔞
А, вспомнил, блядь, на прошлом проекте! Там у нас эта, как её, автоматизация всякая была, чтобы не охуевать вручную всё проверять. Использовали GitHub Actions, сука, штука годная.
Вот представь: ты заливаешь код в main или develop — и тут же, ёпта, как по волшебству, запускается этот пайплайн, этакий цифровой надзиратель. И начинает тебя, блядь, проверять по полной программе, как на допросе.
Сначала он, хитрая жопа, зависимости ставит (npm ci), чтобы всё как у людей было. Потом начинает придираться: "А линтеры прошёл? А код красивый?" (eslint, stylelint). Потом, ядрёна вошь, тесты гоняет (jest), смотрит, не сломал ли ты чего. И в конце, как довершающий удар, сборку делает (npm run build), чтобы уж точно всё собиралось, а не как обычно — "ой, а у меня на машине работало".
И если на любом этапе, сука, хоть одна проверка провалится — всё, пиздец, твой мерж-реквест можно выкидывать в помойку. Система доверия — ноль ебать, она тебе не верит ни на грош. Чистая бюрократия, только цифровая.
Вот так и жили. Конфиг, кстати, выглядел примерно так, смотри:
name: CI Pipeline
on:
push:
branches: [main, develop]
jobs:
test-and-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- run: npm ci
- run: npm run lint
- run: npm test
- run: npm run build
Код не трогаю, он святой, как есть. Но суть, блядь, ясна? Запушил — и сиди, молись, чтобы этот ёбаный пайплайн зелёную галочку поставил, а не красный крест. Волнение — пиздец, пока ждёшь.