Skip to content

Commit

Permalink
v0.1.0 release
Browse files Browse the repository at this point in the history
* Add release script
* Add CHANGELOG.md
* Amend installation instructions to state we use Rust 1.27
  • Loading branch information
ALCC01 committed Jul 22, 2018
1 parent 1da4bb6 commit 28e73b6
Show file tree
Hide file tree
Showing 4 changed files with 108 additions and 5 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/target
**/*.rs.bk
/tests/tmp
build
*.vault
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Sigil
Only user facing changes should be included.

## Release series
* **v0.x**: Sigil Alpha

## v0.1.0
*Released on 2018/07/22*

* Adopt a GPG-encrypted TOML file as the vault format
* By default its location is defined by the `SIGIL_VAULT` environment variable
* By default it is encripted using the `SIGIL_GPGKEY` environment variable
* Use `sigil touch` to create an empty vault
* Use `sigil ls` to list all secrets in a vault
* Use `sigil completion` to generate a completion script
* Support for password storing
* Allow to annotate passwords with related usernames, emails and homepage URLs
* Use `sigil password add` to add a password
* Use `sigil password get` to retrieve a password
* Use `sigil password rm` ro remove a password
* Support for OTP generator storing
* Support TOTP and HOTP for token generation
* Support SHA1, SHA256 and SHA512 as HMAC algorithms for token generation
* Use `sigil otp add` to add a generator
* Use `sigil otp token` to generate a token
* Use `sigil otp rm` to remove a generator
* Use `sigil otp import` to import generators from `otpauth://` URLs
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,13 @@ If you want to be extra sure, you may also combine your vault with an external,
FIDO2-like authenticator holding your PGP key.

## Getting started
* Sigil is currently developed using Rust 1.28, you can use [rustup.rs][rustup]
to install it alongside with Cargo

Sigil is currently developed using Rust 1.27, you can use [rustup.rs][rustup]
to install it alongside with Cargo. Sigil also relies on GPGME as provided by
`libgpgme11-dev`, which is available on many Linux distros.

* `cargo install --git https://github.com/ALCC01/sigil`
* Make sure your `PATH` contains `$HOME/.cargo/bin`
* Sigil also relies on GPGME as provided by `libgpgme11-dev`, which is available
on many Linux distros
* Make sure your `PATH` contains `$HOME/.cargo/bin`
* In your `.bashrc` file (or its equivalent for your shell of choice)
* Add `export SIGIL_VAULT="$HOME/.sigil.vault"` or whatever path you want
your vault to be written to
Expand Down
73 changes: 73 additions & 0 deletions tools/release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#!/bin/bash
# Copyright (C) 2018 Alberto Coscia
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

TARGET_DIR="./target"
BUILD_DIR="./build"
BIN_NAME="sigil"
RELEASE_NAME="$BIN_NAME-$1"
RELEASE_DIR="$BUILD_DIR/$RELEASE_NAME"

INCLUDE=(
"LICENSE"
"CHANGELOG.md"
"README.md"
)

init() {
echo ""
echo "Initializing..."
rm -r "$BUILD_DIR"
mkdir -p "$TARGET_DIR"
mkdir -p "$RELEASE_DIR"
}

build() {
echo "Building..."
cargo +stable build --release
strip --strip-debug "$TARGET_DIR/release/$BIN_NAME"
cp -v "$TARGET_DIR/release/$BIN_NAME" "$RELEASE_DIR"
}

enrich() {
echo ""
echo "Copying additional files..."
for src in "${INCLUDE[@]}"; do
cp -v "./$src" "$RELEASE_DIR"
done
}

sizes() {
echo ""
echo "Uncompressed build size:"
ls -1sh "$RELEASE_DIR"
}

package() {
echo ""
echo "Packaging, compressing and signing..."
cd $BUILD_DIR
tar -czvf "$RELEASE_NAME.tar.gz" "$RELEASE_NAME/"
gpg --sign --detach --armor "$RELEASE_NAME.tar.gz"
gpg --verify "$RELEASE_NAME.tar.gz.asc" "$RELEASE_NAME.tar.gz"
echo ""
echo "Compressed build size:"
ls -1sh "$RELEASE_NAME.tar.gz"
cd ..
}

cleanup() {
echo ""
echo "Cleaning up"
rm -r "$RELEASE_DIR"
}

init
build
enrich
sizes
package
cleanup

0 comments on commit 28e73b6

Please sign in to comment.