Prefer `actions/setup` caching over `actions/cache`
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- github-actions, yaml
- 领域
- ci-cd
调研方向
从 .github/workflows/build.yml 以及链接的 actions/setup-java、setup-node、setup-python 和 setup-go 缓存文档开始。检查 recipe 如何识别 actions/cache 步骤,并确定每个 setup action 对应的软件包管理器缓存选项;完成的标准是将手动缓存步骤替换为相应的 setup 缓存键。
由索引模型根据 Issue 内容生成。
描述
- Remove
actions/cache - Add the
cachekey to the corresponding actions/setup
See :
https://github.com/actions/setup-java#caching-packages-dependencies
https://github.com/actions/setup-node#caching-packages-dependencies
https://github.com/actions/setup-python
https://github.com/actions/setup-go#caching-dependency-files-and-build-outputs
Examples:
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4555776..785bc33 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -17,16 +17,11 @@ jobs:
checks: write
steps:
- uses: actions/checkout@v3
- - uses: actions/cache@v3
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-main-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-main-maven-
- uses: actions/setup-java@v3
with:
java-version: 8
distribution: 'zulu'
+ cache: 'maven'
- run: cd tests && mvn clean test --batch-mode -Dmaven.test.failure.ignore=true
- uses: ./
if: github.ref != 'refs/heads/master'
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 785bc33..e2d8a91 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -52,12 +52,7 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version: 16
- - uses: actions/cache@v3
- with:
- path: ~/.npm
- key: ${{ runner.os }}-npm-cache-${{ hashFiles('**/package-lock.json') }}
- restore-keys: |
- ${{ runner.os }}-npm-cache-
+ cache: npm
- run: npm install
- run: npm run eslint
- run: npm run test
I think that the main challenge here is to determine what type to use.
For example, for actions/setup-java we have maven, gradle and sbt as options. The recipe should be able to detect the package manager and make the correct selection
- 主要语言
- Java
- 星标
- 1
- 派生
- 9
- 平均合并
- 45 分钟
- 30 天内合并 PR
- 7
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
openrewrite/rewrite-github-actions 的其他 Issue
-
enhancement recipe
难度 5/5 一周以上 新手友好度 48/100
openrewrite/rewrite-github-actions#195 · 1 条评论 ·
-
recipe
难度 5/5 一周以上 新手友好度 35/100
-
recipe
难度 3/5 1-2 天 新手友好度 55/100
-
enhancement recipe
难度 3/5 1-2 天 新手友好度 55/100
openrewrite/rewrite-github-actions#128 · 5 条评论 ·
-
Do not use `gradle/actions/setup-gradle` with `arguments`; replace with two steps可能已有人在做 @Wanbinyu 于 38 天前认领。 未关闭recipe
难度 3/5 1-2 天 新手友好度 68/100
openrewrite/rewrite-github-actions#100 · 1 条评论 ·
查看 openrewrite/rewrite-github-actions 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复
-
code-maintenance
难度 2/5 1-3 小时 新手友好度 80/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 85/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
krizaka/krizaka-notifications#32 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 78/100
klikli-dev/occultism#1719 ·