Skip to content

任務與步驟

一次建置是一串步驟,每個步驟是獨立的 shell,各自有狀態、輸出、結束碼與耗時。

步驟是建置開始時從任務推導出來的——任務本身不存步驟,所以這個功能加進來時不必搬遷任何資料:

  • 直接寫腳本的任務 → 一個步驟
  • 用動作流程組成的任務 → 一個動作一個步驟

每個步驟都是全新的 shell

工作目錄共用,但環境變數不會延續。要把值傳給後面的步驟,往 $WALIS_ENV_FILE 追加:

bash
echo "BUILT_VERSION=1.2.3" >> "$WALIS_ENV_FILE"

下一步就讀得到 $BUILT_VERSION。這跟其他 CI 的語意一致,也避免某一步默默依賴前一步的 shell 狀態。

失敗與平行

  • 步驟失敗時,後面的一律標記為略過,除非那個動作設定了失敗仍繼續。
  • 標記為「與前一步同時執行」的步驟會併成一組平行跑。它們共用工作目錄, 但各自有獨立的環境變數檔,不會互相蓋掉。
  • 任務的逾時是整場建置的總時限,每一步拿到的是剩餘時間。

矩陣建置

給任務一個矩陣,一次觸發就會為每個組合各跑一次:

json
{ "NODE": ["20", "22"], "OS": ["mac", "linux"] }

每個建置會拿到對應的環境變數,並帶上像 NODE=20, OS=mac 的標籤。 上限 50 組——四個軸各五個值就是 625 次建置,通常不是本意。

快取

列出要在建置之間保留的路徑(相對於工作目錄)。成功的建置會保存下來,下一次還原。 順序很重要:Walis 先清空工作目錄再還原——反過來會把剛還原的東西清掉。絕對路徑與 .. 一律忽略。

以 MIT 授權釋出。