Cli tools for manage releases
Project description
# Flying
![PyPI](https://img.shields.io/pypi/v/flying.svg)
## Purpose
Make release easy again .
### Features
1. git tag
2. npm publish
3. docker build && push
4. pypi build && upload
## Example
[https://github.com/joway/flying-example](https://github.com/joway/flying-example)
## Install
```shell
pip install -U flying
```
## Usage
### init
Create `flying.json` template
```shell
flying init .
```
### release
Release current version which set in flying.json .
```shell
flying release
```
Automatically upgrade version (+0.0.1)
```shell
flying release --upgrade
```
## Configuration
### Quick View
Template : `flying.json`
```json
{
"name": "flying-example",
"version": "0.0.8",
"version_prefix": "v",
"conditions": [
"git status | grep \"nothing to commit, working tree clean\""
],
"pre_release": [
"cat ./flying.json"
],
"git": {
"enable": true,
"remote": "origin",
},
"docker": {
"enable": true,
"namespace": "joway/flying-example",
"dkf_path": "./Dockerfile"
},
"npm": {
"enable": true,
"package_path": "./package.json"
},
"pypi": {
"enable": false,
"build_cmd": "python setup.py sdist",
"upload_cmd": "twine upload dist/*"
}
}
```
### version
`version_prefix + version` will be set as a tag for git and docker
### conditions
`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 .
For Example , when you set :
```json
"conditions": [
"git status | grep \"nothing to commit, working tree clean\""
],
```
If your project has any un-commited file changes , it will be blocked .
### pre_release
`pre_release` is a shell commonds list , it will be exec before release jobs start .
For example , you can set this line if you are using webpack :
```json
"pre_release": ["npm run build"]
```
### git
Push new version tag to git remote server .
### docker
- `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") .
- `dkf_path` : Dockerfile's path relative to the project root dir .
### npm
- `package_path`: package.json's path relative to the project root dir .
### pypi
Custom your own build && upload commond by set `build_cmd` and `upload_cmd`
![PyPI](https://img.shields.io/pypi/v/flying.svg)
## Purpose
Make release easy again .
### Features
1. git tag
2. npm publish
3. docker build && push
4. pypi build && upload
## Example
[https://github.com/joway/flying-example](https://github.com/joway/flying-example)
## Install
```shell
pip install -U flying
```
## Usage
### init
Create `flying.json` template
```shell
flying init .
```
### release
Release current version which set in flying.json .
```shell
flying release
```
Automatically upgrade version (+0.0.1)
```shell
flying release --upgrade
```
## Configuration
### Quick View
Template : `flying.json`
```json
{
"name": "flying-example",
"version": "0.0.8",
"version_prefix": "v",
"conditions": [
"git status | grep \"nothing to commit, working tree clean\""
],
"pre_release": [
"cat ./flying.json"
],
"git": {
"enable": true,
"remote": "origin",
},
"docker": {
"enable": true,
"namespace": "joway/flying-example",
"dkf_path": "./Dockerfile"
},
"npm": {
"enable": true,
"package_path": "./package.json"
},
"pypi": {
"enable": false,
"build_cmd": "python setup.py sdist",
"upload_cmd": "twine upload dist/*"
}
}
```
### version
`version_prefix + version` will be set as a tag for git and docker
### conditions
`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 .
For Example , when you set :
```json
"conditions": [
"git status | grep \"nothing to commit, working tree clean\""
],
```
If your project has any un-commited file changes , it will be blocked .
### pre_release
`pre_release` is a shell commonds list , it will be exec before release jobs start .
For example , you can set this line if you are using webpack :
```json
"pre_release": ["npm run build"]
```
### git
Push new version tag to git remote server .
### docker
- `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") .
- `dkf_path` : Dockerfile's path relative to the project root dir .
### npm
- `package_path`: package.json's path relative to the project root dir .
### pypi
Custom your own build && upload commond by set `build_cmd` and `upload_cmd`
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
flying-0.0.5.tar.gz
(4.5 kB
view details)
File details
Details for the file flying-0.0.5.tar.gz
.
File metadata
- Download URL: flying-0.0.5.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 990268debc32d5a0afe489c18bfeaaccfe3a0978a2746199aec436cb24dbb069 |
|
MD5 | 23387e322ed7dae027c068db86eeacc9 |
|
BLAKE2b-256 | 78bec4f2adc76d0e975f2785d33be897a0aecf42095084576b6b30ebe552045e |