การดำเนินการนี้ใช้ตัวจัดรูปแบบ PHPUnit --teamcity
ในตัวเพื่อเพิ่มคำอธิบายประกอบให้กับบิวด์ Github Actions ของคุณ
หากต้องการกำหนดค่าตัวจับคู่เหล่านี้ ให้เพิ่มขั้นตอนต่อไปนี้ลงในไฟล์ YAML เวิร์กโฟลว์ของคุณก่อนที่จะรัน PHPUnit ด้วยแฟล็ก --teamcity
- name : Configure matchers
uses : mheap/phpunit-matcher-action@v1
นี่คือตัวอย่างเวิร์กโฟลว์ที่สมบูรณ์ (อยู่ที่ .github/workflows/phpunit.yml
) ที่รันการทดสอบของคุณและเพิ่มคำอธิบายประกอบสำหรับความล้มเหลว
name : PHPUnit
on : [pull_request]
jobs :
build :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
- name : Composer dependencies
run : composer install --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist
- name : Configure matchers
uses : mheap/phpunit-matcher-action@v1
- name : Run Tests
run : ./vendor/bin/phpunit --teamcity test
หากคุณรันการทดสอบในคอนเทนเนอร์และเอาต์พุต Teamcity จะมีเส้นทางพื้นฐานที่แตกต่างกัน คุณสามารถระบุได้โดยใช้อินพุต base_path
:
- name : Configure matchers
uses : mheap/phpunit-matcher-action@v1
with :
base_path : /path/to/other/folder
เครื่องมือจับคู่ปัญหาทำงานโดยการกำหนดนิพจน์ทั่วไปเพื่อดึงข้อมูล เช่น ไฟล์ หมายเลขบรรทัด และความรุนแรงจากบันทึกเอาต์พุตใดๆ Matcher แต่ละตัวจะต้องลงทะเบียนกับ Github Actions โดยเพิ่ม ::add-matcher::/path/to/matcher.json
ลงในเอาต์พุต
การดำเนินการนี้จะสร้างนิพจน์ทั่วไปตามพื้นที่ทำงาน Github เขียนไฟล์ตัวจับคู่ จากนั้นลงทะเบียนไฟล์เหล่านั้นกับ Action Runner
โดยจะใช้เอาต์พุต Teamcity เนื่องจากมีข้อมูลที่จำเป็นทั้งหมด (เส้นทางไฟล์ ข้อความแสดงข้อผิดพลาด และหมายเลขบรรทัด)