بدون هیچ اغراقی میگم: ابزار act واقعاً زندگی مهندسی و سلامت روان منو نجات داد!
اگر تا حالا برای تنظیم یک فایل ساده .github/workflows مجبور شدید ۳۰ بار کامیت بزنید با پیامهای حسرتباری مثل fix yaml، test ci 2 و PLEASE WORK... دقیقاً میدونید از چه جهنمی صحبت میکنم.
کابوس روزمرهام قبل از act این بود:
- یک خط تغییر کوچک توی کانفیگ پایپلاین میدادم.
- کامیت و پوش میکردم و منتظر میشدم تا Runner گیتهاب بالا بیاد.
چند دقیقه طول میکشید تا وابستگیها دانلود بشن و آخرش بهخاطر یک Space اضافه یا جابهجا بودن یک Indentation ساده، کلاً Build شکست میخورد!
تاریخچه (Git Log) پروژهام شبیه گورستان کامیتهای اسپم و بیمصرف شده بود.
معجزهای به نام act
تغییر از وقتی شروع شد که act رو وارد workflow خودم کردم. این ابزار کل محیط اجرای GitHub Actions رو مستقیماً روی سیستم خودم و داخل کانتینرهای Docker شبیهسازی میکنه.
حالا فرآیند تست CI برای من این شکلی شده:
بازخورد زیر ۵ ثانیه: بدون اینکه حتی یک کامیت بزنم یا کدی رو پوش کنم، فقط با زدن دستور act pull_request کل پایپلاین (از آنالیز استاتیک و Spotless گرفته تا تستهای یکپارچگی سنگین) روی سیستم محلی اجرا میشه.
تاریخچه گیت کاملاً شفاف و تمیز: فقط و فقط زمانی کامیت میزنم که مطمئن باشم پایپلاین روی سیستم خودم ۱۰۰٪ سبز شده.
پایان الگوی سمی "Push and Pray": دیگه نیازی نیست دست به دعا بشم که آیا این پوش جدید قراره سبز بشه یا قرمز!
اگر روی زمان، تمرکز و پاکیزگی Git Log پروژههاتون تعصب دارید، همین امروز act رو روی سیستمتون نصب کنید و خودتون رو برای همیشه از کابوس تست CI روی سرورهای ابری نجات بدید.
https://www.linkedin.com/pulse/stop-committing-test-your-ci-deep-dive-act-local-amir-goalmoradi-uff9e/
@DevTwitter | <Amir Goalmoradi/>
Post #13264
6.32K
- ❤ 39
- 👍 15
- 🍌 9