อัปเดต
Dev Tools
Python 3.15.0 ลง GitHub Actions แล้ว สาย CI ที่รออยู่ก็ได้ฤกษ์ย้าย matrix
ข่าวเล็กๆ ที่คนเขียนโค้ดสาย GitHub Actions รอคอยมานานหลายวัน เพราะมันหมายถึงเทสต์บนเวอร์ชันใหม่ทำได้จริงเสียที
ทีมข่าว เอไอไทย.com
⏱ อ่าน 3 นาที
เรื่องนี้สอนอะไรบางอย่างเกี่ยวกับการใช้ AI เป็นผู้ช่วยเฝ้าข่าว — เราสั่งให้มันเช็กให้ทุกชั่วโมงได้ แต่คนที่ตัดสินใจว่าจะทำอะไรต่อ ยังต้องเป็นเราอยู่ดี
ถ้าคุณไม่เคยเขียน CI/CD บน GitHub Actions มาก่อน ข่าวนี้อาจฟังดูไม่น่าตื่นเต้นเอาเสียเลย แต่สำหรับคนที่ดูแล pipeline เทสต์ของโปรเจกต์ Python อยู่ทุกวัน การที่ repo actions/python-versions อัปเดตเพิ่ม 3.15.0 เข้าไปในระบบ มันคือสัญญาณว่า "เอาละ ย้าย matrix ได้แล้ว"
Simon Willison เจ้าของบล็อกต้นทางเล่าว่าเขารอเรื่องนี้มาสองสามวันแล้ว ถึงขั้นสั่ง ChatGPT ให้ clone repo actions/python-versions ลงมา แล้วให้ git pull ทุกชั่วโมงจนกว่า 3.15 stable จะโผล่มา แล้วค่อยบอกเขา — ฟังดูเหมือนใช้ปืนใหญ่ยิงยุงใช่ไหม แต่ก็ได้ผล
repo นี้ไม่ใช่ที่เก็บซอร์สโค้ด Python แต่อย่างใด มันคือ repo ที่ GitHub ใช้เป็น backend ให้ฟีเจอร์ setup-python ใน Actions พูดง่ายๆ คือเวลาคุณเขียน workflow ว่า python-version: '3.14' ตัว action มันจะวิ่งไปดึง binary จาก repo นี้มาให้
เพราะฉะนั้นถ้า repo ยังไม่มี 3.15.0 การจะเขียน matrix ให้เทสต์บนเวอร์ชันใหม่ก็ทำไม่ได้ — จะพังตั้งแต่ขั้นตอน setup ยังไม่ทันเริ่มรันเทสต์ด้วยซ้ำ นี่คือสาเหตุที่คนอย่าง Willison ต้องนั่งเฝ้า เพราะเขาอยากเทสต์โค้ดของตัวเองบน Python 3.15.0 ตั้งแต่เนิ่นๆ ก่อนที่มันจะกลายเป็นเวอร์ชันที่คนส่วนใหญ่ใช้จริง
ตอนนี้สิ่งที่ทำได้คือเติม "3.15" ลงใน matrix ของ workflow ได้เลย ตัวอย่างแบบที่คนเขียนกันจริงก็ประมาณนี้
เพิ่มเวอร์ชันเข้า matrix
ใส่ "3.15" ต่อจากเวอร์ชันที่เทสต์อยู่เดิม เพื่อให้ pipeline รันเทสต์คร่อมหลายเวอร์ชันพร้อมกัน
เทสต์ก่อนใคร
จับบั๊กที่เกิดจากความเปลี่ยนแปลงของ Python 3.15 ได้ตั้งแต่ตอนนี้ ก่อนที่มันจะกลายเป็นปัญหาใหญ่ตอนอัปเกรดจริง
เตรียม deprecation ล่วงหน้า
ถ้าไลบรารีที่ใช้มีอะไรที่จะเลิกใช้ใน 3.15 ก็รู้ได้ตั้งแต่ตอนนี้ ไม่ต้องรอให้ production พัง
ส่วนตัวผมมองว่าจุดที่น่าสนใจของโพสต์นี้ไม่ใช่ตัวข่าว 3.15.0 ลง repo หรอก — มันคือวิธีที่ Willison ใช้ ChatGPT เป็นตัวเฝ้า repo ให้ แล้วค่อยรายงานกลับ นี่คือ use case ของ AI ที่ practical สุดๆ ไม่ต้องหวือหวา ไม่ต้องเขียน agent ซับซ้อน แค่สั่งให้มันวนเช็ก git pull ทุกชั่วโมงแล้วบอกเมื่อของมา
แต่ก็ต้องพูดตรงๆ ว่า ถ้าเป็นงานที่ต้องการความแม่นยำสูงหรือมีเงื่อนไขซับซ้อน การฝาก AI เฝ้าแบบนี้ก็ไม่ใช่คำตอบเสมอไป เพราะถ้ามันรายงานผิดหรือพลาดรอบเดียว คุณก็อาจพลาดของที่รออยู่ตั้งนานโดยไม่รู้ตัว ทางที่ดีคือใช้เป็นตัวช่วยเตือน ไม่ใช่ฝากชีวิตไว้ทั้งหมด
ข่าวนี้เล็กมาก แต่สะท้อนสองเรื่องพร้อมกัน — หนึ่งคือ ecosystem ของ Python ขยับเร็วขึ้นเรื่อยๆ และสองคือคนทำงานสาย dev เริ่มใช้ AI เป็นผู้ช่วยเฝ้าสถานะงาน routine กันจริงจังแล้ว ใครที่ยังนั่ง refresh หน้า GitHub เองอยู่ ลองเปลี่ยนวิธีดูบ้างก็ได้
ที่มา: Simon Willison's Weblog — อ่านต้นฉบับ
ความคิดเห็น 0
กำลังโหลดความคิดเห็น...