相关疑难解决方法(0)

在 GitHub Actions 工作流程中缓存 APT 包

我将以下 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会安装以下软件包:

  • gdb
  • gdbserver
  • libbabeltrace1
  • libc6-dbg
  • libipt1
  • valgrind

我知道 Actions 支持缓存特定目录(并且已经有几个已回答的 SO 问题和关于此的文章),但我不确定 apt 安装的所有不同软件包最终在哪里。我假设/bin//usr/bin/不是唯一受安装软件包影响的目录。

是否有一种优雅的方法来缓存已安装的系统包以供将来运行工作流?

apt github-actions

21
推荐指数
4
解决办法
6616
查看次数

标签 统计

apt ×1

github-actions ×1