{"id":16874558,"url":"https://github.com/joway/flying","last_synced_at":"2025-04-11T11:24:59.444Z","repository":{"id":48545358,"uuid":"133133208","full_name":"joway/flying","owner":"joway","description":"Make release easy again .","archived":false,"fork":false,"pushed_at":"2021-07-20T21:14:22.000Z","size":20,"stargazers_count":7,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T07:51:09.199Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joway.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-12T09:45:26.000Z","updated_at":"2021-08-06T06:48:07.000Z","dependencies_parsed_at":"2022-09-26T19:53:09.428Z","dependency_job_id":null,"html_url":"https://github.com/joway/flying","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joway%2Fflying","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joway%2Fflying/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joway%2Fflying/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joway%2Fflying/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joway","download_url":"https://codeload.github.com/joway/flying/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248382725,"owners_count":21094562,"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":[],"created_at":"2024-10-13T15:33:15.466Z","updated_at":"2025-04-11T11:24:59.417Z","avatar_url":"https://github.com/joway.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flying\n\n![PyPI](https://img.shields.io/pypi/v/flying.svg)\n\n## Purpose\n\nMake release easy again .\n\n### Features\n1. git tag\n2. npm publish\n3. docker build \u0026\u0026 push\n4. pypi build \u0026\u0026 upload\n\n## Example\n\n[https://github.com/joway/flying-example](https://github.com/joway/flying-example)\n\n## Install\n\n```shell\npip install -U flying\n```\n\n## Usage\n\n### init\n\nCreate `flying.json` template\n\n```shell\nflying init .\n```\n\n### commit\n\nBeautify git commit message\n\n```shell\nflying commit [commit_type] [commit_message]\n\neg:\n    flying commit feature 'some feature description'\n    ==\u003e\n    git commit -m '[✨feature]: some feature description'\n```\n\n#### commit-type choice:\n\n```json\n{\n    \"feature\": \"✨feature\",\n    \"bugfix\": \"🐛bugfix\",\n    \"hotfix\": \"🚑hotfix\",\n    \"docs\": \"📚docs\",\n    \"style\": \"🎨style\",\n    \"refactor\": \"🏗️refactor\",\n    \"test\": \"✅test\",\n    \"chore\": \"🔨chore\",\n    \"release\": \"🎉release\",\n    \"text\": \"📝text\",\n    \"addlog\": \"🔉add log\",\n    \"dellog\": \"🔇delete log\",\n}\n```\n\n\n### release\n\nRelease current version which set in flying.json .\n\n```shell\nflying release\n```\n\nAutomatically upgrade version (+0.0.1) \n\n```shell\nflying release --upgrade\n```\n\n## Configuration\n\n### Quick View\n\nTemplate : `flying.json` \n\n```json\n{\n  \"name\": \"flying-example\",\n  \"version\": \"0.0.8\",\n  \"version_prefix\": \"v\",\n  \"conditions\": [\n    \"git status | grep \\\"nothing to commit, working tree clean\\\"\"\n  ],\n  \"pre_release\": [\n    \"cat ./flying.json\"\n  ],\n  \"git\": {\n    \"enable\": true,\n    \"remote\": \"origin\",\n  },\n  \"docker\": {\n    \"enable\": true,\n    \"namespace\": \"joway/flying-example\",\n    \"dkf_path\": \"./Dockerfile\"\n  },\n  \"npm\": {\n    \"enable\": true,\n    \"package_path\": \"./package.json\"\n  },\n  \"pypi\": {\n    \"enable\": false,\n    \"build_cmd\": \"python setup.py sdist\",\n    \"upload_cmd\": \"twine upload dist/*\"\n  }\n}\n```\n\n### version\n\n`version_prefix + version` will be set as a tag for git and docker\n\n### conditions\n\n`conditions` is a shell commonds list , flying will check if every commond has a non-empty out . If not , it will exit without any release .\n\nFor Example , when you set :\n\n```json\n  \"conditions\": [\n    \"git status | grep \\\"nothing to commit, working tree clean\\\"\"\n  ],\n```\n\nIf your project has any un-commited file changes , it will be blocked .\n\n### pre_release\n\n`pre_release` is a shell commonds list , it will be exec before release jobs start .\n\nFor example , you can set this line if you are using webpack :\n\n```json\n\"pre_release\": [\"npm run build\"]\n```\n\n### git\n\nPush new version tag to git remote server .\n\n### docker\n\n- `namespace`: For example , set it to 'joway/flying-example' , it will push docker image as `joway/flying-example:vx.x.x` (if version_prefix = \"v\") . \n- `dkf_path` : Dockerfile's path relative to the project root dir .\n\n### npm\n\n- `package_path`: package.json's path relative to the project root dir .\n- `upgrade_version_enable`: if set `true` , it will automatically upgrade `package.json[version]` when exec `flying release --upgrade`\n\n### pypi\n\nCustom your own build \u0026\u0026 upload commond by set `build_cmd` and `upload_cmd`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoway%2Fflying","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoway%2Fflying","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoway%2Fflying/lists"}