【文章內容使用 Gemini 1.5 Pro 自動翻譯產生】
宣布 GitHub Actions 支援 Dart
GitHub Actions 是一個熱門的 GitHub 儲存庫持續整合 (CI) 服務。今天,我們宣布由 Dart 團隊提供的官方 setup-dart action。此 action 支援下載、安裝和設定 Dart SDK,讓您可以在 GitHub Actions 上輕鬆執行 Dart 建置和測試工作。
如果您為 pub.dev 製作 Dart 套件,我們鼓勵您使用 GitHub Actions 為您的儲存庫啟用 CI 測試,以便為您(和套件使用者)提供有關套件是否健康的訊號。GitHub Actions 上的 CI 工作對 公開儲存庫 是免費的。
介紹 setup-dart
如果您有一個包含 Dart 應用程式的 GitHub 儲存庫,您只需點擊幾下即可使用 GitHub Actions 和 setup-dart action 啟用 CI 測試。這裡我們有一個名為 myapp 的新 GitHub 儲存庫,其中包含使用 Dart 工具產生的小型應用程式的起點,透過執行dart create --template console-full myapp
。
接下來,打開 GitHub 網頁 UI,然後點擊 Actions 標籤:
在介紹下方,您應該會看到一個建議 Dart 儲存庫工作流程的區段:
點擊 設定此工作流程 按鈕,您將進入 GitHub UI,以新增一個新的 .github/workflow/dart.yml
檔案。這是一個 YAML 檔案,定義了要在儲存庫中執行的 GitHub Actions 工作流程。讓我們回顧一下範本 工作流程 檔案建議的每個組成部分。
首先,我們定義工作流程的名稱,該名稱將顯示在 Actions 管理 UI 中:
1 | name: Dart |
接下來,我們定義何時應該執行工作流程(觸發工作流程的事件)。這裡,工作流程設定為在每次推送到 main 分支或 main 分支的 PR 時執行。我個人發現,當我難以讓工作流程執行時,通常是因為我拼錯了分支名稱。
1 | on: |
然後是一個作業列表,每個作業都有一個名稱(這裡是測試)。每個作業都有自己的定義,包括在哪裡執行作業(此作業在 Ubuntu Linux 上執行)以及要執行的步驟:
1 | jobs: |
至於具體的測試,我們首先檢出正在測試的儲存庫,然後執行新的 setup-dart action。這會下載並安裝 Dart SDK,然後將 dart CLI 和 pub 全局目录添加到路徑中。這裡我們沒有指定要安裝哪個 Dart SDK,因此 action 將安裝最新的穩定通道 SDK。
1 | - uses: actions/checkout@v2 |
然後,我們可以繼續執行我們想要的測試,例如格式化、分析和單元測試:
1 | - name: 安裝相依性 |
有關完整範例,請參閱我們的 package:characters 工作流程。
指定 SDK 版本
setup-dart action 支援指定您想要安裝的 Dart 版本。這可以採用兩種形式之一:
- 特定版本,例如 2.9.0 或 2.12.0–259.12.beta
- 來自 發佈通道 的最新版本,例如 stable 或 beta
要指定版本,請使用 sdk
參數,直接使用或作為 測試矩陣 的一部分:
1 | matrix: |
此矩陣的結果是九個單獨執行的作業:
現在一切都通過了,您可能想要 在您的 README.md 檔案中加入一個狀態徽章 以顯示測試狀態。
其他解決方案
GitHub Actions 是持續整合的幾種熱門解決方案之一。其他支援 Dart SDK 的解決方案包括 Travis、AppVeyor 和 CodeShip。對於 Flutter 應用程式的測試,選項包括 Nevercode 的 Codemagic、Cirrus CI 和 Bitrise。Flutter 應用程式的 GitHub Actions 由社群貢獻的 action 啟用,例如 flutter-action。
目前就這樣。我們希望您喜歡 Dart 的這個新的 CI 支援,如果您對 setup-dart 有任何回饋或問題,請在 議題追蹤器 中告知我們。
宣布 GitHub Actions 支援 Dart 最初發佈在 Dart 上的 Medium,人們在那裡透過突出顯示和回應這個故事來繼續討論。