Skip to content

Latest commit

 

History

History
104 lines (73 loc) · 4.25 KB

CONTRIBUTING.md

File metadata and controls

104 lines (73 loc) · 4.25 KB

Contribute to balloon desktop client

Did you find a bug or would you like to contribute a feature? You are more than welcome to do so. Please, always file an issue first in order to discuss the matter at hand. Please, refrain from developing without an open issue; otherwise we will not know what you are working on.

Bug

If you just want to file a bug report, please open your issue. We are always eager to fix your reported bug to provide best software for the opensource community.

Security flaw

Do not open an issue for a possible security vulnerability; in order to protect yourself and others, please always contact opensource@gyselroth.net to report your concerns.

Git

You can clone the repository from:

git clone https://github.com/gyselroth/balloon-client-desktop.git

Git commit

Please make sure that (within a git commit) you always specify the number of your issue starting with a hashtag (#).

Recommended setup for development

mkdir balloon
cd balloon

git clone git@github.com:gyselroth/balloon-node-sync.git
cd balloon-node-sync
npm install
npm link

cd ..

git clone git@github.com:gyselroth/balloon-client-desktop.git
cd balloon-client-desktop
npm install
npm link @gyselroth/balloon-node-sync

Pull Request

You are more than welcome to submit a pull request that references an open issue. Please make sure that you observe coding conventions and also ensure that all your modifications pass the build. Build Status

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

License

This software is freely available under the terms of GPL-3.0, please respect this license and do not contribute software which ist not compatible with GPL-3.0 or is not your work.

Editor config

This repository gets shipped with an .editorconfig configuration. For more information on how to configure your editor, please visit editorconfig.

Build

Automation

All builds are triggered automatically with commits into master. Windows builds are handled by Appvoyer whereas OSX and Linux builds are handled by Travis-ci.

Manually

You need to build the client seperately on each OS. You need the latest npm version on each of them.

Linux

Requirements

  • libsecret-1-dev

Build only
npm run build-linux

Build and draft release to github
GH_TOKEN=xxx npm run release-linux

OSX

Requirements

  • XCode

Build only
CSC_LINK=/path/to/apple_dev/cert CSC_KEY_PASSWORD=apple_key_password npm run build-osx

Build and draft release to github
GH_TOKEN=xxx CSC_LINK=/path/to/apple_dev/cert CSC_KEY_PASSWORD=apple_key_password npm run release-osx

If you do not want to sign your build, you can also leave out CSC_LINK and CSC_KEY_PASSWORD.

Windows

Requirements

Hint: Disable any antivirus scanner and Windows Defender if you encounter any error regarding certificate is locked or used by another programm.

If you do not want to sign your build, you can also leave out CSC_LINK and CSC_KEY_PASSWORD.

Build only
CSC_LINK=/path/to/p12/cert CSC_KEY_PASSWORD=p12_key_password npm run build-win

Build and draft release to github
GH_TOKEN=xxx CSC_LINK=/path/to/p12/cert CSC_KEY_PASSWORD=p12_key_password npm run release-win

Release

npm run release-* automatically drafts releases to github if you export a github oauth2 access token (GH_TOKEN), otherwise you can get your builds from ./dist. See balloon desktop client releases.