forked from lukka/run-vcpkg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
action.yml
79 lines (74 loc) · 4.3 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
71
72
73
74
75
76
77
78
79
# Copyright (c) 2019-2020-2021 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 package by running `vcpkg install` on the directory of the discovered 'vcpkg.json' file. Default is false."
appendedCacheKey:
required: false
description: "Specify a value to append to the cache key."
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."
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: false
required: false
description: "Disable the automatic caching mechanism by setting it to true. Default is false."
doNotCacheOnWorkflowFailure:
default: false
required: false
description: "Disable the saving of the cache if the workflow failed."
# 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."
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/**'"
binaryCachePath:
required: false
description: "Specify a path to store the built packages to be cached with the GitHub cache service. Default is '<vcpkgvcpkgDirectory>/bincache'."
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."
jobStatus:
default: ${{ job.status }}
required: false
description: "Do not set nor use. It is used to get the status of the job and decide whether to save cache on the post action run at the end of the job."
runs:
using: 'node12'
main: 'dist/index.js'
post: 'dist/post/index.js'
post-if: 'always()'
branding:
icon: 'terminal'
color: 'green'