-
-
Notifications
You must be signed in to change notification settings - Fork 26
/
action.yml
70 lines (65 loc) · 5.01 KB
/
action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Copyright (c) 2019-2020-2021-2022-2023 Luca Cappa
# Released under the term specified in file LICENSE.txt
# SPDX short identifier: MIT
name: 'run-vcpkg'
description: 'Setup (and optionally run) vcpkg to build C/C++ dependencies and cache them automatically.'
author: 'Luca Cappa https://github.com/lukka'
inputs:
# The following 'inputs' are commonly defined by the user in the workflow.
vcpkgDirectory:
default: ${{ github.workspace }}/vcpkg
required: false
descriptions: "Specify the vcpkg's root directory. If not specified, it defaults to <github.workspace>/vcpkg/ . When vcpkg is a Git submodule, specify the path to it."
runVcpkgInstall:
default: false
required: false
description: "Run the installation of packages by running `vcpkg install` on the directory of the discovered 'vcpkg.json' file. Default is false."
vcpkgGitCommitId:
required: false
description: "Specify the full SHA-1 hash of a Git commit (not a branch name, nor a tag!) that establishes which version of vcpkg needs to be used. When using vcpkg as a Git submodule, this input is *not* needed as implicitly specified by the submodule. When not specified and a submodule is not used for vcpkg, the commit id is being searched in vcpkg.json or vcpkg-configure.json, see vcpkgConfigurationJsonGlob input."
vcpkgGitURL:
default: "https://github.com/microsoft/vcpkg.git"
required: false
description: "Specify the URL Git repository to download vcpkg from. Defaults to https://github.com/microsoft/vcpkg.git"
doNotUpdateVcpkg:
default: false
required: false
description: "Avoid to update vcpkg (launching git) in the specified 'vcpkgDirectory'. This is useful when vcpkg is being checkout independently of the run-vcpkg action. Default is false."
doNotCache:
default: true
required: false
description: "Enable the caching of the vcpkg executable and its data files (e.g. ports) by setting it to false. Default is true. Set this input to false when the vcpkg's executable is not delivered as a prebuilt file upon bootstrapping vcpkg. This does not disable vcpkg's binary cache which is always on and can be controlled by the user with the env var VCPKG_BINARY_SOURCES."
# The following inputs are rarely set by the user, since the default values suffice the most common scenarios.
vcpkgJsonGlob:
default: '**/vcpkg.json'
required: false
description: "Specify the glob expression used to discover the vcpkg.json whose content's hash is added to the cache key. On Windows runners using `github.workspace` context to form the expression would not work as expected since it contains backslashes. Use instead `**/path/to/vcpkg.json` to match the desired `vcpkg.json` file."
vcpkgJsonIgnores:
default: "['**/vcpkg/**']"
required: false
description: "Specify an array of string containing the pattenrs to be ignored when searching for the vcpkg.json file. The default value ignores the pattern '**/vcpkg/**'"
vcpkgConfigurationJsonGlob:
default: '**/vcpkg-configuration.json'
required: false
description: "When the vcpkgGitCommitId input is not provided by the user, this glob expression is used to locate the vcpkg-configuration.json file which contains the commit id of the builtin baseline. On Windows GitHub runners do not use `github.workspace` context expression to form the value of this input, since it contains backslashes and it will eventually fail. Use instead `**/path/to/vcpkg-configuration.json` to match the desired `vcpkg-configuration.json` file."
binaryCachePath:
required: false
description: "Specify a path to store the built packages to be cached with the GitHub cache service. Default is '<runnerWorkspace>/b/vcpkg_cache'."
runVcpkgFormatString:
default: '[`install`, `--recurse`, `--clean-after-build`, `--x-install-root`, `$[env.VCPKG_INSTALLED_DIR]`, `--triplet`, `$[env.VCPKG_DEFAULT_TRIPLET]`]'
required: false
description: "Specify the command line to run vcpkg with. This is only useful when the input 'runVcpkgInstall' is set to true."
useShell:
default: true
required: false
description: "Specify which shell to be used when launching commands. 'true' means the default shell is used. 'false' means no shell is used. It also can be an absolute path and arguments of the shell to spawn commands with."
logCollectionRegExps:
default: "\\s*\"(.+CMakeOutput\\.log)\"\\.\\s*;\\s*\"(.+CMakeError\\.log)\"\\.\\s*;\\s*(.+out\\.log)\\s*;\\s+(.+err\\.log)\\s*;\\s*(.+vcpkg.+\\.log)\\s*"
required: false
description: "Specifies a semicolon separated list of regular expressions that are used to identify log file paths in the workflow output. A regular expression must have a single capturing group, that is a single pair of parenthesis such as 'See also (.+.log)'. When a match occurs, the content of the file is written into the workflow output for disclosing its content to the user. The default regular expressions are for CMake's and vcpkg's log files."
runs:
using: 'node20'
main: 'dist/index.js'
branding:
icon: 'terminal'
color: 'green'