我将以下 Github Actions 工作流程用于我的 C 项目。工作流在大约 40 秒内完成,但其中超过一半的时间用于安装valgrind包及其依赖项。
我相信缓存可以帮助我加快工作流程。我不介意多等几秒钟,但这似乎是对 GitHub 资源的毫无意义的浪费。
name: C Workflow
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: make
run: make
- name: valgrind
run: |
sudo apt-get install -y valgrind
valgrind -v --leak-check=full --show-leak-kinds=all ./bin
Run Code Online (Sandbox Code Playgroud)
运行sudo apt-get install -y valgrind会安装以下软件包:
gdbgdbserverlibbabeltrace1libc6-dbglibipt1valgrind我知道 Actions 支持缓存特定目录(并且已经有几个已回答的 SO 问题和关于此的文章),但我不确定 apt 安装的所有不同软件包最终在哪里。我假设/bin/或/usr/bin/不是唯一受安装软件包影响的目录。
是否有一种优雅的方法来缓存已安装的系统包以供将来运行工作流?