CLI 自動化與 CI
佈建經驗證的 CLI 安裝,並自動化有限制的本機工作、收據與明確的後端檢查。
概覽
佈建經驗證的 Linux 安裝,再以一般工作使用者身分在新工作區執行設計工作。安裝權限應與原始碼處理分開。本頁使用 CLI 0.1.9 安裝契約;請透過下載選取實際可用的版本。
準備門檻
固定工作流程接受的精確版本、封存檔名稱與已簽署目錄清單。
執行任何下載的二進位檔前,請依照驗證下載驗證公開金鑰 DER 固定值、已簽署檢查碼清單、封存檔簽章與目錄清單簽章。
請使用在 Linux 安裝的說明。內嵌啟動程式無需儲存庫副本、建置或網路存取,即可建立已簽署配置與固定 Tcl 元件。只在管理員掌控的步驟進行安裝。
執行確切已安裝的
PREFIX/bin/alti,並保留版本與功能報告。不要改用開發二進位檔或未驗證的PATH執行器。
封存檔存在與說明輸出,不證明安裝已就緒。請檢查 alti capabilities,以及預定操作的功能回應。檢查失敗應停止該操作,不應啟用回退。
離線 CI 範例流程
準備 job.json 及其僅限擁有者的原始碼,方法請參閱CLI 首次成功。將 ALTI_BIN 設為精確的已驗證安裝,並將 ALTI_WORKSPACE 設為此工作已準備的工作區:
set -euo pipefail
ALTI_BIN="${ALTI_BIN:?set the verified absolute installed alti path}"
ALTI_WORKSPACE="${ALTI_WORKSPACE:?set the private prepared workspace}"
case "$ALTI_BIN" in /*) ;; *) exit 1 ;; esac
EVIDENCE="$(mktemp -d)"
"$ALTI_BIN" version > "$EVIDENCE/version.txt"
"$ALTI_BIN" capabilities > "$EVIDENCE/capabilities.json"
"$ALTI_BIN" commands > "$EVIDENCE/commands.json"
"$ALTI_BIN" --json job validate \
--job "$ALTI_WORKSPACE/job.json" \
--workspace-root "$ALTI_WORKSPACE" \
--source rtl/top.sv \
> "$EVIDENCE/preflight.json" 2> "$EVIDENCE/preflight-error.json"
jq -e 'length == 25' "$EVIDENCE/commands.json" >/dev/null
jq -e '
.receipt_schema == "altifigence.cli.engine-job-preflight.v1" and
.status == "client_preflight_valid" and
.submitted == false and
.server_authority_verified == false
' "$EVIDENCE/preflight.json" >/dev/null
這檢查的是預先檢查,不是 RTL 執行。若工作流程需要執行結果,請加入明確的 CPU XLS 評估或另一項有限制的本機引擎操作。這些本機檢查不需要 Cloud 憑證。
功能與輸出規則
剖析預期的命令專用結構描述前,先檢查程序結束狀態。
將 stdout 與 stderr 分開。使用
--json時,從封套的stdout剖析引擎輸出;DDS plan/apply 管線則儲存原始原生結果。使用新的工作區/執行目錄。套用前檢閱完整撰寫計畫;發生衝突後重新產生,不要替換其雜湊。
使用明確的
cpu/cuda或 Evolve 的cpu-reference/cuda政策。XLS 與封裝 RTL 不會悄悄回退。PX 的auto是獨立、需主動選用的政策,必須從收據讀取實際後端與回退。GPU 資格驗證請另外排程,並備妥所需驅動程式與 Icarus 工具。要求實際通過驗收的 CUDA 工作與儲存的硬體來源;僅探索到功能並不足夠。不要從功能測試推論效能。
Cloud 寫入需要帳戶/專案權限與操作明確的上傳同意。舊版 HTTP 替換需要該服務的新雜湊;
409是衝突,不代表可以降低檢查強度後重試。
保留證據
保留已驗證目錄清單/簽章、已安裝二進位檔摘要、CLI 版本、已遮蔽敏感資訊的引數、輸入摘要、結束狀態,以及有限制的結果/診斷串流。GPU 記錄還需要實際裝置/驅動程式與外部工具身分。開發/偵錯證據應與已簽署套件的資格驗證分開。避免不必要地保留憑證或專案原始碼。
保持 CI 可重現
在執行器佈建中固定已驗證版本與外部工具鏈版本。
每個工作使用使用者擁有的新原始碼目錄與新輸出路徑。
執行功能檢查,以及適合所要求操作的小型實際執行。
非零結束狀態、格式錯誤輸出、過期原始碼身分或缺少必要產物時,讓管線失敗。
保留有限制的診斷與摘要;透過 CI 機密儲存輪替憑證,不要使用儲存的記錄。
依版本與摘要快取已驗證安裝輸入或不可變工具鏈。不要將專案結果、工作階段檔案與提供者憑證放入共用快取。遠端工作需要自己的明確授權與工作追蹤;本機 CI 通過不代表 Cloud 工作已執行。