/toolkit

The GitHub ToolKit for developing GitHub Actions.

Primary LanguageTypeScriptMIT LicenseMIT

GitHub Actions status

GitHub Actions Toolkit

The GitHub Actions ToolKit provides a set of packages to make creating actions easier and drive consistency.

Packages

The toolkit provides five separate packages. See the docs for each 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.