Skip to content

🦀 vergen 🦀

🦀 vergen 🦀 #1224

Workflow file for this run

on:
workflow_dispatch:
push:
branches:
- master
- legacy/*
tags-ignore:
- "*"
pull_request:
schedule:
- cron: "13 4 * * *"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
name: 🦀 vergen 🦀
jobs:
rustfmt:
name: 📌 Formatting 📌
# main
uses: rustyhorde/workflows/.github/workflows/rustfmt.yml@7a073ab416038755f63ff549d1331c9644d37cd7
lints-linux:
name: 🕳️ Clippy (Linux) 🕳️
needs: rustfmt
# main
uses: rustyhorde/workflows/.github/workflows/clippy-all-features.yml@7a073ab416038755f63ff549d1331c9644d37cd7
with:
os: ubuntu-latest
channel: nightly
target: x86_64-unknown-linux-gnu
update: true
project: vergen
lints-macos:
name: 🕳️ Clippy (MacOS) 🕳️
needs: rustfmt
# main
uses: rustyhorde/workflows/.github/workflows/clippy-all-features.yml@7a073ab416038755f63ff549d1331c9644d37cd7
with:
os: macos-latest
channel: nightly
target: apple-darwin
update: true
project: vergen
lints-windows:
name: 🕳️ Clippy (Windows) 🕳️
needs: rustfmt
# main
uses: rustyhorde/workflows/.github/workflows/clippy-all-features.yml@7a073ab416038755f63ff549d1331c9644d37cd7
with:
os: windows-latest
channel: nightly
target: x86_64-pc-windows-gnu
update: true
project: vergen
test-linux:
name: 🧪 Test (Linux) 🧪
needs: lints-linux
strategy:
matrix:
os: [ubuntu-latest]
channel: ["1.95.0", "stable", "beta", "nightly"]
target: [x86_64-unknown-linux-gnu]
# main
uses: rustyhorde/workflows/.github/workflows/test-all-features.yml@7a073ab416038755f63ff549d1331c9644d37cd7
with:
os: ${{ matrix.os }}
channel: ${{ matrix.channel }}
target: ${{ matrix.target }}
update: true
project: vergen
test-macos:
name: 🧪 Test (MacOS) 🧪
needs: lints-macos
strategy:
matrix:
os: [macos-latest]
channel: ["1.95.0", "nightly"]
target: [apple-darwin]
# main
uses: rustyhorde/workflows/.github/workflows/test-all-features.yml@7a073ab416038755f63ff549d1331c9644d37cd7
with:
os: ${{ matrix.os }}
channel: ${{ matrix.channel }}
target: ${{ matrix.target }}
update: true
project: vergen
test-windows-gnu:
name: 🧪 Test (Windows - GNU) 🧪
needs: lints-windows
strategy:
matrix:
os: [windows-latest]
channel: ["1.95.0", "nightly"]
target: [x86_64-pc-windows-gnu]
# main
uses: rustyhorde/workflows/.github/workflows/test-all-features.yml@7a073ab416038755f63ff549d1331c9644d37cd7
with:
os: ${{ matrix.os }}
channel: ${{ matrix.channel }}
target: ${{ matrix.target }}
update: true
project: vergen
test-windows-msvc:
name: 🧪 Test (Windows - MSVC) 🧪
needs: lints-windows
strategy:
matrix:
os: [windows-latest]
channel: ["1.95.0", "nightly"]
target: [x86_64-pc-windows-msvc]
# main
uses: rustyhorde/workflows/.github/workflows/test-all-features.yml@7a073ab416038755f63ff549d1331c9644d37cd7
with:
os: ${{ matrix.os }}
channel: ${{ matrix.channel }}
target: ${{ matrix.target }}
update: true
project: vergen
coverage-linux:
name: 🧱 Coverage (Linux) 🧱
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
needs: test-linux
# main
uses: rustyhorde/workflows/.github/workflows/coverage.yml@7a073ab416038755f63ff549d1331c9644d37cd7
with:
os: ubuntu-latest
channel: nightly
target: x86_64-unknown-linux-gnu
lcov: true
html: true
run_cmd: ${{ vars.VERGEN_RUN_CMD }}
secrets: inherit
coverage-macos:
name: 🧱 Coverage (MacOS) 🧱
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
needs: test-macos
# main
uses: rustyhorde/workflows/.github/workflows/coverage.yml@7a073ab416038755f63ff549d1331c9644d37cd7
with:
os: macos-latest
channel: nightly
target: apple-darwin
lcov: true
html: true
run_cmd: ${{ vars.VERGEN_RUN_CMD }}
secrets: inherit
coverage-windows:
name: 🧱 Coverage (Wndows) 🧱
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
needs: [test-windows-gnu, test-windows-msvc]
strategy:
matrix:
target: [x86_64-pc-windows-gnu, x86_64-pc-windows-msvc]
# main
uses: rustyhorde/workflows/.github/workflows/coverage.yml@7a073ab416038755f63ff549d1331c9644d37cd7
with:
os: windows-latest
channel: nightly
target: ${{ matrix.target }}
lcov: true
html: true
run_cmd: ${{ vars.VERGEN_RUN_CMD }}
secrets: inherit
call-vergen-lib:
name: vergen-lib
uses: ./.github/workflows/vergen_lib.yml
secrets: inherit
call-vergen-git2:
name: vergen-git2
uses: ./.github/workflows/vergen_git2.yml
secrets: inherit
call-vergen-gitcl:
name: vergen-gitcl
uses: ./.github/workflows/vergen_gitcl.yml
secrets: inherit
call-vergen-gix:
name: vergen-gix
uses: ./.github/workflows/vergen_gix.yml
secrets: inherit
call-vergen-pretty:
name: vergen-pretty
uses: ./.github/workflows/vergen_pretty.yml
secrets: inherit
semver-checks:
name: 🔍 Semver Checks 🔍
# Informational during the 10.0 beta: there is no stable 10.0 baseline on
# crates.io yet, so the intentional major-version breaks are expected to be
# reported. Drop `continue-on-error` and add this as a required status check
# once 10.0.0 ships. See issue #478.
runs-on: ubuntu-latest
steps:
- name: ✅ Checkout ✅
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: 💾 Install (cargo-binstall) 💾
uses: cargo-bins/cargo-binstall@30b5ca8b54e1dcffd9548bc87ede1531310fdc67 # v1.20.0
- name: 💾 Install (cargo-semver-checks) 💾
env:
BINSTALL_MAXIMUM_RESOLUTION_TIMEOUT: "20"
run: cargo binstall --no-confirm --no-symlinks cargo-semver-checks
- name: 🔍 Semver Checks 🔍
run: >-
cargo semver-checks
--package vergen-lib
--package vergen
--package vergen-git2
--package vergen-gitcl
--package vergen-gix
--package vergen-pretty