ci: uptick to 0.5.1, fix ci

This commit is contained in:
ClementTsang 2020-11-21 15:31:19 -05:00
parent e8238daa64
commit 2d127f198e
16 changed files with 455 additions and 309 deletions

View File

@ -4,6 +4,9 @@ rustflags = ["-C", "target-feature=+crt-static"]
[target.i686-pc-windows-msvc] [target.i686-pc-windows-msvc]
rustflags = ["-C", "target-feature=+crt-static"] rustflags = ["-C", "target-feature=+crt-static"]
[target.arm-unknown-linux-gnueabihf]
linker = "arm-linux-gnueabihf-gcc"
[target.armv7-unknown-linux-gnueabihf] [target.armv7-unknown-linux-gnueabihf]
linker = "arm-linux-gnueabihf-gcc" linker = "arm-linux-gnueabihf-gcc"

View File

@ -37,7 +37,7 @@ _If relevant, ensure the following have been met:_
- [ ] _Change has been tested to work, and does not cause new breakage unless intended_ - [ ] _Change has been tested to work, and does not cause new breakage unless intended_
- [ ] _Code has been self-reviewed_ - [ ] _Code has been self-reviewed_
- [ ] _Documentation has been added/updated if needed (README, help menu, etc.)_ - [ ] _Documentation has been added/updated if needed (README, help menu, etc.)_
- [ ] _Passes Travis tests (clippy check and `cargo test` check)_ - [ ] _Passes CI pipeline (clippy check and `cargo test` check)_
- [ ] _Areas your change affects have been linted using rustfmt (`cargo fmt`)_ - [ ] _Areas your change affects have been linted using rustfmt (`cargo fmt`)_
- [ ] _No merge conflicts arise from the change_ - [ ] _No merge conflicts arise from the change_

View File

@ -3,14 +3,13 @@
# - https://github.com/BurntSushi/ripgrep/blob/master/.github/workflows/ci.yml # - https://github.com/BurntSushi/ripgrep/blob/master/.github/workflows/ci.yml
name: ci name: ci
on: on:
workflow_dispatch: workflow_dispatch:
pull_request: pull_request:
push: push:
branches: branches:
- master - master
schedule:
- cron: "0 5 * * *"
jobs: jobs:
# Check rustfmt # Check rustfmt
@ -19,9 +18,9 @@ jobs:
strategy: strategy:
matrix: matrix:
os: os:
- ubuntu-latest - ubuntu-18.04
- macOS-latest - macOS-latest
- windows-latest - windows-2019
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
@ -38,16 +37,17 @@ jobs:
strategy: strategy:
matrix: matrix:
os: os:
- ubuntu-latest - ubuntu-18.04
- macOS-latest - macOS-latest
- windows-latest - windows-2019
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Cache cargo build target
uses: actions/cache@v1 # - name: Cache Cargo
with: # uses: actions/cache@v1
path: target # with:
key: clippy-${{ runner.os }}-${{ hashFiles('**/Cargo.toml') }} # path: target
# key: clippy-${{ runner.os }}-${{ hashFiles('**/Cargo.toml') }}
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
@ -55,10 +55,11 @@ jobs:
toolchain: stable toolchain: stable
override: true override: true
components: clippy components: clippy
- run: cargo clippy --all-targets --workspace -- -D warnings - run: cargo clippy --all-targets --workspace -- -D warnings
# Compile test. # Compile/check test.
compile: check:
name: ${{ matrix.toolchain }} / ${{ matrix.triple.target }} name: ${{ matrix.toolchain }} / ${{ matrix.triple.target }}
needs: [rustfmt, clippy] needs: [rustfmt, clippy]
runs-on: ${{ matrix.triple.os }} runs-on: ${{ matrix.triple.os }}
@ -68,25 +69,25 @@ jobs:
triple: triple:
# Standard x86-64 stuff, stable # Standard x86-64 stuff, stable
- { - {
os: "ubuntu-latest", os: "ubuntu-18.04",
target: "x86_64-unknown-linux-gnu", target: "x86_64-unknown-linux-gnu",
cross: false, cross: false,
rust: stable, rust: stable,
} }
- { - {
os: "ubuntu-latest", os: "ubuntu-18.04",
target: "i686-unknown-linux-gnu", target: "i686-unknown-linux-gnu",
cross: true, cross: true,
rust: stable, rust: stable,
} }
- { - {
os: "ubuntu-latest", os: "ubuntu-18.04",
target: "x86_64-unknown-linux-musl", target: "x86_64-unknown-linux-musl",
cross: false, cross: false,
rust: stable, rust: stable,
} }
- { - {
os: "ubuntu-latest", os: "ubuntu-18.04",
target: "i686-unknown-linux-musl", target: "i686-unknown-linux-musl",
cross: true, cross: true,
rust: stable, rust: stable,
@ -98,14 +99,25 @@ jobs:
rust: stable, rust: stable,
} }
- { - {
os: "windows-latest", os: "windows-2019",
target: "i686-pc-windows-msvc",
cross: true,
rust: stable,
}
- {
os: "windows-2019",
target: "x86_64-pc-windows-msvc", target: "x86_64-pc-windows-msvc",
cross: false, cross: false,
rust: stable, rust: stable,
} }
- { os: "windows-latest", target: "i686-pc-windows-gnu", cross: true }
- { - {
os: "windows-latest", os: "windows-2019",
target: "i686-pc-windows-gnu",
cross: true,
rust: stable,
}
- {
os: "windows-2019",
target: "x86_64-pc-windows-gnu", target: "x86_64-pc-windows-gnu",
cross: false, cross: false,
rust: stable, rust: stable,
@ -113,35 +125,23 @@ jobs:
# aarch64 # aarch64
- { - {
os: "ubuntu-latest", os: "ubuntu-18.04",
target: "aarch64-unknown-linux-gnu", target: "aarch64-unknown-linux-gnu",
cross: true, cross: true,
rust: stable, rust: stable,
} }
- {
os: "ubuntu-latest",
target: "aarch64-unknown-linux-musl",
cross: true,
rust: stable,
}
# armv7 # armv7
- { - {
os: "ubuntu-latest", os: "ubuntu-18.04",
target: "armv7-unknown-linux-gnueabihf", target: "armv7-unknown-linux-gnueabihf",
cross: true, cross: true,
rust: stable, rust: stable,
} }
- {
os: "ubuntu-latest",
target: "armv7-unknown-linux-musleabihf",
cross: true,
rust: stable,
}
# PowerPC 64 LE # PowerPC 64 LE
- { - {
os: "ubuntu-latest", os: "ubuntu-18.04",
target: "powerpc64le-unknown-linux-gnu", target: "powerpc64le-unknown-linux-gnu",
cross: true, cross: true,
rust: stable, rust: stable,
@ -154,18 +154,19 @@ jobs:
uses: actions-rs/toolchain@v1 uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: ${{ matrix.toolchain }} toolchain: ${{ matrix.triple.rust }}
override: true override: true
target: ${{ matrix.triple.target }}
- name: Check - name: Check
uses: actions-rs/cargo@v1 uses: actions-rs/cargo@v1
with: with:
command: check command: check
args: --all-targets --verbose args: --all-targets --verbose --target=${{ matrix.triple.target }}
use-cross: ${{ matrix.triple.cross }} use-cross: ${{ matrix.triple.cross }}
tests: tests:
needs: [compile] needs: [check]
name: Test ${{ matrix.os }} name: Test ${{ matrix.os }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
continue-on-error: true continue-on-error: true
@ -173,18 +174,16 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
os: os:
- ubuntu-latest - ubuntu-18.04
- macOS-latest - macOS-latest
- windows-latest - windows-2019
toolchain:
- stable
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Install toolchain - name: Install toolchain
uses: actions-rs/toolchain@v1 uses: actions-rs/toolchain@v1
with: with:
profile: minimal profile: minimal
toolchain: ${{ matrix.toolchain }} toolchain: stable
override: true override: true
- name: Run tests - name: Run tests
@ -192,3 +191,13 @@ jobs:
env: env:
CARGO_HUSKY_DONT_INSTALL_HOOKS: true CARGO_HUSKY_DONT_INSTALL_HOOKS: true
RUST_BACKTRACE: full RUST_BACKTRACE: full
complete:
needs: [tests]
name: CI Pipeline Complete
runs-on: ubuntu-latest
steps:
- name: Echo completion
shell: bash
run: |
echo "Complete!"

View File

@ -0,0 +1,323 @@
# Based on:
# - https://github.com/BurntSushi/ripgrep/blob/master/.github/workflows/release.yml
name: deployment
on:
workflow_dispatch:
create:
tags:
- /^\d+\.\d+(\.\d+)?(-\S*)?$/
jobs:
create-github-release:
name: create-github-release
runs-on: ubuntu-latest
steps:
- name: Create artifacts directory
run: mkdir artifacts
- name: Get the release version from the tag
if: env.VERSION == ''
run: |
echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
echo "version is: ${{ env.VERSION }}"
- name: Create GitHub release
id: release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
draft: true
tag_name: ${{ env.VERSION }}
release_name: ${{ env.VERSION }} Release
- name: Save release upload URL to artifact
run: echo "${{ steps.release.outputs.upload_url }}" > artifacts/release-upload-url
- name: Save version number to artifact
run: echo "${{ env.VERSION }}" > artifacts/release-version
- name: Upload artifacts
uses: actions/upload-artifact@v1
with:
name: artifacts
path: artifacts
build-release:
name: build-release
needs: [create-github-release]
runs-on: ${{ matrix.triple.os }}
env:
RUST_BACKTRACE: 1
strategy:
fail-fast: false
matrix:
triple:
# Standard x86-64 stuff, stable
- {
os: "ubuntu-18.04",
target: "x86_64-unknown-linux-gnu",
cross: false,
}
- {
os: "ubuntu-18.04",
target: "i686-unknown-linux-gnu",
cross: true,
}
- {
os: "ubuntu-18.04",
target: "x86_64-unknown-linux-musl",
cross: false,
}
- {
os: "ubuntu-18.04",
target: "i686-unknown-linux-musl",
cross: true,
}
- {
os: "macOS-latest",
target: "x86_64-apple-darwin",
cross: false,
}
- {
os: "windows-2019",
target: "x86_64-pc-windows-msvc",
cross: false,
}
- {
os: "windows-2019",
target: "i686-pc-windows-gnu",
cross: true,
}
- {
os: "windows-2019",
target: "x86_64-pc-windows-gnu",
cross: false,
}
# aarch64
- {
os: "ubuntu-18.04",
target: "aarch64-unknown-linux-gnu",
cross: true,
}
# armv7
- {
os: "ubuntu-18.04",
target: "armv7-unknown-linux-gnueabihf",
cross: true,
}
# PowerPC 64 LE
- {
os: "ubuntu-18.04",
target: "powerpc64le-unknown-linux-gnu",
cross: true,
}
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 1
- uses: actions/setup-python@v2
- name: Get release download URL
uses: actions/download-artifact@v1
with:
name: artifacts
path: artifacts
- name: Set release upload URL and release version
shell: bash
run: |
release_upload_url="$(cat artifacts/release-upload-url)"
echo "RELEASE_UPLOAD_URL=$release_upload_url" >> $GITHUB_ENV
echo "release upload url: $RELEASE_UPLOAD_URL"
release_version="$(cat artifacts/release-version)"
echo "RELEASE_VERSION=$release_version" >> $GITHUB_ENV
echo "release version: $RELEASE_VERSION"
- name: Install Net-Framework-Core (Windows x86-64 MSVC)
if: matrix.triple.target == 'x86_64-pc-windows-msvc'
shell: powershell
run: Install-WindowsFeature Net-Framework-Core
- name: Install wixtoolset (Windows x86-64 MSVC)
if: matrix.triple.target == 'x86_64-pc-windows-msvc'
uses: crazy-max/ghaction-chocolatey@v1.4.0
with:
args: install -y wixtoolset
# - name: Export wixtoolset to path (Windows x86-64 MSVC)
# if: matrix.triple.target == 'x86_64-pc-windows-msvc'
# shell: powershell
# run: export PATH=${PATH}:"/c/Program Files (x86)/WiX Toolset v3.11/bin";
- name: Install zip (Windows)
if: matrix.triple.os == 'windows-2019'
uses: crazy-max/ghaction-chocolatey@v1.4.0
with:
args: install -y zip
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
target: ${{ matrix.triple.target }}
- name: Build
uses: actions-rs/cargo@v1
with:
command: build
args: --release --verbose --target=${{ matrix.triple.target }}
use-cross: ${{ matrix.triple.cross }}
- name: Bundle autocomplete
shell: bash
run: |
echo $PWD
ls
echo "completion_dir=$(ls ./target/release/build/bottom-*/out/btm.bash | head -n1 | xargs dirname)" >> $GITHUB_ENV
cp -r $completion_dir completion
- name: Strip release binary (x86-64 or i686)
if: matrix.triple.target != 'aarch64-unknown-linux-gnu' && matrix.triple.target != 'armv7-unknown-linux-gnueabihf' && matrix.triple.target != 'powerpc64le-unknown-linux-gnu'
run: |
strip target/release/btm
# - name: Strip release binary (aarch64)
# if: matrix.triple.target == 'aarch64-unknown-linux-gnu'
# run: |
# docker run --rm -v \
# "$PWD/target:/target:Z" \
# rustembedded/cross:aarch64-unknown-linux-gnu \
# aarch64-linux-gnu-strip \
# /target/aarch64-unknown-linux-gnu/release/btm
# - name: Strip release binary (armv7)
# if: matrix.triple.target == 'armv7-unknown-linux-gnueabihf'
# run: |
# docker run --rm -v \
# "$PWD/target:/target:Z" \
# rustembedded/cross:armv7-unknown-linux-gnueabihf \
# arm-linux-gnueabihf-strip \
# /target/armv7-unknown-linux-gnueabihf/release/btm
# - name: Strip release binary (ppc)
# if: matrix.triple.target == 'powerpc64le-unknown-linux-gnu'
# run: |
# docker run --rm -v \
# "$PWD/target:/target:Z" \
# rustembedded/cross:powerpc64le-unknown-linux-gnu \
# powerpc64le-linux-gnu-strip \
# /target/powerpc64le-unknown-linux-gnu/release/btm
- name: Bundle release and completion (Windows)
shell: bash
run: |
cp target/release/btm btm.exe;
zip -r bottom_${{ matrix.triple.target }}.zip "btm.exe", "completion"
echo "ASSET=bottom_${{ matrix.triple.target }}.zip" >> $GITHUB_ENV
- name: Bundle release and completion (Linux and macOS)
shell: bash
run: |
cp target/release/btm ./btm;
tar -czvf bottom_${{ matrix.triple.target }}.tar.gz btm completion;
echo "ASSET=bottom_${{ matrix.triple.target }}.tar.gz" >> $GITHUB_ENV
- name: Upload main release
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ env.RELEASE_UPLOAD_URL }}
asset_path: ${{ env.ASSET }}
asset_name: ${{ env.ASSET }}
asset_content_type: application/octet-stream
- name: Build msi file (only Windows x86-64 MSVC)
if: matrix.triple.target == 'x86_64-pc-windows-msvc'
shell: powershell
run: |
cargo install cargo-wix;
cargo wix init;
cargo wix;
- name: Upload msi file (only Windows x86-64 MSVC)
if: matrix.triple.target == 'x86_64-pc-windows-msvc'
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ env.RELEASE_UPLOAD_URL }}
asset_path: bottom_x86_64_installer.msi
asset_name: bottom_x86_64_installer.msi
asset_content_type: application/octet-stream
- name: Build winget (only Windows x86-64 MSVC)
if: matrix.triple.target == 'x86_64-pc-windows-msvc'
run: |
python "./deployment/packager.py" ${{ env.RELEASE_VERSION }} "./deployment/windows/winget/winget.yaml.template" "${{ env.RELEASE_VERSION }}.yaml" "SHA256" "./bottom_x86_64_installer.msi";
- name: Upload winget file (only Windows x86-64 MSVC)
if: matrix.triple.target == 'x86_64-pc-windows-msvc'
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ env.RELEASE_UPLOAD_URL }}
asset_path: ${{ env.RELEASE_VERSION }}.yaml
asset_name: ${{ env.RELEASE_VERSION }}.yaml
asset_content_type: application/octet-stream
- name: Build Debian release (only Linux x86-64 GNU)
if: matrix.triple.target == 'x86_64-unknown-linux-gnu'
run: |
cargo install cargo-deb;
cargo deb;
cp ./target/debian/bottom_*.deb ./bottom_${{ env.RELEASE_VERSION }}_amd64.deb
- name: Upload Debian file (only Linux x86-64 GNU)
if: matrix.triple.target == 'x86_64-unknown-linux-gnu'
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ env.RELEASE_UPLOAD_URL }}
asset_path: bottom_${{ env.RELEASE_VERSION }}_amd64.deb
asset_name: bottom_${{ env.RELEASE_VERSION }}_amd64.deb
asset_content_type: application/octet-stream
- name: Build AUR PKGBUILD (only Linux x86-64 GNU)
if: matrix.triple.target == 'x86_64-unknown-linux-gnu'
run: |
curl -LO "https://github.com/ClementTsang/bottom/archive/${{ env.RELEASE_VERSION }}.tar.gz";
python "./deployment/packager.py" ${{ env.RELEASE_VERSION }} "./deployment/linux/arch/PKGBUILD.template" "./PKGBUILD" "SHA512" "./${{ env.target }}.tar.gz";
- name: Build AUR binary PKGBUILD (only Linux x86-64 GNU)
if: matrix.triple.target == 'x86_64-unknown-linux-gnu'
run: |
python "./deployment/packager.py" ${{ env.RELEASE_VERSION }} "./deployment/linux/arch/PKGBUILD_BIN.template" "./PKGBUILD_BIN" "SHA512" "./bottom_x86_64-unknown-linux-gnu.tar.gz";
- name: Tar AUR PKGBUILDs
if: matrix.triple.target == 'x86_64-unknown-linux-gnu'
run: |
tar -czvf arch.tar.gz PKGBUILD_BIN PKGBUILD;
- name: Upload AUR PKGBUILDs (only Linux x86-64 GNU)
if: matrix.triple.target == 'x86_64-unknown-linux-gnu'
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ env.RELEASE_UPLOAD_URL }}
asset_path: arch.tar.gz
asset_name: arch.tar.gz
asset_content_type: application/octet-stream

View File

@ -5,27 +5,46 @@ on:
types: [published] types: [published]
jobs: jobs:
deploy: post-deploy:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Set env - name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Test env - name: Test env
run: | run: |
echo $RELEASE_VERSION echo $RELEASE_VERSION
- name: Make sure you're not on master... - name: Make sure you're not on master...
run: | run: |
if [[ $RELEASE_VERSION == "master" ]]; then if [[ $RELEASE_VERSION == "master" ]]; then
exit 1 exit 1
fi fi
- name: Download packages - name: Download packages
run: | run: |
curl -LO "https://github.com/ClementTsang/bottom/releases/download/$RELEASE_VERSION/bottom_x86_64-unknown-linux-gnu.tar.gz"; curl -LO "https://github.com/ClementTsang/bottom/releases/download/$RELEASE_VERSION/bottom_x86_64-unknown-linux-gnu.tar.gz";
curl -LO "https://github.com/ClementTsang/bottom/releases/download/$RELEASE_VERSION/bottom_x86_64-apple-darwin.tar.gz"; curl -LO "https://github.com/ClementTsang/bottom/releases/download/$RELEASE_VERSION/bottom_x86_64-apple-darwin.tar.gz";
- name: Execute packaging script
- name: Execute choco packaging script
run: |
python "./deployment/windows/choco/choco_packager.py" "bottom_i686-pc-windows-msvc.zip" "bottom_x86_64-pc-windows-msvc.zip" $TRAVIS_TAG "./deployment/windows/choco/bottom.nuspec.template" "./deployment/windows/choco/chocolateyinstall.ps1.template" "./deployment/windows/choco/bottom.nuspec" "./deployment/windows/choco/tools/chocolateyinstall.ps1" "./deployment/windows/choco/tools/";
zip -r choco.zip "./deployment/windows/choco/bottom.nuspec" "./deployment/windows/choco/tools/";
- name: Upload choco.zip to release
uses: svenstaro/upload-release-action@2.1.0
with:
repo_token: ${{ secrets.BOTTOM_PACKAGE_DEPLOYMENT }}
file: choco.zip
tag: ${{ env.RELEASE_VERSION }}
overwrite: true
- name: Execute Homebrew packaging script
run: | run: |
python "./deployment/packager.py" $RELEASE_VERSION "./deployment/macos/homebrew/bottom.rb.template" "./bottom.rb" "SHA256" "./bottom_x86_64-apple-darwin.tar.gz" "./bottom_x86_64-unknown-linux-gnu.tar.gz"; python "./deployment/packager.py" $RELEASE_VERSION "./deployment/macos/homebrew/bottom.rb.template" "./bottom.rb" "SHA256" "./bottom_x86_64-apple-darwin.tar.gz" "./bottom_x86_64-unknown-linux-gnu.tar.gz";
- name: Upload bottom.rb to release - name: Upload bottom.rb to release
uses: svenstaro/upload-release-action@2.1.0 uses: svenstaro/upload-release-action@2.1.0
with: with:
@ -33,12 +52,14 @@ jobs:
file: bottom.rb file: bottom.rb
tag: ${{ env.RELEASE_VERSION }} tag: ${{ env.RELEASE_VERSION }}
overwrite: true overwrite: true
- name: Trigger homebrew - name: Trigger homebrew
run: | run: |
curl -X POST https://api.github.com/repos/ClementTsang/homebrew-bottom/dispatches \ curl -X POST https://api.github.com/repos/ClementTsang/homebrew-bottom/dispatches \
-H 'Accept: application/vnd.github.everest-preview+json' \ -H 'Accept: application/vnd.github.everest-preview+json' \
-u ${{ secrets.BOTTOM_PACKAGE_DEPLOYMENT }} \ -u ${{ secrets.BOTTOM_PACKAGE_DEPLOYMENT }} \
--data '{ "event_type": "update", "client_payload": { "version": "'"$RELEASE_VERSION"'" } }' --data '{ "event_type": "update", "client_payload": { "version": "'"$RELEASE_VERSION"'" } }'
- name: Trigger choco - name: Trigger choco
run: | run: |
curl -X POST https://api.github.com/repos/ClementTsang/choco-bottom/dispatches \ curl -X POST https://api.github.com/repos/ClementTsang/choco-bottom/dispatches \

View File

@ -1,214 +0,0 @@
language: rust
notifications:
email:
on_success: never
matrix:
include:
# Standard x86-64 stuff, stable and beta, on tier-1 environments
- os: linux
env: TARGET=x86_64-unknown-linux-gnu
arch: amd64
rust: stable
- os: linux
env: TARGET=x86_64-unknown-linux-gnu
arch: amd64
rust: beta
- os: osx
env: TARGET=x86_64-apple-darwin
arch: amd64
rust: stable
- os: osx
env: TARGET=x86_64-apple-darwin
arch: amd64
rust: beta
- os: windows
env: TARGET=x86_64-pc-windows-msvc
arch: amd64
rust: stable
- os: windows
env: TARGET=x86_64-pc-windows-msvc
arch: amd64
rust: beta
# musl
- os: linux
env: TARGET=x86_64-unknown-linux-musl
arch: amd64
rust: stable
# Windows GNU
- os: windows
env: TARGET=x86_64-pc-windows-gnu
arch: amd64
rust: stable
# PowerPC 64 LE
- os: linux
env: TARGET=powerpc64le-unknown-linux-gnu
arch: ppc64le
rust: stable
# ARM stuff (skip beta for now, see https://github.com/rust-lang/rust/issues/62896)
- os: linux
env: TARGET=aarch64-unknown-linux-gnu
arch: arm64
rust: stable
- os: linux
env: TARGET=armv7-unknown-linux-gnueabihf
arch: amd64
rust: stable
addons:
apt:
packages: &armhf
- gcc-arm-linux-gnueabihf
- libc6-armhf-cross
- libc6-dev-armhf-cross
fast_finish: true
exclude:
- if: tag IS present
rust: beta
branches:
only:
- master
- /^\d+\.\d+(\.\d+)?(-\S*)?$/
cache: cargo
before_install:
- export RUST_BACKTRACE=1
- |
if [[ $TRAVIS_OS_NAME == "windows" && -n $TRAVIS_TAG ]]; then
echo "Pre-installing deploy dependencies for Windows...";
powershell Install-WindowsFeature Net-Framework-Core;
choco install -y wixtoolset;
export PATH=$PATH:"/c/Program Files (x86)/WiX Toolset v3.11/bin";
choco install zip;
rustup target add i686-pc-windows-msvc;
fi
before_script:
- rustup target add $TARGET
- rustup update
- |
# Only check clippy if stable...
if [[ $TRAVIS_RUST_VERSION == "stable" ]]; then
rustup component add clippy
fi
script:
- |
# Only check clippy if stable...
if [[ $TRAVIS_RUST_VERSION == "stable" ]]; then
cargo clippy -- -D clippy::all
fi
- |
if [[ $TARGET == "armv7-unknown-linux-gnueabihf" ]]; then
cargo build --verbose --target $TARGET
else
CARGO_HUSKY_DONT_INSTALL_HOOKS=true cargo test --verbose --target $TARGET
fi
before_deploy:
- |
echo "Test whether installing works. This is mostly just a sanity check.";
cargo install --path . --target $TARGET --locked --force;
- |
echo "Building release..."
if [[ $TRAVIS_OS_NAME == "windows" ]]; then
echo "Building Windows 64-bit, target: $TARGET...";
cargo build --release --target $TARGET;
local target_dir=$(ls target/release/build/bottom-*/out/btm.bash | head -n1 | xargs dirname)
cp -r $target_dir completions
mv "./target/$TARGET/release/btm" "btm.exe";
strip "btm.exe"
zip -r bottom_$TARGET.zip "btm.exe" "completions";
rm "btm.exe"
rm -r "completions"
if [[ $TARGET == "x86_64-pc-windows-msvc" ]]; then
echo "Building further results for x86_64-pc-windows-msvc target..."
echo "Building Windows 32-bit...";
cargo clean;
cargo build --release --target i686-pc-windows-msvc;
local target_dir=$(ls target/release/build/bottom-*/out/btm.bash | head -n1 | xargs dirname)
cp -r $target_dir completions
mv "./target/i686-pc-windows-msvc/release/btm" "btm.exe";
strip "btm.exe"
zip -r bottom_i686-pc-windows-msvc.zip "btm.exe" "completions";
rm "btm.exe"
rm -r "completions"
echo "Building choco template...";
python "./deployment/windows/choco/choco_packager.py" "bottom_i686-pc-windows-msvc.zip" "bottom_x86_64-pc-windows-msvc.zip" $TRAVIS_TAG "./deployment/windows/choco/bottom.nuspec.template" "./deployment/windows/choco/chocolateyinstall.ps1.template" "./deployment/windows/choco/bottom.nuspec" "./deployment/windows/choco/tools/chocolateyinstall.ps1" "./deployment/windows/choco/tools/";
cd "./deployment/windows/choco/"
zip -r choco.zip "bottom.nuspec" "tools/";
cd "../../../";
mv "./deployment/windows/choco/choco.zip" "./choco.zip"
echo "Building msi file...";
cargo install cargo-wix;
cargo wix init;
cargo wix;
echo "Building winget template...";
python "./deployment/packager.py" $TRAVIS_TAG "./deployment/windows/winget/winget.yaml.template" "$TRAVIS_TAG.yaml" "SHA256" "./bottom_x86_64_installer.msi";
fi
echo "Done Windows pre-deploy!";
else
echo "Building release for macOS/Linux, target: $TARGET";
cargo build --release;
cp ./target/release/btm btm;
strip btm;
local target_dir=$(ls target/release/build/bottom-*/out/btm.bash | head -n1 | xargs dirname)
cp -r $target_dir completions
echo "Tar-ing macOS/Linux binary and completions..."
tar -czvf bottom_$TARGET.tar.gz btm completions;
if [[ $TRAVIS_OS_NAME == "linux" && $TARGET == "x86_64-unknown-linux-gnu" ]]; then
echo "Building further results for x86_64-unknown-linux-gnu..."
echo "Generating AUR template...";
python "./deployment/packager.py" $TRAVIS_TAG "./deployment/linux/arch/PKGBUILD_BIN.template" "./PKGBUILD_BIN" "SHA512" "./bottom_x86_64-unknown-linux-gnu.tar.gz";
curl -LO "https://github.com/ClementTsang/bottom/archive/$TRAVIS_TAG.tar.gz";
echo "Generating AUR binary template...";
python "./deployment/packager.py" $TRAVIS_TAG "./deployment/linux/arch/PKGBUILD.template" "./PKGBUILD" "SHA512" "./$TRAVIS_TAG.tar.gz";
rm "$TRAVIS_TAG.tar.gz";
echo "Tar-ing AUR PKGBUILDs...";
tar -czvf arch.tar.gz PKGBUILD_BIN PKGBUILD;
# Note this requires the completions directory in the current directory.
echo "Generating Debian install file...";
cargo install cargo-deb;
cargo deb;
cp ./target/debian/bottom_*.deb .;
fi
echo "Done macOS/Linux pre-deploy!";
fi
deploy:
provider: releases
overwrite: true
api_key:
secure: ppBn0DnqZ+Rzb84doZQxYdUBQ0rVrZNIiH6ZSFEiCVJd0ttqXfOjK/qXbIf/zabwO0Olqz18jwd9piHjNigWRrHwX9N+YH0DZTM3f4WS2/2acvOP3AjSw6oERjYTwS5yKe/XP1sU11uL6O0oAxYFeiAkn7QOM7flVUE2BmmLAs2lLtQ+9ylmUeBGatrkTfQ0Z2i1o7p5mtI2fKUozpImtHq8TClQEsF4oQS5nvkHtpLuPQ0UrJ8vKZijDBeMuLbDkR121ujRnjoBt8+eXBRbwzAvVotwRozyol8noAN3i4VvYueId6oX7Y2DSEp26wnCuRXGurUnyya5JE55AKoevK+SUHRe5+29/2lPbC5d/etZt2tSX1AIJk9fHeIfRPSTzanIIyDpUzSGoMKjl1ARKGrgHYehRxMKpW0cC2xHSlQ+NrA5apLpXKr2IzpkGsxpAxLqRASbX2VJYCEL70WoJfXinZrxeDxXsaWBLGaj9ySyk059GZBMz9GBdYNtwF3G/3aSIt0nkEGgKipgYXHi5keKKGmyfeZyYkRJRbc369JRZiHuOWct+1ZsOdrKKdbyAdcDGj5kbKuYwA6E+wgI62IWvUTm+vtKDuIbLpu/48aOUuEslGHkYAszLTapX/Le9c9XTu3L+PMgkPq2LSyaeGrfnM+DE/Hwe3Jvurccp94=
file_glob: true
file:
- bottom_*.tar.gz
- bottom_*.zip
- bottom_*.deb
- arch.tar.gz
- bottom.rb
- choco.zip
- bottom_x86_64_installer.msi
- $TRAVIS_TAG.yaml
skip_cleanup: true
on:
tags: true
condition: "$TRAVIS_RUST_VERSION = stable"
repo: ClementTsang/bottom
draft: true

View File

@ -48,6 +48,7 @@
"cvars", "cvars",
"czvf", "czvf",
"denylist", "denylist",
"dont",
"eselect", "eselect",
"fedoracentos", "fedoracentos",
"fpath", "fpath",
@ -68,6 +69,7 @@
"memb", "memb",
"minwindef", "minwindef",
"musl", "musl",
"musleabihf",
"n'th", "n'th",
"nixos", "nixos",
"noheader", "noheader",

View File

@ -5,11 +5,15 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.5.1] - Unreleased ## [0.5.1] - 2020-11-22
### Features ## Bug Fixes
### Changes - [6ef1d66](https://github.com/ClementTsang/bottom/commit/6ef1d66b2bca49452572a2cabb87d338dcf56e7b): Remove nord as a valid colour for now.
- [e04ce4f](https://github.com/ClementTsang/bottom/commit/e04ce4fa1b42e99f00cf8825bcd58da43552214e): Fix `--use_old_network_legend`.
- [99d0402](https://github.com/ClementTsang/bottom/commit/99d04029f0ebfc73d36adb06ea58ad68f090017c): Fix config detection for built-in colours.
### Bug Fixes ### Bug Fixes

42
Cargo.lock generated
View File

@ -108,7 +108,7 @@ checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
[[package]] [[package]]
name = "bottom" name = "bottom"
version = "0.5.0" version = "0.5.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"assert_cmd", "assert_cmd",
@ -391,9 +391,9 @@ dependencies = [
[[package]] [[package]]
name = "futures" name = "futures"
version = "0.3.7" version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95314d38584ffbfda215621d723e0a3906f032e03ae5551e650058dac83d4797" checksum = "9b3b0c040a1fe6529d30b3c5944b280c7f0dcb2930d2c3062bca967b602583d0"
dependencies = [ dependencies = [
"futures-channel", "futures-channel",
"futures-core", "futures-core",
@ -406,9 +406,9 @@ dependencies = [
[[package]] [[package]]
name = "futures-channel" name = "futures-channel"
version = "0.3.7" version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0448174b01148032eed37ac4aed28963aaaa8cfa93569a08e5b479bbc6c2c151" checksum = "4b7109687aa4e177ef6fe84553af6280ef2778bdb7783ba44c9dc3399110fe64"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"futures-sink", "futures-sink",
@ -416,15 +416,15 @@ dependencies = [
[[package]] [[package]]
name = "futures-core" name = "futures-core"
version = "0.3.7" version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18eaa56102984bed2c88ea39026cff3ce3b4c7f508ca970cedf2450ea10d4e46" checksum = "847ce131b72ffb13b6109a221da9ad97a64cbe48feb1028356b836b47b8f1748"
[[package]] [[package]]
name = "futures-executor" name = "futures-executor"
version = "0.3.7" version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5f8e0c9258abaea85e78ebdda17ef9666d390e987f006be6080dfe354b708cb" checksum = "4caa2b2b68b880003057c1dd49f1ed937e38f22fcf6c212188a121f08cf40a65"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"futures-task", "futures-task",
@ -433,15 +433,15 @@ dependencies = [
[[package]] [[package]]
name = "futures-io" name = "futures-io"
version = "0.3.7" version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e1798854a4727ff944a7b12aa999f58ce7aa81db80d2dfaaf2ba06f065ddd2b" checksum = "611834ce18aaa1bd13c4b374f5d653e1027cf99b6b502584ff8c9a64413b30bb"
[[package]] [[package]]
name = "futures-macro" name = "futures-macro"
version = "0.3.7" version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e36fccf3fc58563b4a14d265027c627c3b665d7fed489427e88e7cc929559efe" checksum = "77408a692f1f97bcc61dc001d752e00643408fbc922e4d634c655df50d595556"
dependencies = [ dependencies = [
"proc-macro-hack", "proc-macro-hack",
"proc-macro2", "proc-macro2",
@ -451,24 +451,24 @@ dependencies = [
[[package]] [[package]]
name = "futures-sink" name = "futures-sink"
version = "0.3.7" version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e3ca3f17d6e8804ae5d3df7a7d35b2b3a6fe89dac84b31872720fc3060a0b11" checksum = "f878195a49cee50e006b02b93cf7e0a95a38ac7b776b4c4d9cc1207cd20fcb3d"
[[package]] [[package]]
name = "futures-task" name = "futures-task"
version = "0.3.7" version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96d502af37186c4fef99453df03e374683f8a1eec9dcc1e66b3b82dc8278ce3c" checksum = "7c554eb5bf48b2426c4771ab68c6b14468b6e76cc90996f528c3338d761a4d0d"
dependencies = [ dependencies = [
"once_cell", "once_cell",
] ]
[[package]] [[package]]
name = "futures-util" name = "futures-util"
version = "0.3.7" version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "abcb44342f62e6f3e8ac427b8aa815f724fd705dfad060b18ac7866c15bb8e34" checksum = "d304cff4a7b99cfb7986f7d43fbe93d175e72e704a8860787cc95e9ffd85cbd2"
dependencies = [ dependencies = [
"futures-channel", "futures-channel",
"futures-core", "futures-core",
@ -1360,9 +1360,9 @@ checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"
[[package]] [[package]]
name = "unicode-segmentation" name = "unicode-segmentation"
version = "1.6.0" version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0" checksum = "db8716a166f290ff49dabc18b44aa407cb7c6dbe1aa0971b44b8a24b0ca35aae"
[[package]] [[package]]
name = "unicode-width" name = "unicode-width"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "bottom" name = "bottom"
version = "0.5.0" version = "0.5.1"
authors = ["Clement Tsang <cjhtsang@uwaterloo.ca>"] authors = ["Clement Tsang <cjhtsang@uwaterloo.ca>"]
edition = "2018" edition = "2018"
repository = "https://github.com/ClementTsang/bottom" repository = "https://github.com/ClementTsang/bottom"
@ -32,7 +32,7 @@ crossterm = "0.18.2"
ctrlc = {version = "3.1", features = ["termination"]} ctrlc = {version = "3.1", features = ["termination"]}
clap = "2.33" clap = "2.33"
dirs-next = "2.0.0" dirs-next = "2.0.0"
futures = "0.3.7" futures = "0.3.8"
indexmap = "1.6.0" indexmap = "1.6.0"
itertools = "0.9.0" itertools = "0.9.0"
lazy_static = "1.4.0" lazy_static = "1.4.0"
@ -69,9 +69,9 @@ section = "utility"
assets = [ assets = [
["target/release/btm", "usr/bin/", "755"], ["target/release/btm", "usr/bin/", "755"],
["LICENSE", "usr/share/doc/btm/", "644"], ["LICENSE", "usr/share/doc/btm/", "644"],
["completions/btm.bash", "usr/share/bash-completion/completions/btm", "644"], ["completion/btm.bash", "usr/share/bash-completion/completions/btm", "644"],
["completions/btm.fish", "usr/share/fish/vendor_completions.d/btm.fish", "644"], ["completion/btm.fish", "usr/share/fish/vendor_completions.d/btm.fish", "644"],
["completions/_btm", "usr/share/zsh/vendor-completions/", "644"], ["completion/_btm", "usr/share/zsh/vendor-completions/", "644"],
] ]
extended-description = """\ extended-description = """\
A cross-platform graphical process/system monitor with a customizable interface and a multitude of A cross-platform graphical process/system monitor with a customizable interface and a multitude of

View File

@ -1,12 +1,11 @@
# bottom # bottom
[![Build Status](https://travis-ci.com/ClementTsang/bottom.svg?token=1wvzVgp94E1TZyPNs8JF&branch=master)](https://travis-ci.com/ClementTsang/bottom) ![ci](https://github.com/ClementTsang/bottom/workflows/ci/badge.svg)
[![crates.io link](https://img.shields.io/crates/v/bottom.svg)](https://crates.io/crates/bottom) [![crates.io link](https://img.shields.io/crates/v/bottom.svg)](https://crates.io/crates/bottom)
[![tokei](https://tokei.rs/b1/github/ClementTsang/bottom?category=code)](https://github.com/ClementTsang/bottom)
A cross-platform graphical process/system monitor with a customizable interface and a multitude of features. Supports Linux, macOS, and Windows. Inspired by both [gtop](https://github.com/aksakalli/gtop) and [gotop](https://github.com/cjbassi/gotop). A cross-platform graphical process/system monitor with a customizable interface and a multitude of features. Supports Linux, macOS, and Windows. Inspired by both [gtop](https://github.com/aksakalli/gtop) and [gotop](https://github.com/cjbassi/gotop).
![Quick demo recording showing off searching, expanding, and process killing.](assets/demo.gif) _Theme based on [gruvbox](https://github.com/morhetz/gruvbox) (run with_ `--color gruvbox`_). Font is [IBM Plex Mono](https://www.ibm.com/plex/), terminal is [Kitty](https://sw.kovidgoyal.net/kitty/). Recorded on version **0.5.0**._ ![Quick demo recording showing off searching, expanding, and process killing.](assets/demo.gif) _Theme based on [gruvbox](https://github.com/morhetz/gruvbox)_ (`--color gruvbox`). _Font is [IBM Plex Mono](https://www.ibm.com/plex/), terminal is [Kitty](https://sw.kovidgoyal.net/kitty/). Recorded on version **0.5.1**._
**Note**: If you are reading this on the master branch, then it may refer to in-development or un-released features/changes. Please refer to [release branch](https://github.com/ClementTsang/bottom/tree/release/README.md) or [crates.io](https://crates.io/crates/bottom) for the most up-to-date _release_ documentation. **Note**: If you are reading this on the master branch, then it may refer to in-development or un-released features/changes. Please refer to [release branch](https://github.com/ClementTsang/bottom/tree/release/README.md) or [crates.io](https://crates.io/crates/bottom) for the most up-to-date _release_ documentation.
@ -68,7 +67,7 @@ Note that bottom is:
- Officially tested and released for only `x86_64` (and `i686` for Windows) - Officially tested and released for only `x86_64` (and `i686` for Windows)
- Developed mainly for macOS, Windows, and Linux - Developed mainly for macOS, Windows, and Linux
Anything outside of this (i.e: ARM builds, building on Nightly, building on another OS) is currently not guaranteed, even if it does happen to work. For example, ARM is tested against on Travis and release builds are supported, but not all features will work (such as R/s and W/s for disks). Anything outside of this (i.e: ARM builds, building on Nightly, building on another OS) is currently not guaranteed, even if it does happen to work. For example, ARM is compiled on the CI pipeline and release builds will be provided, but not all features may work (such as R/s and W/s for disks).
### Manually ### Manually
@ -87,13 +86,12 @@ cd bottom
cargo install --path . cargo install --path .
# Download from releases and install # Download from releases and install
curl -LO https://github.com/ClementTsang/bottom/archive/0.5.0.tar.gz curl -LO https://github.com/ClementTsang/bottom/archive/0.5.1.tar.gz
tar -xzvf 0.5.0.tar.gz tar -xzvf 0.5.1.tar.gz
cargo install --path . cargo install --path .
``` ```
Or, you can just download the binary from the [latest release](https://github.com/ClementTsang/bottom/releases/latest) and install/use it Or, you can just download the binary from the [latest release](https://github.com/ClementTsang/bottom/releases/latest).
in whatever way you want.
### Cargo ### Cargo
@ -121,8 +119,8 @@ yay -S bottom-bin
A `.deb` file is provided on each [release](https://github.com/ClementTsang/bottom/releases/latest): A `.deb` file is provided on each [release](https://github.com/ClementTsang/bottom/releases/latest):
```bash ```bash
curl -LO https://github.com/ClementTsang/bottom/releases/download/0.5.0/bottom_0.5.0_amd64.deb curl -LO https://github.com/ClementTsang/bottom/releases/download/0.5.1/bottom_0.5.1_amd64.deb
sudo dpkg -i bottom_0.5.0_amd64.deb sudo dpkg -i bottom_0.5.1_amd64.deb
``` ```
### Fedora/CentOS ### Fedora/CentOS
@ -174,7 +172,7 @@ Choco package located [here](https://chocolatey.org/packages/bottom).
choco install bottom choco install bottom
# Version number may be required for newer releases, if available: # Version number may be required for newer releases, if available:
choco install bottom --version=0.5.0 choco install bottom --version=0.5.1
``` ```
### winget ### winget

View File

@ -6,4 +6,3 @@ fn_args_layout = "Compressed"
use_field_init_shorthand = true use_field_init_shorthand = true
tab_spaces = 4 tab_spaces = 4
max_width = 100 max_width = 100
newline_style = "Unix"

View File

@ -1,3 +1,6 @@
#[cfg(not(any(target_arch = "aarch64", target_arch = "arm")))]
use futures::stream::StreamExt;
#[derive(Debug, Clone, Default)] #[derive(Debug, Clone, Default)]
pub struct DiskHarvest { pub struct DiskHarvest {
pub name: String, pub name: String,
@ -61,8 +64,6 @@ pub async fn arm_disk_usage(
pub async fn non_arm_io_usage( pub async fn non_arm_io_usage(
get_physical: bool, actually_get: bool, get_physical: bool, actually_get: bool,
) -> crate::utils::error::Result<Option<IOHarvest>> { ) -> crate::utils::error::Result<Option<IOHarvest>> {
use futures::stream::StreamExt;
if !actually_get { if !actually_get {
return Ok(None); return Ok(None);
} }
@ -106,8 +107,6 @@ pub async fn non_arm_io_usage(
pub async fn non_arm_disk_usage( pub async fn non_arm_disk_usage(
actually_get: bool, actually_get: bool,
) -> crate::utils::error::Result<Option<Vec<DiskHarvest>>> { ) -> crate::utils::error::Result<Option<Vec<DiskHarvest>>> {
use futures::stream::StreamExt;
if !actually_get { if !actually_get {
return Ok(None); return Ok(None);
} }

View File

@ -355,7 +355,8 @@ pub const OLD_CONFIG_TEXT: &str = r##"# This is a default config file for bottom
# This group of options represents a command-line flag/option. Flags explicitly # This group of options represents a command-line flag/option. Flags explicitly
# added when running (ie: btm -a) will override this config file if an option # added when running (ie: btm -a) will override this config file if an option
# is also set here. # is also set here.
#[flags]
[flags]
# Whether to hide the average cpu entry. # Whether to hide the average cpu entry.
#hide_avg_cpu = false #hide_avg_cpu = false
# Whether to use dot markers rather than braille. # Whether to use dot markers rather than braille.
@ -405,7 +406,8 @@ pub const OLD_CONFIG_TEXT: &str = r##"# This is a default config file for bottom
# These are all the components that support custom theming. Note that colour support # These are all the components that support custom theming. Note that colour support
# will depend on terminal support. # will depend on terminal support.
#[colors]
#[colors] # Uncomment if you want to use colors
# Represents the colour of table headers (processes, CPU, disks, temperature). # Represents the colour of table headers (processes, CPU, disks, temperature).
#table_header_color="LightBlue" #table_header_color="LightBlue"
# Represents the colour of the label each widget has. # Represents the colour of the label each widget has.

View File

@ -22,7 +22,7 @@ const PROC_LAYOUT: &str = r##"
"##; "##;
fn test_create_layout( fn test_create_layout(
rows: &Vec<Row>, default_widget_id: u64, default_widget_type: Option<BottomWidgetType>, rows: &[Row], default_widget_id: u64, default_widget_type: Option<BottomWidgetType>,
default_widget_count: u64, left_legend: bool, default_widget_count: u64, left_legend: bool,
) -> BottomLayout { ) -> BottomLayout {
let mut iter_id = 0; // A lazy way of forcing unique IDs *shrugs* let mut iter_id = 0; // A lazy way of forcing unique IDs *shrugs*

View File

@ -6,4 +6,4 @@
// TODO: Test moving around with procs and their hidden children. // TODO: Test moving around with procs and their hidden children.
// TODO: Test moving around with cpus if they get hidden. // TODO: Test moving around with cpus if they get hidden.