Fix the repository link in the Cargo.toml
#129
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
name: Rust Validation | |
env: | |
RUSTDOCFLAGS: -D warnings | |
RUSTFLAGS: "-D warnings" | |
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse | |
TARGET_DIR: ./target | |
jobs: | |
check_test: | |
strategy: | |
fail-fast: true | |
matrix: | |
include: | |
- name: linux x64 | |
os: ubuntu-latest | |
target: x86_64-unknown-linux-musl | |
native: true | |
- name: linux aarch | |
os: ubuntu-latest | |
target: aarch64-unknown-linux-gnu | |
native: false | |
- name: macos x64 | |
os: macos-latest | |
target: x86_64-apple-darwin | |
native: true | |
- name: macos aarch | |
os: macos-latest | |
target: aarch64-apple-darwin | |
native: false | |
- name: windows msvc | |
os: windows-latest | |
target: x86_64-pc-windows-msvc | |
native: true | |
- name: windows gnu | |
os: windows-latest | |
target: x86_64-pc-windows-gnu | |
native: true | |
name: "Check ${{ matrix.name }}. test: ${{ matrix.native }}" | |
runs-on: ${{ matrix.os }} | |
env: | |
MAKE_DIST: "1" | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
targets: ${{matrix.target}} | |
- name: Run clippy | |
run: cargo clippy --all-features --all-targets --target ${{ matrix.target }} -- -D warnings | |
- name: Run tests | |
if: matrix.native | |
run: cargo test --target ${{ matrix.target }} | |
- name: Build binary | |
if: matrix.native && matrix.os != 'windows-latest' | |
run: cargo build | |
- name: Test make | |
if: matrix.native && matrix.os != 'windows-latest' | |
run: | | |
cargo_outdir="$(find target -name mpk-stamp -print0 | xargs -0 ls -t | head -n1 | xargs dirname)" | |
echo outdir: "$cargo_outdir" | |
compdir_bash="/usr/share/bash-completion/completions" | |
compdir_fish="/usr/share/fish/vendor_completions.d" | |
compdir_zsh="/usr/share/zsh/vendor-completions" | |
mkdir testdir testdir/completion testdir/doc | |
sh dist/create_install_makefile.sh | |
mv Makefile.dist testdir/Makefile | |
mv "$cargo_outdir"/mpk.1 testdir/doc | |
mv "$cargo_outdir"/* testdir/completion | |
mv target/debug/mpk testdir | |
cd testdir | |
echo -e '\n==== running sudo make install ====' | |
sudo make install | |
echo '==== finished install ====' | |
echo testing files... | |
echo testing mpk presence... | |
test -f /usr/local/bin/mpk | |
echo testing mpk.1 presence... | |
test -f /usr/local/share/man/man1/mpk.1 | |
if [ -d "$compdir_bash" ]; then | |
echo testing mpk bash presence... | |
test -f "${compdir_bash}/mpk" | |
fi | |
if [ -d "$compdir_fish" ]; then | |
echo testing mpk fish presence... | |
test -f "${compdir_fish}/mpk.fish" | |
fi | |
if [ -d "$compdir_zsh" ]; then | |
echo testing mpk zsh presence... | |
test -f "${compdir_zsh}/_mpk" | |
fi | |
echo -e '\n==== running sudo make uninstall ====' | |
sudo make uninstall | |
echo '==== finished uninstall ====' | |
echo testing mpk removal... | |
test ! -f /usr/local/bin/mpk | |
echo testing mpk.1 removal... | |
test ! -f /usr/local/share/man/man1/mpk.1 | |
if [ -d "$compdir_bash" ]; then | |
echo testing mpk bash removal... | |
test ! -f "${compdir_bash}/mpk" | |
fi | |
if [ -d "$compdir_fish" ]; then | |
echo testing mpk fish removal... | |
test ! -f "${compdir_fish}/mpk.fish" | |
fi | |
if [ -d "$compdir_zsh" ]; then | |
echo testing mpk zsh removal... | |
test ! -f "${compdir_zsh}/_mpk" | |
fi | |
mkdir -p ~/.local | |
echo -e '\n==== running install with prefix ====' | |
make install PREFIX="~/local" | |
echo '==== finished install ====' | |
echo testing mpk presence... | |
test -f ~/local/bin/mpk | |
echo -e '\n==== running uninstall with prefix ====' | |
make uninstall PREFIX="~/local" | |
echo '==== finished uninstall ====' | |
echo testing mpk removal... | |
test ! -f ~/local/bin/mpk | |
fmt: | |
name: "Format (cargo fmt)" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: rustfmt | |
- run: cargo fmt --all -- --check | |
doc: | |
name: "Docs (cargo doc)" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- uses: dtolnay/rust-toolchain@nightly | |
- run: cargo doc --document-private-items | |
outdated: | |
name: Outdated | |
runs-on: ubuntu-latest | |
timeout-minutes: 45 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/install@cargo-outdated | |
- run: cargo outdated --workspace --exit-code 1 |