在Mac上为Codex CLI配置GitHub Actions CI流水线,需确保Node.js≥22、npm≥10,本地通过npm run lint和npm test验证;创建.github/workflows/ci.yml文件,定义push/PR触发,Ubuntu运行器上执行npm ci、ESLint检查与Jest测试,并启用缓存、禁用Mac专属钩子、设置CI=true环境变量以保障一致性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Mac上为Codex CLI项目配置GitHub Actions流水线,让每次代码提交自动完成ESLint检查与单元测试,避免本地漏检导致CI失败回滚。
确认本地开发环境已就绪
先确保Mac上Node.js版本≥22、npm≥10,且项目根目录已存在package.json并定义了"lint": "eslint ."和"test": "jest"脚本。若缺失,运行npx eslint --init和npm init -y && npm install --save-dev jest eslint补全。
执行npm run lint和npm test在本地验证能通过——【这一步跳过会导致后续CI直接报错,无法定位是代码问题还是配置问题】。
创建基础CI工作流文件
在项目根目录新建路径:.github/workflows/ci.yml,注意两级目录名和文件名必须完全小写、带点号,大小写错误将导致GitHub完全忽略该文件。
用任意文本编辑器(如VS Code或TextEdit)打开ci.yml,粘贴以下内容:
name: Codex CI<br>on:<br> push:<br> branches: [ main, develop ]<br> pull_request:<br> branches: [ main, develop ]<br>jobs:<br> lint-and-test:<br> runs-on: ubuntu-latest<br> steps:<br> - uses: actions/checkout@v4<br> - name: Set up Node.js<br> uses: actions/setup-node@v4<br> with:<br> node-version: '22'<br> cache: 'npm'<br> - run: npm ci<br> - name: Run ESLint<br> run: npm run lint<br> - name: Run tests<br> run: npm test
适配Mac本地开发习惯的三项关键调整
方法一:启用缓存加速重复构建
在npm ci步骤后插入新步骤:
- name: Cache node_modules<br> uses: actions/cache@v4<br> with:<br> path: node_modules<br> key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}。这能让后续CI跳过依赖安装,节省30–60秒。
方法二:跳过Windows不兼容的脚本
若package.json中"scripts"含prebuild等仅限Mac执行的钩子,需在CI中禁用:把run: npm ci改为run: npm ci --no-preinstall --no-audit。否则Ubuntu运行器会因找不到osascript等命令而中断。
方法三:隔离测试环境变量
在Run tests步骤前添加:
- name: Set test env vars<br> run: echo "CI=true" >> $GITHUB_ENV。这能防止Jest读取本地
.env导致测试行为不一致——【不加这行,某些依赖环境变量的测试在CI里会静默跳过】。
触发首次流水线运行
第一步:保存ci.yml文件
第二步:终端执行git add .github/workflows/ci.yml && git commit -m "chore: add CI workflow"
第三步:执行git push origin main推送至远程仓库
第四步:立即打开GitHub仓库页面 → 点击顶部「Actions」标签页 → 查看刚触发的「Codex CI」工作流实时日志

















