newrelic_rpm 6.13.1 → 7.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +247 -0
  4. data/CONTRIBUTING.md +13 -2
  5. data/README.md +2 -2
  6. data/lib/new_relic/agent.rb +6 -8
  7. data/lib/new_relic/agent/agent.rb +4 -5
  8. data/lib/new_relic/agent/audit_logger.rb +10 -0
  9. data/lib/new_relic/agent/autostart.rb +1 -2
  10. data/lib/new_relic/agent/configuration/default_source.rb +462 -221
  11. data/lib/new_relic/agent/configuration/manager.rb +3 -3
  12. data/lib/new_relic/agent/connect/request_builder.rb +4 -2
  13. data/lib/new_relic/agent/database_adapter.rb +33 -0
  14. data/lib/new_relic/agent/datastores/redis.rb +0 -4
  15. data/lib/new_relic/agent/distributed_tracing.rb +0 -66
  16. data/lib/new_relic/agent/distributed_tracing/cross_app_tracing.rb +2 -2
  17. data/lib/new_relic/agent/error_collector.rb +52 -37
  18. data/lib/new_relic/agent/error_filter.rb +167 -0
  19. data/lib/new_relic/agent/instrumentation/action_view_subscriber.rb +4 -5
  20. data/lib/new_relic/agent/instrumentation/active_record_helper.rb +21 -68
  21. data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +0 -16
  22. data/lib/new_relic/agent/instrumentation/active_record_prepend.rb +23 -57
  23. data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +1 -3
  24. data/lib/new_relic/agent/instrumentation/acts_as_solr.rb +0 -15
  25. data/lib/new_relic/agent/instrumentation/bunny.rb +10 -196
  26. data/lib/new_relic/agent/instrumentation/bunny/chain.rb +45 -0
  27. data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +152 -0
  28. data/lib/new_relic/agent/instrumentation/bunny/prepend.rb +35 -0
  29. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +1 -0
  30. data/lib/new_relic/agent/instrumentation/curb.rb +9 -259
  31. data/lib/new_relic/agent/instrumentation/curb/chain.rb +93 -0
  32. data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +222 -0
  33. data/lib/new_relic/agent/instrumentation/curb/prepend.rb +63 -0
  34. data/lib/new_relic/agent/instrumentation/delayed_job/chain.rb +38 -0
  35. data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +53 -0
  36. data/lib/new_relic/agent/instrumentation/delayed_job/prepend.rb +34 -0
  37. data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +8 -84
  38. data/lib/new_relic/agent/instrumentation/excon.rb +2 -1
  39. data/lib/new_relic/agent/instrumentation/grape.rb +13 -113
  40. data/lib/new_relic/agent/instrumentation/grape/chain.rb +25 -0
  41. data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +100 -0
  42. data/lib/new_relic/agent/instrumentation/grape/prepend.rb +17 -0
  43. data/lib/new_relic/agent/instrumentation/httpclient.rb +8 -30
  44. data/lib/new_relic/agent/instrumentation/httpclient/chain.rb +25 -0
  45. data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +38 -0
  46. data/lib/new_relic/agent/instrumentation/httpclient/prepend.rb +17 -0
  47. data/lib/new_relic/agent/instrumentation/httprb.rb +29 -0
  48. data/lib/new_relic/agent/instrumentation/httprb/chain.rb +22 -0
  49. data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +30 -0
  50. data/lib/new_relic/agent/instrumentation/httprb/prepend.rb +15 -0
  51. data/lib/new_relic/agent/instrumentation/memcache.rb +54 -69
  52. data/lib/new_relic/agent/instrumentation/memcache/chain.rb +16 -0
  53. data/lib/new_relic/agent/instrumentation/memcache/dalli.rb +38 -121
  54. data/lib/new_relic/agent/instrumentation/memcache/helper.rb +56 -0
  55. data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +88 -0
  56. data/lib/new_relic/agent/instrumentation/memcache/prepend.rb +88 -0
  57. data/lib/new_relic/agent/instrumentation/middleware_proxy.rb +4 -10
  58. data/lib/new_relic/agent/instrumentation/mongo.rb +7 -0
  59. data/lib/new_relic/agent/instrumentation/net_http.rb +44 -0
  60. data/lib/new_relic/agent/instrumentation/net_http/chain.rb +25 -0
  61. data/lib/new_relic/agent/instrumentation/net_http/instrumentation.rb +40 -0
  62. data/lib/new_relic/agent/instrumentation/net_http/prepend.rb +21 -0
  63. data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +1 -1
  64. data/lib/new_relic/agent/instrumentation/padrino.rb +18 -75
  65. data/lib/new_relic/agent/instrumentation/padrino/chain.rb +34 -0
  66. data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +27 -0
  67. data/lib/new_relic/agent/instrumentation/padrino/prepend.rb +20 -0
  68. data/lib/new_relic/agent/instrumentation/rack.rb +29 -160
  69. data/lib/new_relic/agent/instrumentation/rack/chain.rb +58 -0
  70. data/lib/new_relic/agent/instrumentation/rack/helpers.rb +32 -0
  71. data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +73 -0
  72. data/lib/new_relic/agent/instrumentation/rack/prepend.rb +37 -0
  73. data/lib/new_relic/agent/instrumentation/rake.rb +13 -188
  74. data/lib/new_relic/agent/instrumentation/rake/chain.rb +25 -0
  75. data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +144 -0
  76. data/lib/new_relic/agent/instrumentation/rake/prepend.rb +14 -0
  77. data/lib/new_relic/agent/instrumentation/redis.rb +12 -186
  78. data/lib/new_relic/agent/instrumentation/redis/chain.rb +34 -0
  79. data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +65 -0
  80. data/lib/new_relic/agent/instrumentation/redis/prepend.rb +24 -0
  81. data/lib/new_relic/agent/instrumentation/resque.rb +21 -32
  82. data/lib/new_relic/agent/instrumentation/resque/chain.rb +22 -0
  83. data/lib/new_relic/agent/instrumentation/resque/helper.rb +19 -0
  84. data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +35 -0
  85. data/lib/new_relic/agent/instrumentation/resque/prepend.rb +16 -0
  86. data/lib/new_relic/agent/instrumentation/sidekiq.rb +1 -1
  87. data/lib/new_relic/agent/instrumentation/sinatra.rb +20 -198
  88. data/lib/new_relic/agent/instrumentation/sinatra/chain.rb +55 -0
  89. data/lib/new_relic/agent/instrumentation/sinatra/ignorer.rb +29 -34
  90. data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +124 -0
  91. data/lib/new_relic/agent/instrumentation/sinatra/prepend.rb +33 -0
  92. data/lib/new_relic/agent/instrumentation/typhoeus.rb +10 -89
  93. data/lib/new_relic/agent/instrumentation/typhoeus/chain.rb +22 -0
  94. data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +82 -0
  95. data/lib/new_relic/agent/instrumentation/typhoeus/prepend.rb +14 -0
  96. data/lib/new_relic/agent/javascript_instrumentor.rb +12 -7
  97. data/lib/new_relic/agent/method_tracer.rb +6 -16
  98. data/lib/new_relic/agent/new_relic_service.rb +16 -13
  99. data/lib/new_relic/agent/samplers/memory_sampler.rb +1 -1
  100. data/lib/new_relic/agent/span_event_primitive.rb +10 -8
  101. data/lib/new_relic/agent/sql_sampler.rb +3 -3
  102. data/lib/new_relic/agent/stats_engine/gc_profiler.rb +1 -1
  103. data/lib/new_relic/agent/transaction.rb +1 -4
  104. data/lib/new_relic/agent/transaction/abstract_segment.rb +1 -1
  105. data/lib/new_relic/agent/transaction/distributed_tracer.rb +12 -6
  106. data/lib/new_relic/agent/transaction/message_broker_segment.rb +1 -0
  107. data/lib/new_relic/agent/vm/mri_vm.rb +6 -4
  108. data/lib/new_relic/cli/commands/deployments.rb +0 -1
  109. data/lib/new_relic/constants.rb +4 -0
  110. data/lib/new_relic/control/frameworks/rails.rb +11 -9
  111. data/lib/new_relic/control/instance_methods.rb +1 -0
  112. data/lib/new_relic/dependency_detection.rb +119 -9
  113. data/lib/new_relic/environment_report.rb +1 -7
  114. data/lib/new_relic/noticed_error.rb +4 -8
  115. data/lib/new_relic/supportability_helper.rb +3 -2
  116. data/lib/new_relic/version.rb +3 -3
  117. data/lib/tasks/config.html.erb +14 -25
  118. data/lib/tasks/config.rake +8 -7
  119. data/newrelic_rpm.gemspec +2 -2
  120. data/test/agent_helper.rb +1 -0
  121. metadata +56 -32
  122. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -31
  123. data/.github/ISSUE_TEMPLATE/config.yml +0 -5
  124. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -24
  125. data/.github/actions/annotate/README.md +0 -79
  126. data/.github/actions/annotate/action.yml +0 -6
  127. data/.github/actions/annotate/dist/index.js +0 -433
  128. data/.github/actions/annotate/index.js +0 -25
  129. data/.github/actions/annotate/package-lock.json +0 -172
  130. data/.github/actions/annotate/package.json +0 -30
  131. data/.github/actions/annotate/pre-commit +0 -5
  132. data/.github/actions/build-ruby/README.md +0 -79
  133. data/.github/actions/build-ruby/action.yml +0 -15
  134. data/.github/actions/build-ruby/dist/index.js +0 -52683
  135. data/.github/actions/build-ruby/index.js +0 -514
  136. data/.github/actions/build-ruby/package-lock.json +0 -581
  137. data/.github/actions/build-ruby/package.json +0 -32
  138. data/.github/actions/build-ruby/pre-commit +0 -5
  139. data/.github/pull_request_template.md +0 -16
  140. data/.github/workflows/ci.yml +0 -212
  141. data/.github/workflows/pr_review_checklist.yml +0 -22
  142. data/.github/workflows/release.yml +0 -78
  143. data/.github/workflows/scripts/rubygems-authenticate.py +0 -13
  144. data/.github/workflows/scripts/rubygems-publish.rb +0 -32
  145. data/.github/workflows/snyk.yml +0 -27
  146. data/.github/workflows/stale.yml +0 -21
  147. data/cert/cacert.pem +0 -1177
  148. data/lib/new_relic/agent/instrumentation/http.rb +0 -49
  149. data/lib/new_relic/agent/instrumentation/net.rb +0 -87
@@ -1,79 +0,0 @@
1
-
2
- # Install Node
3
-
4
- Using Homebrew, install Node (npm will be installed with Node):
5
-
6
- ```
7
- brew install node
8
- ```
9
-
10
- # Install Yarn
11
-
12
- Yarn provides dependency management, so install it:
13
-
14
- ```
15
- brew install yarn
16
- ```
17
-
18
- # Install NCC
19
-
20
- NCC is used to compile the *.js into a dist/index.js
21
-
22
- ```
23
- npm i -g @zeit/ncc
24
- ```
25
-
26
- # Build the dist/index.js
27
-
28
- ```
29
- yarn run package
30
- ```
31
-
32
- # Installing new javascript packages
33
-
34
- Adding new javascript packages is fairly straightforward. If you're adding a github @actions/xxx package,
35
- simply refer to it by its short-hand name:
36
-
37
- ```
38
- npm install @actions/core
39
- ```
40
-
41
- # Optional pre-commit hook
42
-
43
- A pre-commit hook is provided that can help keep dist/index.js in tune with local changes
44
-
45
-
46
- # Using Node as a REPL
47
-
48
- If you're developing or working on the index.js script, it can be handy to try out stuff
49
- locally. To do that, use Node to start up a REPL shell by running it from the action's folder:
50
-
51
- ```
52
- cd .github/workflow/actions/annotate
53
- node
54
- ```
55
-
56
- Example session:
57
-
58
- ```javascript
59
- Welcome to Node.js v14.3.0.
60
- Type ".help" for more information.
61
- > const os = require('os')
62
- undefined
63
- > const fs = require('fs')
64
- undefined
65
- > const path = require('path')
66
- undefined
67
- >
68
- > const core = require('@actions/core')
69
- undefined
70
- > core.startGroup("hello")
71
- ::group::hello
72
- undefined
73
- > console.debug("hello")
74
- hello
75
- undefined
76
- > core.endGroup()
77
- ::endgroup::
78
- undefined
79
- ```
@@ -1,6 +0,0 @@
1
- name: 'Annotate Errors'
2
- description: 'Annotates errors if an errrors.txt file is present'
3
- author: New Relic
4
- runs:
5
- using: 'node12'
6
- main: 'dist/index.js'
@@ -1,433 +0,0 @@
1
- module.exports =
2
- /******/ (function(modules, runtime) { // webpackBootstrap
3
- /******/ "use strict";
4
- /******/ // The module cache
5
- /******/ var installedModules = {};
6
- /******/
7
- /******/ // The require function
8
- /******/ function __webpack_require__(moduleId) {
9
- /******/
10
- /******/ // Check if module is in cache
11
- /******/ if(installedModules[moduleId]) {
12
- /******/ return installedModules[moduleId].exports;
13
- /******/ }
14
- /******/ // Create a new module (and put it into the cache)
15
- /******/ var module = installedModules[moduleId] = {
16
- /******/ i: moduleId,
17
- /******/ l: false,
18
- /******/ exports: {}
19
- /******/ };
20
- /******/
21
- /******/ // Execute the module function
22
- /******/ var threw = true;
23
- /******/ try {
24
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
25
- /******/ threw = false;
26
- /******/ } finally {
27
- /******/ if(threw) delete installedModules[moduleId];
28
- /******/ }
29
- /******/
30
- /******/ // Flag the module as loaded
31
- /******/ module.l = true;
32
- /******/
33
- /******/ // Return the exports of the module
34
- /******/ return module.exports;
35
- /******/ }
36
- /******/
37
- /******/
38
- /******/ __webpack_require__.ab = __dirname + "/";
39
- /******/
40
- /******/ // the startup function
41
- /******/ function startup() {
42
- /******/ // Load entry module and return exports
43
- /******/ return __webpack_require__(305);
44
- /******/ };
45
- /******/
46
- /******/ // run startup
47
- /******/ return startup();
48
- /******/ })
49
- /************************************************************************/
50
- /******/ ({
51
-
52
- /***/ 87:
53
- /***/ (function(module) {
54
-
55
- module.exports = require("os");
56
-
57
- /***/ }),
58
-
59
- /***/ 305:
60
- /***/ (function(__unusedmodule, __unusedexports, __webpack_require__) {
61
-
62
- const fs = __webpack_require__(747)
63
- const core = __webpack_require__(968)
64
- const command = __webpack_require__(823)
65
-
66
- async function main() {
67
- const workspacePath = process.env.GITHUB_WORKSPACE
68
- const errorFilename = `${workspacePath}/errors.txt`
69
-
70
- try {
71
-
72
- if (fs.existsSync(errorFilename)) {
73
- let lines = fs.readFileSync(errorFilename).toString('utf8')
74
- command.issueCommand('error', undefined, lines)
75
- }
76
- else {
77
- core.info(`No ${errorFilename} present. Skipping!`)
78
- }
79
- }
80
- catch (error) {
81
- core.setFailed(`Action failed with error ${error}`)
82
- }
83
-
84
- }
85
-
86
- main()
87
-
88
-
89
- /***/ }),
90
-
91
- /***/ 622:
92
- /***/ (function(module) {
93
-
94
- module.exports = require("path");
95
-
96
- /***/ }),
97
-
98
- /***/ 747:
99
- /***/ (function(module) {
100
-
101
- module.exports = require("fs");
102
-
103
- /***/ }),
104
-
105
- /***/ 823:
106
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
107
-
108
- "use strict";
109
-
110
- var __importStar = (this && this.__importStar) || function (mod) {
111
- if (mod && mod.__esModule) return mod;
112
- var result = {};
113
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
114
- result["default"] = mod;
115
- return result;
116
- };
117
- Object.defineProperty(exports, "__esModule", { value: true });
118
- const os = __importStar(__webpack_require__(87));
119
- /**
120
- * Commands
121
- *
122
- * Command Format:
123
- * ::name key=value,key=value::message
124
- *
125
- * Examples:
126
- * ::warning::This is the message
127
- * ::set-env name=MY_VAR::some value
128
- */
129
- function issueCommand(command, properties, message) {
130
- const cmd = new Command(command, properties, message);
131
- process.stdout.write(cmd.toString() + os.EOL);
132
- }
133
- exports.issueCommand = issueCommand;
134
- function issue(name, message = '') {
135
- issueCommand(name, {}, message);
136
- }
137
- exports.issue = issue;
138
- const CMD_STRING = '::';
139
- class Command {
140
- constructor(command, properties, message) {
141
- if (!command) {
142
- command = 'missing.command';
143
- }
144
- this.command = command;
145
- this.properties = properties;
146
- this.message = message;
147
- }
148
- toString() {
149
- let cmdStr = CMD_STRING + this.command;
150
- if (this.properties && Object.keys(this.properties).length > 0) {
151
- cmdStr += ' ';
152
- let first = true;
153
- for (const key in this.properties) {
154
- if (this.properties.hasOwnProperty(key)) {
155
- const val = this.properties[key];
156
- if (val) {
157
- if (first) {
158
- first = false;
159
- }
160
- else {
161
- cmdStr += ',';
162
- }
163
- cmdStr += `${key}=${escapeProperty(val)}`;
164
- }
165
- }
166
- }
167
- }
168
- cmdStr += `${CMD_STRING}${escapeData(this.message)}`;
169
- return cmdStr;
170
- }
171
- }
172
- /**
173
- * Sanitizes an input into a string so it can be passed into issueCommand safely
174
- * @param input input to sanitize into a string
175
- */
176
- function toCommandValue(input) {
177
- if (input === null || input === undefined) {
178
- return '';
179
- }
180
- else if (typeof input === 'string' || input instanceof String) {
181
- return input;
182
- }
183
- return JSON.stringify(input);
184
- }
185
- exports.toCommandValue = toCommandValue;
186
- function escapeData(s) {
187
- return toCommandValue(s)
188
- .replace(/%/g, '%25')
189
- .replace(/\r/g, '%0D')
190
- .replace(/\n/g, '%0A');
191
- }
192
- function escapeProperty(s) {
193
- return toCommandValue(s)
194
- .replace(/%/g, '%25')
195
- .replace(/\r/g, '%0D')
196
- .replace(/\n/g, '%0A')
197
- .replace(/:/g, '%3A')
198
- .replace(/,/g, '%2C');
199
- }
200
- //# sourceMappingURL=command.js.map
201
-
202
- /***/ }),
203
-
204
- /***/ 968:
205
- /***/ (function(__unusedmodule, exports, __webpack_require__) {
206
-
207
- "use strict";
208
-
209
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
210
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
211
- return new (P || (P = Promise))(function (resolve, reject) {
212
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
213
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
214
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
215
- step((generator = generator.apply(thisArg, _arguments || [])).next());
216
- });
217
- };
218
- var __importStar = (this && this.__importStar) || function (mod) {
219
- if (mod && mod.__esModule) return mod;
220
- var result = {};
221
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
222
- result["default"] = mod;
223
- return result;
224
- };
225
- Object.defineProperty(exports, "__esModule", { value: true });
226
- const command_1 = __webpack_require__(823);
227
- const os = __importStar(__webpack_require__(87));
228
- const path = __importStar(__webpack_require__(622));
229
- /**
230
- * The code to exit an action
231
- */
232
- var ExitCode;
233
- (function (ExitCode) {
234
- /**
235
- * A code indicating that the action was successful
236
- */
237
- ExitCode[ExitCode["Success"] = 0] = "Success";
238
- /**
239
- * A code indicating that the action was a failure
240
- */
241
- ExitCode[ExitCode["Failure"] = 1] = "Failure";
242
- })(ExitCode = exports.ExitCode || (exports.ExitCode = {}));
243
- //-----------------------------------------------------------------------
244
- // Variables
245
- //-----------------------------------------------------------------------
246
- /**
247
- * Sets env variable for this action and future actions in the job
248
- * @param name the name of the variable to set
249
- * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify
250
- */
251
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
252
- function exportVariable(name, val) {
253
- const convertedVal = command_1.toCommandValue(val);
254
- process.env[name] = convertedVal;
255
- command_1.issueCommand('set-env', { name }, convertedVal);
256
- }
257
- exports.exportVariable = exportVariable;
258
- /**
259
- * Registers a secret which will get masked from logs
260
- * @param secret value of the secret
261
- */
262
- function setSecret(secret) {
263
- command_1.issueCommand('add-mask', {}, secret);
264
- }
265
- exports.setSecret = setSecret;
266
- /**
267
- * Prepends inputPath to the PATH (for this action and future actions)
268
- * @param inputPath
269
- */
270
- function addPath(inputPath) {
271
- command_1.issueCommand('add-path', {}, inputPath);
272
- process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;
273
- }
274
- exports.addPath = addPath;
275
- /**
276
- * Gets the value of an input. The value is also trimmed.
277
- *
278
- * @param name name of the input to get
279
- * @param options optional. See InputOptions.
280
- * @returns string
281
- */
282
- function getInput(name, options) {
283
- const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';
284
- if (options && options.required && !val) {
285
- throw new Error(`Input required and not supplied: ${name}`);
286
- }
287
- return val.trim();
288
- }
289
- exports.getInput = getInput;
290
- /**
291
- * Sets the value of an output.
292
- *
293
- * @param name name of the output to set
294
- * @param value value to store. Non-string values will be converted to a string via JSON.stringify
295
- */
296
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
297
- function setOutput(name, value) {
298
- command_1.issueCommand('set-output', { name }, value);
299
- }
300
- exports.setOutput = setOutput;
301
- /**
302
- * Enables or disables the echoing of commands into stdout for the rest of the step.
303
- * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.
304
- *
305
- */
306
- function setCommandEcho(enabled) {
307
- command_1.issue('echo', enabled ? 'on' : 'off');
308
- }
309
- exports.setCommandEcho = setCommandEcho;
310
- //-----------------------------------------------------------------------
311
- // Results
312
- //-----------------------------------------------------------------------
313
- /**
314
- * Sets the action status to failed.
315
- * When the action exits it will be with an exit code of 1
316
- * @param message add error issue message
317
- */
318
- function setFailed(message) {
319
- process.exitCode = ExitCode.Failure;
320
- error(message);
321
- }
322
- exports.setFailed = setFailed;
323
- //-----------------------------------------------------------------------
324
- // Logging Commands
325
- //-----------------------------------------------------------------------
326
- /**
327
- * Gets whether Actions Step Debug is on or not
328
- */
329
- function isDebug() {
330
- return process.env['RUNNER_DEBUG'] === '1';
331
- }
332
- exports.isDebug = isDebug;
333
- /**
334
- * Writes debug message to user log
335
- * @param message debug message
336
- */
337
- function debug(message) {
338
- command_1.issueCommand('debug', {}, message);
339
- }
340
- exports.debug = debug;
341
- /**
342
- * Adds an error issue
343
- * @param message error issue message. Errors will be converted to string via toString()
344
- */
345
- function error(message) {
346
- command_1.issue('error', message instanceof Error ? message.toString() : message);
347
- }
348
- exports.error = error;
349
- /**
350
- * Adds an warning issue
351
- * @param message warning issue message. Errors will be converted to string via toString()
352
- */
353
- function warning(message) {
354
- command_1.issue('warning', message instanceof Error ? message.toString() : message);
355
- }
356
- exports.warning = warning;
357
- /**
358
- * Writes info to log with console.log.
359
- * @param message info message
360
- */
361
- function info(message) {
362
- process.stdout.write(message + os.EOL);
363
- }
364
- exports.info = info;
365
- /**
366
- * Begin an output group.
367
- *
368
- * Output until the next `groupEnd` will be foldable in this group
369
- *
370
- * @param name The name of the output group
371
- */
372
- function startGroup(name) {
373
- command_1.issue('group', name);
374
- }
375
- exports.startGroup = startGroup;
376
- /**
377
- * End an output group.
378
- */
379
- function endGroup() {
380
- command_1.issue('endgroup');
381
- }
382
- exports.endGroup = endGroup;
383
- /**
384
- * Wrap an asynchronous function call in a group.
385
- *
386
- * Returns the same type as the function itself.
387
- *
388
- * @param name The name of the group
389
- * @param fn The function to wrap in the group
390
- */
391
- function group(name, fn) {
392
- return __awaiter(this, void 0, void 0, function* () {
393
- startGroup(name);
394
- let result;
395
- try {
396
- result = yield fn();
397
- }
398
- finally {
399
- endGroup();
400
- }
401
- return result;
402
- });
403
- }
404
- exports.group = group;
405
- //-----------------------------------------------------------------------
406
- // Wrapper action state
407
- //-----------------------------------------------------------------------
408
- /**
409
- * Saves state for current action, the state can only be retrieved by this action's post job execution.
410
- *
411
- * @param name name of the state to store
412
- * @param value value to store. Non-string values will be converted to a string via JSON.stringify
413
- */
414
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
415
- function saveState(name, value) {
416
- command_1.issueCommand('save-state', { name }, value);
417
- }
418
- exports.saveState = saveState;
419
- /**
420
- * Gets the value of an state set by this action's main execution.
421
- *
422
- * @param name name of the state to get
423
- * @returns string
424
- */
425
- function getState(name) {
426
- return process.env[`STATE_${name}`] || '';
427
- }
428
- exports.getState = getState;
429
- //# sourceMappingURL=core.js.map
430
-
431
- /***/ })
432
-
433
- /******/ });