steganer 1.1.0

Library to hide a file inside another... or to recover it.
Documentation
################################
# GENERAL CONFIGURATION
################################
language: rust
rust:
  - nightly
  - stable
matrix:
  allow_failures:
    # I'm working with nightly, but is nice to realize when stable works too.
    - rust: stable
  fast_finish: true
# Cache your dependencies so they are only recompiled if they or the compiler were upgraded
cache: cargo

################################
# BRANCH FILTER
################################
branches:
  only:
  - staging

################################
# RESULT NOTIFICATIONS
################################
notifications:
  recipients:
    - dante.signal31@gmail.com
  on_sucess: always
  on_failure: always

################################
# TESTING
################################
before_script:
  - cargo update
script:
  - echo "Starting tests..."
  - cargo test --verbose
  - echo "Tests done."

################################
# DEPLOYMENT
################################
jobs:
  include:
    # Update master branch.
    - stage: Branch merge to production branch
      python: 3.6
      env:
        - PYTHONPATH="${PYTHONPATH}:${TRAVIS_BUILD_DIR}"
      if: branch = staging
      script:
        - echo "Merging staging branch with master..."
        - ci_scripts/merge_with_production
        - echo "Merge done."
    # Upload packages to crates.io
    - stage: Crates.io deployment
      script:
        - echo "Deploying to crates.io..."
        - cargo login $CARGO_TOKEN
        - cargo publish --allow-dirty
        - echo "Crates.io deployment done."
    # Build python module an upload it to Pypi
    - stage: Python module building
      language: rust
      # I need a complete virtual machine because I cannot create a virtualenv inside
      # default virtualenv virtual machine.
      sudo: required
      script:
        - echo "Deploying python module to Pypi..."
        - sudo apt-get update
        - sudo apt-get install python3-venv
        - python3 -m venv env3
        - source env3/bin/activate
        - pip --version
        - pip install cffi
        - pip install pyo3-pack
        - pyo3-pack publish -b cffi -u $PYPI_USERNAME -p $PYPI_PASSWORD
        - echo "Python module deployed."
    # Build Debian package and deploy it.
    - stage: Debian packaging and deployment.
      language: rust
      if: branch = staging
      script:
        # Build manpage.
        - echo "Building manpage..."
        - sudo apt-get update
        - sudo apt-get install pandoc
        - mkdir man
        - pandoc --standalone --to man README.md -o man/steganer.1
        - gzip man/steganer.1
        - echo "Manpage built."
        # Oddly it seems Travis has cargo-deb already installed, so "cargo install cargo-deb" is not needed.
        - echo "Creating and deploying debian package"
        - cargo deb
        - ci_scripts/create_bintray_descriptors_from_templates
        - ci_scripts/tag_release
      deploy:
        - provider: releases
          api_key: "${GITHUB_TOKEN}"
          file_glob: true
          file: target/debian/*.deb
          skip_cleanup: true
          on:
            all_branches: true
        - provider: bintray
          file: "packaging/steganer_debian_bintray_descriptor.json"
          user: "${BINTRAY_USERNAME}"
          key: "${BINTRAY_KEY}"
          skip_cleanup: true
          on:
            all_branches: true