This is a monorepo containing a collection of GitHub Actions maintained by LizardByte.
| Action | Description | Type | Language |
|---|---|---|---|
| audit_repos | Audit repositories in an organization | composite | javascript |
| facebook_post | Post to Facebook page/group using Graph API | docker | python |
| monitor_space | Monitor and track minimum free disk space | composite | bash |
| more_space | Free up disk space in GitHub Actions runners | composite | bash |
| release_changelog | Generate a changelog for the latest release | composite | javascript |
| release_create | Create a new release | composite | bash, javascript |
| release_homebrew | Validate and update Homebrew formula | composite | bash, python |
| release_setup | Prepare a release | docker | python |
| setup_python | Set up Python environment | composite | bash |
Contributions are welcome! See our Contributor's Guide.
This repo has two workflows to test the actions:
- ci.yml
- A matrix is generated for each action based on the
ci-matrix.jsonfile in the action's directory. To add or remove a matrix, edit theci-matrix.jsonfile. - Each action should have at least one matrix defined.
- If anything needs run before the action is run, create a
pre-ci.shfile in the action's directory. - If anything needs run after the action is run, create a
post-ci.shfile in the action's directory.
- A matrix is generated for each action based on the
- ci-tests.yml
- This workflow runs unit tests for the repo using pytest and Jest.
- Tests should 100% cover JavaScript and Python code.
This repo has two types of actions:
- Docker: These actions are run in a Docker container. They should have a
Dockerfilein the action's directory. - Composite: These actions are run as a series of steps in the workflow.
Additional action types can be used if necessary.
This repo has three languages used for actions:
- Bash: Used in portions of composite actions.
- JavaScript: Used in portions of composite actions.
- Python: Used in Docker actions and composite actions.
Additional languages can be used if necessary.
This repository is licensed under the MIT License. Individual actions may be licensed under a different license if specified in their respective directories.