This is a release commit.

Changes:
1. Now everything is tested inside the `docker`-containers and `OSX` images on `travis`.
2. We now have `CONTRIBUTING.md` and `LICENSE.md`. `README.md` is also changed.
3. We have a brand logo.
4. We have autodeploy to `bintray`.
5. Everything is `shellcheck`ed (except `tests/`).

Closes #32 #33 #34 #35 #39
pull/48/head
sobolevn 8 years ago
parent 3ee08d52cb
commit 00deabb0e3
No known key found for this signature in database
GPG Key ID: FF672D568AE3C73E

@ -1,5 +1,7 @@
# Changelog
## Version 0.2.0
## Version 0.1.2
- Added `-i` option to the `git-secret-add` command, which auto adds unignored files to the `.gitignore`

@ -28,30 +28,30 @@ Only required if dealing with manuals, `gh-pages` or releases:
1. Firstly, you will need to setup development hooks with `make install-hooks`
2. Make changes to the files that need to be changed
3. When making changes to any files inside `src/` you will need to rebuild the binary `git-secret` with `make clean && make build` command
4. Run [`shellcheck`](https://github.com/koalaman/shellcheck) against all your changes with `find src utils -type f -name '*.sh' -print0 | xargs -0 -I {} shellcheck {}`
5. Now, add all your files to the commit with `git add --all` and commit changes `git commit`, make sure you write a good commit message, which will explain your works
6. When running `git commit` the tests will run automatically, you commit will be canceled if they fail
7. Push to your repository, make a pull-request against `develop` branch. Please, make sure you have *one* commit per pull-request
4. Run [`shellcheck`][shellcheck] against all your changes with `find src utils -type f -name '*.sh' -print0 | xargs -0 -I {} shellcheck {}`
5. Now, add all your files to the commit with `git add --all` and commit changes with `git commit`, make sure you write a good message, which will explain your work
6. When running `git commit` the tests will run automatically, your commit will be canceled if they fail
7. Push to your repository, make a pull-request against `develop` branch. Please, make sure you have **one** commit per pull-request
### Branches
We have three long-live branches: `master`, `staging` and `develop` (and `gh-pages`).
We have three long-live branches: `master`, `staging` and `develop` (and `gh-pages` for static site).
It basically looks like that:
> `your-branch` -> `develop` -> `staging` -> `master`
- `master` branch is protected, since `antigen` and tools like it installs the app from main branch directly. So only fully tested code goes there
- `staging` - this brach is used to create a new `git` tag and a `github` release, then it gets merged into `master`
- `master` branch is protected, since `antigen` and tools like it install the app from the main branch directly. So only fully tested code goes there
- `staging` - this branch is used to create a new `git` tag and a `github` release, then it gets merged into `master`
- `develop` is where the development is done and the branch you should send your pull-requests to
### Continuous integration
CI is done with the help of `travis`. `travis` handles multiple environments:
- `Docker`-based jobs, or so-called 'integration tests', these tests creates a local release, installs it with the package-manager and then runs unit-tests and system checks
- `OSX` jobs, they just assure that everything will work under `OSX`
- Native `travis` jobs, which handles basic unit-tests and stylechecks
- `Docker`-based jobs or so-called 'integration tests', these tests create a local release, install it with the package manager and then run unit-tests and system checks
- `OSX` jobs, which handle basic unit-tests on `OSX`
- Native `travis` jobs, which handle basic unit-tests and stylechecks
### Release process
@ -61,7 +61,7 @@ When creating a commit inside the `staging` branch (it is usually a documentatio
Firstly, new manuals will be created and added to the current commit with `make build-man` on `pre-commit` hook.
Secondly, after the commit is successfully created it will also trigger `make build-gh-pages` target on `post-commit` hook, which will push new manuals to the [https://sobolevn.github.io/git-secret/][git-secret site]. And the new `git` tag will be automatically created if the version is changed:
Secondly, after the commit is successfully created it will also trigger `make build-gh-pages` target on `post-commit` hook, which will push new manuals to the [git-secret site][git-secret-site]. And the new `git` tag will be automatically created if the version is changed:
```bash
if [[ "$NEWEST_TAG" != "v${SCRIPT_VERSION}" ]]; then
@ -73,9 +73,9 @@ Then it will be merged inside `master` when ready.
#### Travis releases
When creating a commit inside `master` branch `travis` on successful build will publish new `deb` and `rpm` packages to [`bintray`](https://bintray.com/sobolevn).
When creating a commit inside `master` branch, `travis` on successful build will publish new `deb` and `rpm` packages to [`bintray`][bintray].
If you wish to override previous release (*be careful*) you will need to add `"override": 1 ` into `matrixParams`, see `deb-deploy.sh` and `rpm-deploy.sh`
If you wish to override a previous release (*be careful*) you will need to add `"override": 1` into `matrixParams`, see `deb-deploy.sh` and `rpm-deploy.sh`
#### Manual releases
@ -83,8 +83,11 @@ Releases to `brew` are made manually.
#### Dockerhub releases
[`Dockerhub`](https://hub.docker.com/r/sobolevn/git-secret/) contains `Docker` images with different OS'es used for testing. It is updated via a `github` webhook on commit into `master`.
[`Dockerhub`][Dockerhub] contains `Docker` images with different OS'es used for testing. It is updated via a `github` webhook on commit into `master`.
[tracker]: https://github.com/sobolevn/git-secret/issues
[help-wanted]: https://github.com/sobolevn/git-secret/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22
[git-secret site]: https://sobolevn.github.io/git-secret/
[shellcheck]: https://github.com/koalaman/shellcheck
[git-secret-site]: https://sobolevn.github.io/git-secret/
[bintray]: https://bintray.com/sobolevn
[Dockerhub]: https://hub.docker.com/r/sobolevn/git-secret/

@ -1,6 +1,6 @@
# git-secret
[![Build Status](https://img.shields.io/travis/sobolevn/git-secret/master.svg)](https://travis-ci.org/sobolevn/git-secret) [![Homebrew](https://img.shields.io/homebrew/v/git-secret.svg)](http://braumeister.org/formula/git-secret) [![Bintray deb](https://img.shields.io/bintray/v/sobolevn/deb/git-secret.svg)](https://bintray.com/sobolevn/deb/git-secret/view) [![Bintray rpm](https://img.shields.io/bintray/v/sobolevn/rpm/git-secret.svg)](https://bintray.com/sobolevn/rpm/git-secret/view) [![Dockerhub](https://img.shields.io/docker/pulls/sobolevn/git-secret.svg)](https://hub.docker.com/r/sobolevn/git-secret/)
[![Build Status](https://img.shields.io/travis/sobolevn/git-secret/master.svg)](https://travis-ci.org/sobolevn/git-secret) [![Homebrew](https://img.shields.io/homebrew/v/git-secret.svg)](http://braumeister.org/formula/git-secret) [![Bintray deb](https://img.shields.io/bintray/v/sobolevn/deb/git-secret.svg)](https://bintray.com/sobolevn/deb/git-secret/view) [![Dockerhub](https://img.shields.io/docker/pulls/sobolevn/git-secret.svg)](https://hub.docker.com/r/sobolevn/git-secret/)
[![git-secret](https://raw.githubusercontent.com/sobolevn/git-secret/gh-pages/images/git-secret-big.png)](https://sobolevn.github.io/git-secret/)

@ -25,14 +25,14 @@ There's a known problem in server configuration and deploying, when you have to
### Dependencies
`git secret` relies on two dependencies: [`git`][1] and [`gpg`][2]. Download and install them before using this project. `git-secret` is tested to work with:
`git-secret` relies on two dependencies: [`git`][1] and [`gpg`][2]. Download and install them before using this project. `git-secret` is tested to work with:
git version 2.7.0
gpg (GnuPG) 1.4.20
### Supported platforms
`git secret` works with `Mac OS X` >= 10.9, `Ubuntu` >= 14.04 and `Debian` >= 8.3
`git-secret` works with `Mac OS X` >= 10.9, `Ubuntu` >= 14.04 and `Debian` >= 8.3
You can add your platform to this list, if all the tests pass for you.
`Cygwin` support is planned.
@ -40,32 +40,32 @@ You can add your platform to this list, if all the tests pass for you.
There are several ways to install `git-secret`:
**Brew**
#### Homebrew
1. Run `brew install git-secret`. That will do. Also, there are two options:
* `--without-gpg` to build without `gpg` support
* `--HEAD` to install `HEAD` version
2. Note, that we have migrated from `tap` to the official `brew` repo
**deb package**
#### `deb` package
1. Run `echo "deb https://dl.bintray.com/sobolevn/deb git-secret stable" | sudo tee -a /etc/apt/sources.list`
2. Run `sudo apt-get install git-secret`
**rpm package**
#### `rpm` package
1. Run `wget https://bintray.com/sobolevn/rpm/rpm -O bintray-sobolevn-rpm.repo && sudo mv bintray-sobolevn-rpm.repo /etc/yum.repos.d/`
2. Run `sudo yum install git-secret`
**Manual**
#### Manual
1. Clone the repository first: `git clone https://github.com/sobolevn/git-secret.git git-secret`
2. Run `make build`
2. Run `cd git-secret && make build`
3. Run `PREFIX="/usr/local" make install`, note that you can install to any prefix in your `PATH`
**`antigen` plugin (or any other `oh-my-zsh`-styled plugin-systems)**
#### `antigen` plugin (or any other `oh-my-zsh`-styled plugin-systems)
1. Add line `antigen bundle sobolevn/git-secret` to your `.zshrc`
1. Add line `antigen bundle sobolevn/git-secret` to your `~/.zshrc`
2. Run `source ~/.zshrc` or reopen the terminal
@ -73,9 +73,9 @@ There are several ways to install `git-secret`:
These steps cover the basic process of using `git-secret`:
0. Before starting, make sure you have created `gpg` RSA key-pair: public and secret key identified by your email address.
1. Initialize `git-secret` repository by running `git secret init` command. `.gitsecret/` folder will be created, *note* that `.gitsecret/` folder [should not be ignored](https://github.com/sobolevn/git-secret/issues/39).
2. Add first user to the system by running `git secret tell your@gpg.email-id`.
3. Now it's time to add files you wish to encrypt inside the `git-secret` repository. It can be done by running `git secret add <filenames...>` command. Make sure these files are ignored, otherwise `git secret` won't allow you to add them, as these files will be stored unencrypted.
1. Initialize `git-secret` repository by running `git secret init` command. `.gitsecret/` folder will be created, **note** that `.gitsecret/` folder [should **not** be ignored](https://github.com/sobolevn/git-secret/issues/39).
2. Add first user to the system by running `git secret tell your@gpg.email`.
3. Now it's time to add files you wish to encrypt inside the `git-secret` repository. It can be done by running `git secret add <filenames...>` command. Make sure these files are ignored, otherwise `git-secret` won't allow you to add them, as these files will be stored unencrypted.
4. When done, run `git secret hide` all files, which you have added by `git secret add` command will be encrypted with added public-keys by the `git secret tell` command. Now it is safe to commit your changes. **But**. It's recommended to add `git secret hide` command to your `pre-commit` hook, so you won't miss any changes.
5. Now decrypt files with `git secret reveal` command. It will ask you for your password. And you're done!

Loading…
Cancel
Save