SuperAPI AI 工具集

github-action-authoring

部署与运维

查看项目

更新于 10-16 03:13

技能介绍

本技能用于编写和调试 setup-boxlang 的复合 GitHub Action(action.yml),适用场景包括:在 action.yml 中新增或修复 Windows、Linux、macOS 支持;编写或调试 PowerShell(shell: powershell)步骤;新增输入、输出或条件步骤;更新 tests.yml 的平台与功能覆盖;排查 GitHub Actions Windows 运行器的 PATH 问题;在 CI 中安装第三方工具(BoxLang、CommandBox)。

架构上,action.yml 是复合动作,按平台拆分为并行步骤对:Setup BoxLang 在 Unix/Linux/macOS 用 shell: bash 加 install-boxlang.sh,在 Windows 用 shell: powershell 加 install-boxlang.ps1;Install CommandBox、ForgeBox API Key 同样分平台;Install modules 在 Windows 跳过。每对步骤用 if: runner.os != 'Windows' / if: runner.os == 'Windows' 条件区分。

关键规则:PowerShell 步骤体内 ${{ env.SOME_VAR }} 不会展开为空字符串,应改用 $env:SOME_VAR;而 ${{ inputs.xxx }} 与 ${{ runner.os }} 可正常展开。写环境变量与输出用 Add-Content -Path $env:GITHUB_ENV / $env:GITHUB_OUTPUT;更新 PATH 需显式重建并写入 GITHUB_ENV。PS7+ 下 Invoke-WebRequest 的 .Content 为 Byte[],应先存文件再执行。install-boxlang.ps1 按顺序解析参数,--yes 内部会开启 INSTALL_COMMANDBOX,故需 --yes 在前、--without-commandbox 在后。Windows 上不要依赖 BoxLang 安装器安装 CommandBox,应使用专用步骤下载 type/windows 到受控路径并显式加入 PATH。复合动作在条件步骤下,每个平台步骤需各自 id,输出按平台选取正确步骤。

tests.yml 约定:每个新功能与平台各建独立 job,平台矩阵用 strategy.matrix.os,Windows 校验用 shell: powershell 检查 $env:VAR,Unix 用内联 bash,所有 Windows job 均校验 BOXLANG_HOME。

限制:资料未提供官方文档链接、版本兼容范围、授权与维护信息,暂未提供。