Skip to content

Add "match" argument to git-describe #1201

Add "match" argument to git-describe

Add "match" argument to git-describe #1201

Workflow file for this run

on:
# Trigger the workflow on push to master or any pull request
# Ignore all tags
push:
branches:
- master
tags-ignore:
- "*"
pull_request:
branches:
- "*"
tags-ignore:
- "*"
schedule:
# * is a special character in YAML so you have to quote this string
- cron: "13 3 * * *"
name: 🦀 Rust 🦀
jobs:
rustfmt:
name: 📌 Formatting 📌
runs-on: ubuntu-latest
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@v3
- name: ⭕ Rustfmt Check ⭕
run: cargo fmt --all -- --check
lints-linux:
name: 🕳️ Lints Linux 🕳️
needs: rustfmt
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
rust: "1.65.0"
- os: ubuntu-latest
rust: stable
- os: ubuntu-latest
rust: beta
- os: ubuntu-latest
rust: nightly
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@v3
- name: 💵 Cache 💵
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-${{ matrix.rust }}-${{ hashFiles('**/Cargo.lock', '**/main.yml') }}
- name: 🧰 Toolchain 🧰
run: |
rustup toolchain remove ${{ matrix.rust }}
rm -f ~/.cargo/bin/rustfmt
rm -f ~/.cargo/bin/cargo-fmt
rm -f ~/.cargo/bin/cargo-clippy
rustup toolchain install ${{ matrix.rust }} --profile default
rustup default ${{ matrix.rust }}
- name: 📎 Clippy 📎
run: |
cargo clippy -p vergen --all-targets --features build,cargo,git,gitcl,rustc,si -- -Dwarnings
cargo clippy -p vergen --all-targets --features build,cargo,git,git2,rustc,si -- -Dwarnings
cargo clippy -p vergen --all-targets --features build,cargo,git,gix,rustc,si -- -Dwarnings
cargo clippy -p vergen-pretty --all-targets --all-features -- -Dwarnings
lints-macos:
name: 🕳️ Lints MacOS 🕳️
needs: rustfmt
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: macos-latest
rust: "1.65.0"
- os: macos-latest
rust: stable
- os: macos-latest
rust: beta
- os: macos-latest
rust: nightly
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@v3
- name: 💵 Cache 💵
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-${{ matrix.rust }}-${{ hashFiles('**/Cargo.lock', '**/main.yml') }}
- name: 🧰 Toolchain 🧰
run: |
rustup toolchain remove ${{ matrix.rust }}
rustup toolchain install ${{ matrix.rust }} --profile default --no-self-update
rustup default ${{ matrix.rust }}
- name: 📎 Clippy 📎
run: |
cargo clippy -p vergen --all-targets --features build,cargo,git,gitcl,rustc,si -- -Dwarnings
cargo clippy -p vergen --all-targets --features build,cargo,git,git2,rustc,si -- -Dwarnings
cargo clippy -p vergen --all-targets --features build,cargo,git,gix,rustc,si -- -Dwarnings
cargo clippy -p vergen-pretty --all-targets --all-features -- -Dwarnings
lints-windows:
name: 🕳️ Lints Windows 🕳️
needs: rustfmt
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: windows-latest
rust: "1.65.0"
- os: windows-latest
rust: stable
- os: windows-latest
rust: beta
- os: windows-latest
rust: nightly
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@v3
- name: 💵 Cache 💵
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-${{ matrix.rust }}-${{ hashFiles('**/Cargo.lock', '**/main.yml') }}
- name: 🧰 Toolchain 🧰
run: |
rustup toolchain remove ${{ matrix.rust }}
rustup toolchain install ${{ matrix.rust }} --profile default --no-self-update
rustup default ${{ matrix.rust }}
- name: 📎 Clippy 📎
run: |
cargo clippy -p vergen --all-targets --features build,cargo,git,gitcl,rustc,si -- -Dwarnings
cargo clippy -p vergen --all-targets --features build,cargo,git,git2,rustc,si -- -Dwarnings
cargo clippy -p vergen --all-targets --features build,cargo,git,gix,rustc,si -- -Dwarnings
cargo clippy -p vergen-pretty --all-targets --all-features -- -Dwarnings
test-linux:
name: 🧪 Linux 🧪
needs: lints-linux
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
rust: "1.65.0"
target: x86_64-unknown-linux-gnu
- os: ubuntu-latest
rust: stable
target: x86_64-unknown-linux-gnu
- os: ubuntu-latest
rust: beta
target: x86_64-unknown-linux-gnu
- os: ubuntu-latest
rust: nightly
target: x86_64-unknown-linux-gnu
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@v3
- name: 💵 Cache 💵
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/coverage
key: ${{ runner.os }}-${{ matrix.rust }}-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock', '**/main.yml') }}
restore-keys: |
${{ runner.os }}-${{ matrix.rust }}-${{ hashFiles('**/Cargo.lock', '**/main.yml') }}
- name: 🧰 Toolchain 🧰
run: |
rustup toolchain remove ${{ matrix.rust }}-${{ matrix.target }}
rustup toolchain add ${{ matrix.rust }}-${{ matrix.target }} --profile minimal
rustup default ${{ matrix.rust }}
- name: 💾 Install (cargo-binstall) 💾
run: |
rustup override set stable
cargo binstall -V || cargo install cargo-binstall
rustup override remove
- name: 💾 Install (tarpaulin, all-features) 💾
run: cargo binstall --no-confirm --no-symlinks cargo-tarpaulin cargo-all-features
- name: 🧪 Test 🧪
run: |
cargo test-all-features
cargo test -p vergen -F build,cargo,git,gitcl,rustc,si
cargo test -p vergen -F build,cargo,git,git2,rustc,si
cargo test -p vergen -F build,cargo,git,gix,rustc,si
cargo test -p vergen-pretty -F __vergen_test
cargo test -p vergen-pretty -F __vergen_test,color
cargo test -p vergen-pretty -F __vergen_test,trace
cargo test -p vergen-pretty -F __vergen_test,serde
cargo test -p vergen-pretty -F __vergen_test,color,serde
cargo test -p vergen-pretty -F __vergen_test,color,trace
cargo test -p vergen-pretty -F __vergen_test,trace,serde
cargo test -p vergen-pretty -F __vergen_test,color,serde,trace
- name: 🙊 Code Coverage (vergen) 🙊
run: cargo tarpaulin --config vergen/tarpaulin.toml --exclude-files vergen/src/lib.rs --exclude-files vergen-pretty/* --out Xml --output-dir vergen --skip-clean --target-dir target/coverage
- name: 🙊 Code Coverage (vergen-pretty) 🙊
run: cargo tarpaulin --config vergen-pretty/tarpaulin.toml --exclude-files vergen-pretty/src/lib.rs --exclude-files vergen/* --out Xml --output-dir vergen-pretty --skip-clean --target-dir target/coverage
- name: 🙊 Upload Code Coverage 🙊
uses: codecov/codecov-action@v3
with:
files: ./vergen/cobertura.xml,./vergen-pretty/cobertura.xml
test-macos:
name: 🧪 MacOS 🧪
needs: lints-macos
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: macos-latest
rust: "1.65.0"
target: x86_64-apple-darwin
- os: macos-latest
rust: stable
target: x86_64-apple-darwin
- os: macos-latest
rust: beta
target: x86_64-apple-darwin
- os: macos-latest
rust: nightly
target: x86_64-apple-darwin
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@v3
- name: 💵 Cache 💵
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-${{ matrix.rust }}-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock', '**/main.yml') }}
restore-keys: |
${{ runner.os }}-${{ matrix.rust }}-${{ hashFiles('**/Cargo.lock', '**/main.yml') }}
- name: 🧰 Toolchain 🧰
run: |
rustup toolchain remove ${{ matrix.rust }}-${{ matrix.target }}
rustup toolchain add ${{ matrix.rust }}-${{ matrix.target }} --profile minimal
rustup default ${{ matrix.rust }}
- name: 💾 Install (cargo-binstall) 💾
run: |
rustup override set stable
cargo binstall -V || cargo install cargo-binstall
rustup override remove
- name: 💾 Install (all-features) 💾
run: cargo binstall --no-confirm --no-symlinks cargo-all-features
- name: 🧪 Test 🧪
run: |
cargo test-all-features
cargo test -p vergen -F build,cargo,git,gitcl,rustc,si
cargo test -p vergen -F build,cargo,git,git2,rustc,si
cargo test -p vergen -F build,cargo,git,gix,rustc,si
cargo test -p vergen-pretty -F __vergen_test
cargo test -p vergen-pretty -F __vergen_test,color
cargo test -p vergen-pretty -F __vergen_test,trace
cargo test -p vergen-pretty -F __vergen_test,serde
cargo test -p vergen-pretty -F __vergen_test,color,serde
cargo test -p vergen-pretty -F __vergen_test,color,trace
cargo test -p vergen-pretty -F __vergen_test,trace,serde
cargo test -p vergen-pretty -F __vergen_test,color,serde,trace
test-windows:
name: 🧪 Windows 🧪
needs: lints-windows
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: windows-latest
rust: "1.65.0"
target: x86_64-pc-windows-msvc
- os: windows-latest
rust: stable
target: x86_64-pc-windows-msvc
- os: windows-latest
rust: beta
target: x86_64-pc-windows-msvc
- os: windows-latest
rust: nightly
target: x86_64-pc-windows-msvc
- os: windows-latest
rust: "1.65.0"
target: x86_64-pc-windows-gnu
- os: windows-latest
rust: stable
target: x86_64-pc-windows-gnu
- os: windows-latest
rust: beta
target: x86_64-pc-windows-gnu
- os: windows-latest
rust: nightly
target: x86_64-pc-windows-gnu
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@v3
- name: 💵 Cache 💵
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-${{ matrix.rust }}-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock', '**/main.yml') }}
restore-keys: |
${{ runner.os }}-${{ matrix.rust }}-${{ hashFiles('**/Cargo.lock', '**/main.yml') }}
- name: 🧰 Toolchain 🧰
run: |
rustup toolchain remove ${{ matrix.rust }}-${{ matrix.target }}
rustup toolchain add ${{ matrix.rust }}-${{ matrix.target }} --profile minimal --no-self-update
rustup default ${{ matrix.rust }}
- name: 💾 Install (cargo-binstall) 💾
run: |
rustup override set stable
cargo binstall -V || cargo install cargo-binstall
rustup override remove
- name: 💾 Install (all-features) 💾
run: cargo binstall --no-confirm --no-symlinks cargo-all-features
- name: 🧪 Test 🧪
run: |
cargo test-all-features
cargo test -p vergen -F build,cargo,git,gitcl,rustc,si
cargo test -p vergen -F build,cargo,git,git2,rustc,si
cargo test -p vergen -F build,cargo,git,gix,rustc,si
cargo test -p vergen-pretty -F __vergen_test
cargo test -p vergen-pretty -F __vergen_test,color
cargo test -p vergen-pretty -F __vergen_test,trace
cargo test -p vergen-pretty -F __vergen_test,serde
cargo test -p vergen-pretty -F __vergen_test,color,serde
cargo test -p vergen-pretty -F __vergen_test,color,trace
cargo test -p vergen-pretty -F __vergen_test,trace,serde
cargo test -p vergen-pretty -F __vergen_test,color,serde,trace