5e3e440c7f | ||
---|---|---|
.github/workflows | ||
docs | ||
packages | ||
res | ||
scripts | ||
.eslintignore | ||
.eslintrc.json | ||
.gitignore | ||
.prettierignore | ||
.prettierrc.json | ||
LICENSE.md | ||
README.md | ||
jest.config.js | ||
lerna.json | ||
package-lock.json | ||
package.json | ||
tsconfig.json |
README.md
Toolkit
The toolkit provides a set of packages to make creating actions easier and drive consistency.
Packages
The toolkit provides five separate packages. Since actions are run by pulling actions from the github graph, dependencies including the packages are vendored into your action.
Package | Description |
---|---|
@actions/core | Core functions for getting inputs, setting outputs, setting results, logging, secrets and environment variables |
@actions/exec | Functions necessary for running tools on the command line |
@actions/io | Core functions for CLI filesystem scenarios |
@actions/tool-cache | Functions necessary for downloading and caching tools |
@actions/github | An Octokit client hydrated with the context that the current action is being run in |
Creating an Action with the Toolkit
Actions are units of work which can either run in a container or on the host machine.
Choosing an action type: Outlines the differences and why you would want to create a host or a container based action.
JavaScript Action Walkthrough: A full walkthrough creating an action using the toolkit along with TypeScript and Jest for unit testing. It also covers a branching strategy for versioning and safely testing and releasing an action.
Docker Action Walkthrough: Create an action that is delivered as a container and run with docker.
Docker Action Walkthrough with Octokit: Create an action that is delivered as a container which uses the toolkit. This example uses the GitHub context to construct an Octokit client.
Versioning: Recommendations on versioning, releases and tagging your action.
Contributing
We welcome contributions. See how to contribute.