mirror of
https://git.mirrors.martin98.com/https://github.com/actions/toolkit
synced 2025-11-18 14:51:07 +08:00
mechanical contribution requirements
Actions Toolkit 🛠
Packages
| Package | Description |
|---|---|
| @actions/core | Core functions for setting results, logging, secrets and environment variables |
| @actions/exec | Functions necessary for running tools on the command line |
| @actions/exit | Provides utilities for exiting from an action |
| @actions/io | Core functions for CLI filesystem scenarios |
| @actions/tool-cache | Functions necessary for downloading and caching tools |
| @actions/toolkit | A general-purpose toolkit for writing actions |
Development
This repository uses Lerna to manage multiple packages. Read the documentation there to begin contributing.
Note that before a PR will be accepted, you must ensure:
- all tests are passing
npm run formatreports no issuesnpm run lintreports no issues
Useful Scripts
npm run bootstrapThis runslerna bootstrapwhich will install dependencies in this repository's packages and cross-link packages where necessary.npm run buildThis compiles TypeScript code in each package (this is especially important if one package relies on changes in another when you're running tests). This is just an alias forlerna run tsc.npm run formatThis checks that formatting has been applied with Prettier.npm testThis runs all Jest tests in all packages in this repository.- If you need to run tests for only one package, you can pass normal Jest CLI options:
$ npm test -- packages/toolkit
- If you need to run tests for only one package, you can pass normal Jest CLI options:
npm run create-package [name]This runs a script that automates a couple of parts of creating a new package.
Creating a Package
- In a new branch, create a new Lerna package:
$ npm run create-package new-package
This will ask you some questions about the new package. Start with 0.0.0 as the first version (look generally at some of the other packages for how the package.json is structured).
- Add
tscscript to the new package's package.json file:
"scripts": {
"tsc": "tsc"
}
- Start developing 😄 and open a pull request.
Description
Languages
TypeScript
98.8%
JavaScript
0.8%
PowerShell
0.3%