Metadata-Version: 2.1
Name: action-updater
Version: 0.0.11
Summary: Update deprecated command, versions, and other for GitHub actions
Home-page: https://github.com/vsoch/action-updater
Author: Vanessa Sochat
Author-email: vsoch@users.noreply.github.com
Maintainer: Vanessa Sochat
License: LICENSE
Keywords: github,actions,updater
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development
Classifier: Topic :: Scientific/Engineering
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pipelib
Requires-Dist: jsonschema
Requires-Dist: ruamel.yaml
Requires-Dist: rich
Requires-Dist: pyyaml
Requires-Dist: requests
Requires-Dist: packaging
Provides-Extra: all
Requires-Dist: pipelib ; extra == 'all'
Requires-Dist: jsonschema ; extra == 'all'
Requires-Dist: ruamel.yaml ; extra == 'all'
Requires-Dist: rich ; extra == 'all'
Requires-Dist: pyyaml ; extra == 'all'
Requires-Dist: requests ; extra == 'all'
Requires-Dist: packaging ; extra == 'all'
Requires-Dist: pytest (>=4.6.2) ; extra == 'all'

# 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-1-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 ⭐️

### 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.

       Vanessasaurus
Vanessasaurus (https://vsoch.github.io)
💻 (https://github.com/vsoch/action-updater/commits?author=vsoch)

## License

This code is licensed under the MPL 2.0 [LICENSE](LICENSE).
