You can also export variables for future steps. Variables get set in the environment.
```js
constcore=require('@actions/core');
// Do stuff
core.exportVariable('envVar','Val');
```
#### PATH Manipulation
You can explicitly add items to the path for all remaining steps in a workflow:
```js
constcore=require('@actions/core');
core.addPath('pathToTool');
```
#### Exit codes
You should use this library to set the failing exit code for your action:
```js
constcore=require('@actions/core');
try{
// Do stuff
}
catch(err){
// setFailed logs the message and sets a failing exit code
core.setFailed(`Action failed with error ${err}`);
}
```
#### Logging
Finally, this library provides some utilities for logging. Note that debug logging is hidden from the logs by default. This behavior can be toggled by enabling the [Step Debug Logs](../../docs/action-debugging.md#step-debug-logs).
```js
constcore=require('@actions/core');
constmyInput=core.getInput('input');
try{
core.debug('Inside try block');
if(!myInput){
core.warning('myInput was not set');
}
// Do stuff
}
catch(err){
core.error(`Error ${err}, action may still succeed though`);
}
```
This library can also wrap chunks of output in foldable groups.