Stoat:一站式 GitHub action,可以在每个 pull request 上显示自定义控制面板

2022-12-14 13:43:38 +08:00
 ltu

我和朋友开发了一个 GitHub action ,名叫 Stoat ,可以给 GitHub pull request 提供一站式服务。

文档: https://docs.stoat.dev/docs/intro

示例: https://github.com/stoat-dev/stoat-action/pull/43#issuecomment-1344719650

以上截图显示的是在 GitHub pull request 下,Stoat 以置顶评论的形式,显示的项目信息。目前主要开发了两个小组件:HTML 预览,以及 GitHub job 运行时间跟踪。

每次有新的 commit 和 GitHub workflow run ,pull request 上的这条评论都会自动更新。这种显示的形式类似 Vercel ,但是支持更多的功能。


以 Storybook 为例,假设现有一个前端项目,已经安装了 Storybook ,并且已存在一个 GitHub action ,会构建 Storybook 。那么可以使用方法如下:

  1. 安装 Stoat app: https://github.com/apps/stoat-app/
  2. 创建一个配置文件:.stoat/config.yaml
---
version: 1
enabled: true
tasks:
  # 自定义的任务 ID
  # 这是一个 HTML 托管任务
  preview-storybook:
    static_hosting:
      # 构建好的 Storybook 的文件夹,通常是 storybook-static
      path: storybook-static
  # 这是一个 job 运行时间跟踪任务
  track-build-time:
    job_runtime:
  1. 在现有的 GitHub workflow 中增加 Stoat action
# 这是现有的 workflow steps
- name: Checkout
  uses: actions/checkout@v3

- name: Set up Node
  uses: actions/setup-node@v3
  with:
    node-version: 18

- name: Build Storybook
  run: |
    npm install
    npm run build-storybook

# 在现有 workflow 末尾,添加 Stoat action
- name: Run Stoat Action
  uses: stoat-dev/stoat-action@v0
  if: always()

以上步骤的文档: https://docs.stoat.dev/docs/quick-start/storybook

更多示例: https://docs.stoat.dev/docs/category/quick-start


相比现有的各类托管 GitHub action ,这个项目的优势是:

项目是全英文开发,目前还没有中文文档,还请见谅。

感谢大家尝试使用!

1264 次点击
所在节点    分享创造
2 条回复
ltu
2022-12-24 05:49:24 +08:00
昨天新添加了运行时间的对比功能。每次在显示 pull request GitHub workflow job 运行时间的同时,也会显示 default branch (比如 master / main )的运行时间,作为对照。如下图所示:

![]( https://stoat-dev--static.stoat.page/screenshot-graph.png)

详见: https://docs.stoat.dev/docs/tutorials/build-runtimes
ltu
2022-12-24 05:50:14 +08:00
原来回复不支持 markdown 图片……

https://stoat-dev--static.stoat.page/screenshot-graph.png

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/902444

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX