{"id":17030272,"url":"https://github.com/vsoch/action-updater","last_synced_at":"2025-06-11T19:37:44.168Z","repository":{"id":61880870,"uuid":"556029806","full_name":"vsoch/action-updater","owner":"vsoch","description":"Update your GitHub actions' versions, syntax, and other!","archived":false,"fork":false,"pushed_at":"2022-11-05T03:22:37.000Z","size":5874,"stargazers_count":5,"open_issues_count":3,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-03T08:56:30.093Z","etag":null,"topics":["actions","format","github-actions","linting","yaml"],"latest_commit_sha":null,"homepage":"https://vsoch.github.io/action-updater/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vsoch.png","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","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"vsoch"}},"created_at":"2022-10-22T22:43:20.000Z","updated_at":"2024-08-03T20:34:44.000Z","dependencies_parsed_at":"2023-01-11T17:23:48.136Z","dependency_job_id":null,"html_url":"https://github.com/vsoch/action-updater","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/vsoch/action-updater","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Faction-updater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Faction-updater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Faction-updater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Faction-updater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vsoch","download_url":"https://codeload.github.com/vsoch/action-updater/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vsoch%2Faction-updater/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259325603,"owners_count":22841059,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","format","github-actions","linting","yaml"],"created_at":"2024-10-14T08:05:36.470Z","updated_at":"2025-06-11T19:37:44.142Z","avatar_url":"https://github.com/vsoch.png","language":"Python","funding_links":["https://github.com/sponsors/vsoch"],"categories":[],"sub_categories":[],"readme":"# Action Updater\n\n[![PyPI version](https://badge.fury.io/py/action-updater.svg)](https://badge.fury.io/py/action-updater)\n[![main](https://github.com/vsoch/action-updater/actions/workflows/main.yml/badge.svg)](https://github.com/vsoch/action-updater/actions/workflows/main.yml)\n\n![docs/assets/img/logo/action-updater-small.png](docs/assets/img/logo/action-updater-small.png)\n\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n\nThe actions updater will make it easy to update actions:\n\n - 🥑 updated syntax and commands\n - 🥑 versions of actions, either for releases or commits\n - 🥑 preview, write to new file, or write in place!\n - 🥑 run as a GitHub action workflow for annual checks!\n\nYou can see the [⭐️ Documentation ⭐️](https://vsoch.github.io/action-updater) for complete details!\n\n## ⭐️ Quick Start ⭐️\n\n### Installation\n\nThe module is available in pypi as [action-updater](https://pypi.org/project/action-updater/),\nand to install we first recommend some kind of virtual environment:\n\n```bash\n$ python -m venv env\n$ source env/bin/activate\n```\n\nAnd then install from pypi using pip:\n\n```bash\n$ pip install action-updater\n```\n\n### Usage\n\nFor all commands below, the actions updater can accept a directory with yaml files,\nor a single yaml file that matches the GitHub actions schema.\n\nView updaters available (and descriptions)\n\n```bash\n$ action-updater list-updaters\n```\nYou should likely detect (to preview) before you write the changes to file.\n\n```bash\n# Run all updaters\n$ action-updater detect .github/workfows/main.yaml\n\n# Only detect for the setoutput updater\n$ action-updater detect -u setoutput .github/workfows/main.yaml\n```\nAnd finally, write updates to file!\n\n```bash\n$ action-updater update .github/workfows/main.yaml\n```\n\n### 🎨 Screenshots 🎨\n\nIf a file has updates, it will print to the terminal the updated file for preview.\n\n![docs/assets/img/detect.png](docs/assets/img/detect.png)\n\nAnd after you run `update` (described below) you will see all green!\n\n![docs/assets/img/clean.png](docs/assets/img/clean.png)\n\nRunning across many files:\n\n![docs/assets/img/updates.png](docs/assets/img/updates.png)\n\nAnd that's it! The action comes with several [updaters](https://vsoch.github.io/action-updater/developer-guide.html#updaters) that will look\nfor particular aspects to lint or update. If you have a request for a new updated, please\n[open an issue](https://github.com/vsoch/action-updater/issues).\n\n### Feature Ideas\n\nThis could be fairly easy to extend to allow for more \"linting\" style actions to reflect preferences in style, e.g:\n\n```bash\n$ action-updater lint .github/workflows/main.yaml\n```\n\nIf this sounds interesting to you, please [open an issue](https://github.com/vsoch/action-updater) to discuss further!\nWe currently do some basic linting, as the yaml loading library has preferences for saving with respect to spacing, etc.\n\n## 😁️ Contributors 😁️\n\nWe use the [all-contributors](https://github.com/all-contributors/all-contributors)\ntool to generate a contributors graphic below.\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://vsoch.github.io\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/814322?v=4?s=100\" width=\"100px;\" alt=\"Vanessasaurus\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVanessasaurus\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/vsoch/action-updater/commits?author=vsoch\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.henrymike.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/11765982?v=4?s=100\" width=\"100px;\" alt=\"Mike Henry\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMike Henry\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/vsoch/action-updater/commits?author=mikemhenry\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\n## License\n\nThis code is licensed under the MPL 2.0 [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvsoch%2Faction-updater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvsoch%2Faction-updater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvsoch%2Faction-updater/lists"}