Skip to main content

Cli tools for manage releases

Project description

# Flying

![PyPI](https://img.shields.io/pypi/v/flying.svg)
![PyPI](https://img.shields.io/pypi/pyversions/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)

## 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\""
],
```

When 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 :

```json
"pre_release": ["npm run build"]
```

### git

Push new version tag to git remote .

### docker

You can change `namespace` to your own registry .

`dkf_path` is your dockerfile's path relative to the project root dir .

### npm

`package_path` is your package.json path relative to the project root dir .

### pypi

You can 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.4.tar.gz (4.4 kB view details)

Uploaded Source

File details

Details for the file flying-0.0.4.tar.gz.

File metadata

  • Download URL: flying-0.0.4.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for flying-0.0.4.tar.gz
Algorithm Hash digest
SHA256 465c70dadee0c2fe2df674e877dddf9fb2db977f60fc7029f518907ae51c36b9
MD5 deb11577442af9020b57a9708aa3d818
BLAKE2b-256 9552fc2192b667bcb1a36d92e5bfa38b3bdb765ee85a6646977e9a21ef3d3832

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page