name: Rust on: push: tags: - '*' jobs: rustfmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - run: rustup component add rustfmt - run: cargo fmt -- --check build-linux: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v1 # cache the build assets so they dont recompile every time. - name: Cache Rust dependencies uses: actions/cache@v1.0.1 with: path: target key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }} restore-keys: | ${{ runner.OS }}-build- - name: Install latest rust toolchain uses: actions-rs/toolchain@v1 with: toolchain: beta default: true override: true - name: Install system dependencies run: | sudo apt-get update \ && sudo apt-get install -y \ libdbus-1-dev - name: Build run: cargo build -all --no-default-features --features unix --release && strip target/release/dijo - name: Upload binaries to release uses: svenstaro/upload-release-action@v1-release with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: target/release/dijo asset_name: dijo-x86_64-linux tag: ${{ github.ref }} overwrite: true build-apple: runs-on: macos-latest steps: - name: Checkout uses: actions/checkout@v1 - name: Cache Rust dependencies uses: actions/cache@v1.0.1 with: path: target key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }} restore-keys: | ${{ runner.OS }}-build- - name: Install latest rust toolchain uses: actions-rs/toolchain@v1 with: toolchain: beta target: x86_64-apple-darwin default: true override: true - name: Build for mac run: cargo build --all --no-default-features --features unix --release && strip target/release/dijo - name: Upload binaries to release uses: svenstaro/upload-release-action@v1-release with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: target/release/dijo asset_name: dijo-x86_64-apple tag: ${{ github.ref }} overwrite: true build-windows: runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v1 - name: Cache Rust dependencies uses: actions/cache@v1.0.1 with: path: target key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }} restore-keys: | ${{ runner.OS }}-build- - name: Install latest rust toolchain uses: actions-rs/toolchain@v1 with: toolchain: beta target: x86_64-pc-windows-msvc default: true override: true - name: Build for windows run: | cargo build --all --no-default-features --features windows --release strip target/release/dijo - name: Upload binaries to release uses: svenstaro/upload-release-action@v1-release with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: target/release/dijo asset_name: dijo-x86_64-windows tag: ${{ github.ref }} overwrite: true