Был ли процесс Continuous Integration настроен автоматически на push commit на последнем проекте

Ответ

Да, на последнем проекте мы использовали GitHub Actions для автоматического CI. При каждом push в ветку main или develop запускался пайплайн, который включал:

  1. Установку зависимостей (npm ci)
  2. Линтинг кода (eslint, stylelint)
  3. Запуск юнит-тестов (jest)
  4. Сборку проекта (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  

Код не трогаю, он святой, как есть. Но суть, блядь, ясна? Запушил — и сиди, молись, чтобы этот ёбаный пайплайн зелёную галочку поставил, а не красный крест. Волнение — пиздец, пока ждёшь.