本週我們為我的Explainer.js 製作了一個 CI 管道。由於我在過去幾週設置了不同的腳本,因此相當簡單。
首先設定 CI 管道是在 .github/workflows 目錄中新增一個 YML 檔案。我使用了 GitHub 上的預設版本的 node.js CI 模板,但進行了一些更改。首先,我使用預設選項製作了一份 PR 草案。然後我拉動樹枝並做了一些調整。我更改了名稱,將建置工作分成了三個獨立的工作。建置以安裝節點,然後進行 lint 和格式化,最後進行測試以執行測試。我還使用 need 關鍵字來跳過下一項工作,因此如果前一項工作失敗,它將跳過下一項工作。因此,如果節點設定失敗,它將不會執行 lint-and-format,如果 lint-and-format 失敗,它將不會執行測試。這種情況確實發生了幾次,因為我的 index.test.js 沒有正確設置,所以我必須通過 argv 傳遞 test-api-key 來使其運行,從而進行一個小修復。它在本地運行良好,因為我已經設定了 .toml 和 .env。設定 lint-and-format 相當簡單,因為當我嘗試在本機提交時執行腳本,因此它會自動格式化我的檔案。我根據專案的需要對預設的 YML 檔案進行了更改。而且效果非常好!看看吧。
我在 DocBot 工作過。雖然該專案是用 JS 編寫的,但該專案使用了一個不同的測試框架,稱為 vitest,它與 jest 相容。我立即註意到一件事,與開玩笑相比,它的速度有多快。且終端輸出是超級拋光的。讓解決這個問題變得非常愉快。我致力於使 file.test.js 測試套件與作業系統無關。我在 WSL 終端機中運行它,運行良好,但它沒有在 cmd.exe 中運行。我立即註意到預期的路徑結構有所不同。上週我在explainer.js 中完成測試時遇到了一些問題。我預設使用 WSL,但我記得不是每個人都有它,所以我在 cmd.exe 中運行它,並且我在 FilePathResolver.test.js 中編寫的測試遇到了同樣的問題,所以我必須修復它。因此,在使用預設設定的 vscode 終端時,很容易忽略在不同作業系統中執行終端。經過一番嘗試和錯誤後,我修復了它並取得了我的 PR。
以上是為Explainer.js製作CI管道的詳細內容。更多資訊請關注PHP中文網其他相關文章!