![]() |
||
---|---|---|
.github | ||
docs | ||
packages | ||
res | ||
scripts | ||
.eslintignore | ||
.eslintrc.json | ||
.gitignore | ||
.prettierignore | ||
.prettierrc.json | ||
CODEOWNERS | ||
CODE_OF_CONDUCT.md | ||
LICENSE.md | ||
README.md | ||
SECURITY.md | ||
jest.config.js | ||
lerna.json | ||
nx.json | ||
package-lock.json | ||
package.json | ||
tsconfig.eslint.json | ||
tsconfig.json |
README.md
GitHub Actions Toolkit
The GitHub Actions Toolkit provides a set of packages to make creating actions easier.
Get started with the TypeScript Action Template!
Packages
✔️ @actions/core
Provides functions for managing inputs, outputs, results, logging, secrets and variables.
npm install @actions/core
🏃 @actions/exec
Provides functions to run CLI tools and process output.
npm install @actions/exec
🍨 @actions/glob
Provides functions to search for files matching glob patterns.
npm install @actions/glob
☎️ @actions/http-client
Provides a lightweight HTTP client optimized for building actions.
npm install @actions/http-client
✏️ @actions/io
Provides disk I/O functions like cp
, mv
, rmRF
, which
, etc.
npm install @actions/io
🔨 @actions/tool-cache
Provides functions for downloading and caching tools (e.g. setup-*
actions). See @actions/cache
for caching workflow dependencies.
npm install @actions/tool-cache
:octocat: @actions/github
Provides an Octokit client hydrated with the context of the current workflow run.
npm install @actions/github
💾 @actions/artifact
Provides functions to interact with artifacts.
npm install @actions/artifact
🎯 @actions/cache
Provides functions to cache dependencies and build outputs to improve workflow run duration.
npm install @actions/cache
Creating Custom GitHub Actions
You can build Docker container, JavaScript, and composite actions.
➰ Using release management for actions
This section explains how you can use release management to distribute updates to your actions in a predictable way.
Problem Matchers are a way to scan the output of actions for a specified regular expression pattern and surface that information prominently in the UI.
⚠️ Using a proxy server with self-hosted runners
You can configure self-hosted runners to use a proxy server to communicate with GitHub.
Templates and Examples
actions/typescript-action
Template action written in TypeScript with compilation, tests, linting, publishing, and versioning.
action/javascript-action
Template action written in JavaScript with compilation, tests, linting, publishing, and versioning.
actions/container-action
Template action deployed as a Docker conatiner with compilation, tests, linting, publishing, and versioning.
actions/container-toolkit-action
Template action deployed as a Docker conatiner with compilation, tests, linting, publishing, and versioning. Demonstrates using the GitHub Actions Toolkit within custom actions.
actions/container-prebuilt-action
Template action deployed as a Docker conatiner with compilation, tests, linting, publishing, and versioning. Demonstrates reduced workflow run duration using prebuilt container images.
actions/hello-world-javascript-action
Illustrates how to create a simple Hello, World! action written in JavaScript.
actions/hello-world-docker-action
Illustrates how to create a simple Hello, World! action written as a Docker container.
Contributing
We welcome contributions! See how to contribute.
Code of Conduct
See our code of conduct.