最近出于兴趣在写一个前端框架 echox,然后在 Github 上给它配置了最简单的 CI 环境,这里简单记录一下。
特殊目录
首先需要在项目根目录里面创建 Github 仓库中的一个特殊目录:.github/workflows,用于存放 Github Actions 的工作流配置文件。
添加 Action
这之后在该目录下新建一个名叫 test.yml 的文件,用于在 CI 流程中添加测试相关的 Action。
配置 Action
对于每一个 Action 的配置文件来说,主要有这么几个配置:
- name:Action 的名字,会展现在 CI 面板之中
- on:触发该 Action 的条件(时机)
- jobs:执行的任务
因为 echox 使用 PNPM 开发的,所以我们需要在 CI 开始的时候安装 PNPM,完整的配置文件如下:
# .github/workflows/test.yml
name: Test # 任务名字
on: # 触发时机,提交或者期望合并到 main 分支的时候
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test: # 只包含一个叫 test 的任务
runs-on: ubuntu-latest # 指定任务运行环境
steps:
- uses: actions/checkout@v4 # 将目标分支 checkout 到运行环境
- uses: actions/setup-node@v4 # 安装 node@20
with:
node-version: "20"
- run: npm install -g pnpm # 安装 PNPM
- run: pnpm install --frozen-lockfile # 根据 lock 文件安装依赖
- run: pnpm run test # 运行测试
最后
如果一切顺利,将会得到如下的结果:
完整的代码在这里 #54,如果觉得不错的话可以给 echox 点一个 star!