mirror of
https://github.com/awalsh128/cache-apt-pkgs-action.git
synced 2026-11-14 05:46:50 +00:00
* fix: find install scripts for package names with regex metacharacters findInstallScript built a regex from the raw package name, so names like g++ or libstdc++6 threw "Nothing to repeat" on cache save and on restore with install scripts, and a '.' in a name could match another package's script. Compare file names as plain strings instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * perf: speed up cache restores - Upload the diagnostic artifact only when debug is on or the action fails. The upload took ~1.4s of a ~3.7s restore in CI. - Extract all package archives in one sudo shell when install scripts are off, instead of a sudo and tar process per package. Per-package extraction stays when scripts run, to keep install ordering (#196). - Skip the apt-fast availability probe on a cache hit, where nothing is installed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs: document Manifest and ManifestEntry public members Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
53 lines
2.2 KiB
YAML
53 lines
2.2 KiB
YAML
name: "Cache APT Packages"
|
|
description: "Install APT based packages and cache them for future runs."
|
|
author: awalsh128
|
|
branding:
|
|
icon: "hard-drive"
|
|
color: "green"
|
|
|
|
inputs:
|
|
packages:
|
|
description: "Space delimited list of packages to install. Version can be specified optionally using APT command syntax of <name>=<version> (e.g. xdot=1.2-2)."
|
|
required: true
|
|
default: ""
|
|
version:
|
|
description: "Version of cache to load. Each version will have its own cache. Note, all characters except spaces are allowed."
|
|
required: false
|
|
default: ""
|
|
execute_install_scripts:
|
|
description: "Execute Debian package pre and post install script upon restore. See README.md caveats for more information."
|
|
required: false
|
|
default: "false"
|
|
empty_packages_behavior:
|
|
description: >
|
|
Desired behavior when the provided package list is empty.
|
|
|
|
Available Options:
|
|
error: Fail the action with an error message
|
|
warn: Output a warning without failing the action
|
|
ignore: Proceed silently without warnings or errors
|
|
required: false
|
|
default: "error"
|
|
debug:
|
|
description: "Enable debugging when there are issues with action. Also uploads the action logs and manifests as a workflow artifact, which is otherwise done only when the action fails. Minor performance penalty."
|
|
required: false
|
|
default: "false"
|
|
|
|
outputs:
|
|
cache-hit:
|
|
description: "A boolean value to indicate a cache was found for the packages requested."
|
|
package-version-list:
|
|
description: >
|
|
The main requested packages and versions that are installed.
|
|
Represented as a sorted comma delimited list with equals delimit on the package version (i.e. <package1>=<version1>,<package2>=<version2>,...).
|
|
Packages installed for a non-native architecture include it (i.e. <package>:<arch>=<version>).
|
|
all-package-version-list:
|
|
description: >
|
|
All the pulled in packages and versions, including dependencies, that are installed.
|
|
Represented as a sorted comma delimited list with equals delimit on the package version (i.e. <package1>=<version1>,<package2>=<version2>,...).
|
|
Packages installed for a non-native architecture include it (i.e. <package>:<arch>=<version>).
|
|
|
|
runs:
|
|
using: "node24"
|
|
main: "dist/action/index.js"
|