Github 在 2022/10/20 發布 一項更新,可以在 web 介面下管理 Actions Workflows 的 caches。 不過在此之前,還沒將 actions cache 加到目前使用的專案中,趁這次調整使用看看。手邊有一個以 Python 為主要語言開發、 Poetry 為套件管理的專案,預期可以將「相對穩定」的套件 cache 起來。 基本的會使用到的 actions: actions/checkout@v3 另外有兩種方式可以支援 cache 的使用 actions/setup-python@v4 actions/cache@v3 actions/setup-python 在 actions/setup-python 有兩個參數可以開啟使用, cache 、 cache-dependency-path 。 cache 可以為 pipenv、pip、poetry。 cache-dependency-path 則是指定套件安裝檔的位置: pipenv: Pipfile.lock pip: requirements.txt poetry: poetry.lock 詳細的設定檔範例可以 參考文件 ,雖然 actions/setup-python 提供一個非常簡易的設定,但如果想要更多自訂的快取設定,可以試試原生的 actions/cache actions/cache actions/cache 是最原生的功能,可以透過 path 、 key 來指定快取的位置。以 Poetry 為例,在 Poetry 相關的 預設路徑 下,可以針對 ~/.local , ~/.cache 來建立快取。 如果你習慣將環境資料夾裝在專案底下( virtualenvs.in-project=true )也可以將 ./.venv 也建立快取位置。 而 key 的命名可以使用 hashFiles 來比對 poetry.lock 檔案差異值來建立。 所以依這樣這樣的規則,我們可以有三個快取建立: poetry-venv-${{ hashFiles('\*\*/poetry.lock') }} ...