Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vsoch/action-updater
Update your GitHub actions' versions, syntax, and other!
https://github.com/vsoch/action-updater
actions format github-actions linting yaml
Last synced: about 1 month ago
JSON representation
Update your GitHub actions' versions, syntax, and other!
- Host: GitHub
- URL: https://github.com/vsoch/action-updater
- Owner: vsoch
- License: mpl-2.0
- Created: 2022-10-22T22:43:20.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2022-11-05T03:22:37.000Z (about 2 years ago)
- Last Synced: 2024-09-16T10:34:03.903Z (2 months ago)
- Topics: actions, format, github-actions, linting, yaml
- Language: Python
- Homepage: https://vsoch.github.io/action-updater/
- Size: 5.6 MB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Action Updater
[![PyPI version](https://badge.fury.io/py/action-updater.svg)](https://badge.fury.io/py/action-updater)
[![main](https://github.com/vsoch/action-updater/actions/workflows/main.yml/badge.svg)](https://github.com/vsoch/action-updater/actions/workflows/main.yml)![docs/assets/img/logo/action-updater-small.png](docs/assets/img/logo/action-updater-small.png)
[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-)
The actions updater will make it easy to update actions:
- 🥑 updated syntax and commands
- 🥑 versions of actions, either for releases or commits
- 🥑 preview, write to new file, or write in place!
- 🥑 run as a GitHub action workflow for annual checks!You can see the [⭐️ Documentation ⭐️](https://vsoch.github.io/action-updater) for complete details!
## ⭐️ Quick Start ⭐️
### Installation
The module is available in pypi as [action-updater](https://pypi.org/project/action-updater/),
and to install we first recommend some kind of virtual environment:```bash
$ python -m venv env
$ source env/bin/activate
```And then install from pypi using pip:
```bash
$ pip install action-updater
```### Usage
For all commands below, the actions updater can accept a directory with yaml files,
or a single yaml file that matches the GitHub actions schema.View updaters available (and descriptions)
```bash
$ action-updater list-updaters
```
You should likely detect (to preview) before you write the changes to file.```bash
# Run all updaters
$ action-updater detect .github/workfows/main.yaml# Only detect for the setoutput updater
$ action-updater detect -u setoutput .github/workfows/main.yaml
```
And finally, write updates to file!```bash
$ action-updater update .github/workfows/main.yaml
```### 🎨 Screenshots 🎨
If a file has updates, it will print to the terminal the updated file for preview.
![docs/assets/img/detect.png](docs/assets/img/detect.png)
And after you run `update` (described below) you will see all green!
![docs/assets/img/clean.png](docs/assets/img/clean.png)
Running across many files:
![docs/assets/img/updates.png](docs/assets/img/updates.png)
And that's it! The action comes with several [updaters](https://vsoch.github.io/action-updater/developer-guide.html#updaters) that will look
for particular aspects to lint or update. If you have a request for a new updated, please
[open an issue](https://github.com/vsoch/action-updater/issues).### Feature Ideas
This could be fairly easy to extend to allow for more "linting" style actions to reflect preferences in style, e.g:
```bash
$ action-updater lint .github/workflows/main.yaml
```If this sounds interesting to you, please [open an issue](https://github.com/vsoch/action-updater) to discuss further!
We currently do some basic linting, as the yaml loading library has preferences for saving with respect to spacing, etc.## 😁️ Contributors 😁️
We use the [all-contributors](https://github.com/all-contributors/all-contributors)
tool to generate a contributors graphic below.## License
This code is licensed under the MPL 2.0 [LICENSE](LICENSE).