devlog 1.1.0

devlog is a command-line tool for tracking your day-to-day software development work.
Documentation
language: rust
os: linux
dist: focal  # Ubuntu 20.04

GH_TOKEN: &GH_TOKEN
  secure: "ss+ZuvWwEtNztqrdTgnKy/gu5qRpHEaM5S9GhF0JxJPfSGqkWYct4RIUJlKEgrM57i8N0NERayhJj3CtWN3CDKL2wHTtA5cH5H70LZBwkvdOpVTC2+JOw5/9xx1U4o40V1wxkowysC2ty9QTZP3NYJYX3LoUWarpU7TW2tZVejBODe95pZ9g8jj283wrdFl4HyvGY2v2lDGEUHTXnPsSQ1hUYF8L+hbQwkRAPRp7F74hmMB7/wYwnbjbxG+PJLUW75xJErDk95y95zVCVhmpKplK3r5chgTyStFIMfiAyaBi8J+cyEyyFQSWNoJO+/3XIVErGpusYwt1tOrKVfrQHcsQBSAIs0yuc9uSPTYP3gUobNB7kwMGZFdjRWjSOSVp9fTwx+jpasssW+MpfwQKqAk3e9eeMQ0oMUvugvA44iETXGhbQy0CX0b1JptlAmsO2XNwPN8ki3p6IlMNQx1IEbAPk/pEDlztNadhaDoQvUxfJW/C31xyu9GWoprwLUmnlKmDQLAkhZ/jKCY4NePfxiO3z0yMjVUcRXeB1nd8f6twwikJlrz/vi0vp6MLvgAYPkazdL4BCDQbs1BXRzs+G6JyRxgBSNudV2dVPGDgcDHwu9yyNh3zlr+fVuJ6wk8tj3cR/inSrNEXbggRITK+Ry7iWPSuwW3VWwOgDRkjtSs="

CARGO_TOKEN: &CARGO_TOKEN
  secure: "ov5OoJXr8kzsXiZByW+ZnJJiz0dxM7voKXIsbqOmK6NOvsupdv0DTTYfSfmh+/zSkEPfzMItDcBm4uQD5PA9AGm3msoIDjDC1oK53IL2adQfspqcW72KBhrP8JDTi0TaQhDSUxzNjfg5jRJlauaN7hNE/qKvaW4VbQ9ItQAxOJQiO3PCH/gTziNIKZauVYTCTe+yi2eC/fmlX9SlF2WqjJfXsHv3V18XrLqc/3QFSLLXLAlxAyagi2LREPiPKNN68RGsZBGxsW9nQz7cRDl8djn8WEnMWTNnc3n42a9//Rgp741tlw4aDnG2fZP0EStaWjFdSaTCn6F1UGu+tSK44lpyMdU9UpfXRN0a8NMupMYYW0M6Bcxw0iRvmxj6AfgSNm7xAF8Pg2ngl/FWWjal+XVnfDJakJtNP0Hz/Vt2c2+0zUxYBabWh1wT2yNjroKWewLgIGXuGxuD8e17mcMTRFx9DVJX6awwfpMptyIbgtM/ZgSzVW0OB80S6FyOsNca/9A4YaK6s1D2thKV9I1sUgAe94tZSBVQbk2vZcwkjUv/gPAZkB4p8J0qGQ6GSBuFZjGhYZ5Wwa/wkvLYu50Chf7te66uB9UoA8eAmEK8S1zUIjUOQy5cqnF+xHlYtCjCFVFbiQEHUtVKa6lbFmIrvdNEKHrhsFN0bs+TNe/Cyxc="

DEPLOY_TO_GITHUB: &DEPLOY_TO_GITHUB
  before_deploy:
  - git config --local user.name "Will Daly"
  - git config --local user.email "will.e.daly@gmail.com"
  - name="devlog-$TRAVIS_TAG-$TARGET"
  - mkdir $name
  - cp target/$TARGET/release/devlog $name/
  - cp README.md LICENSE $name/
  - tar czvf $name.tar.gz $name
  deploy:
    provider: releases
    token: *GH_TOKEN
    file: devlog-$TRAVIS_TAG-$TARGET.tar.gz
    skip_cleanup: true
    name: $TRAVIS_TAG
    on:
      branch: master
      tags: true

env:
    global:
        - TMPDIR=$TRAVIS_BUILD_DIR

jobs:
  include:

  - name: Tests
    rust: stable
    script:
    - cargo test
    - rustup component add rustfmt-preview
    - cargo fmt --version
    - cargo fmt --all -- --check

  - name: Cargo Package
    deploy:
      provider: cargo
      token: *CARGO_TOKEN
      on:
        branch: master
        tags: true

  - name: Linux Binary
    rust: stable
    env: TARGET=x86_64-unknown-linux-musl
    before_script: rustup target add $TARGET
    script: cargo build --release --target $TARGET
    addons:
      apt:
        packages:
        - musl-tools
    <<: *DEPLOY_TO_GITHUB

  - name: macOS Binary
    rust: stable
    env: MACOSX_DEPLOYMENT_TARGET=10.7 TARGET=x86_64-apple-darwin
    os: osx
    script: cargo build --release --target $TARGET
    install: true
    <<: *DEPLOY_TO_GITHUB

  - name: Debian Package
    rust: stable
    before_script: cargo install cargo-deb
    addons:
      apt:
        packages:
        - dpkg
        - liblzma-dev
    script: cargo-deb --deb-version ${TRAVIS_TAG:-HEAD}
    deploy:
      provider: releases
      token: *GH_TOKEN
      file: target/debian/devlog_${TRAVIS_TAG}_amd64.deb
      skip_cleanup: true
      name: $TRAVIS_TAG
      on:
        branch: master
        tags: true

  - name: RPM Package
    rust: stable
    before_script:
        - cargo install cargo-rpm
        - sed -i "s/version = \"[^\"]*\"/version = \"${TRAVIS_TAG:-0.0.0}\"/" Cargo.toml
    addons:
      apt:
        packages:
        - rpm
    script: cargo build --release && cargo rpm build
    deploy:
      provider: releases
      token: *GH_TOKEN
      file: target/release/rpmbuild/RPMS/x86_64/devlog-${TRAVIS_TAG}-1.x86_64.rpm
      skip_cleanup: true
      name: $TRAVIS_TAG
      on:
        branch: master
        tags: true