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