Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2258509021 | ||
|
|
e6a296baf4 | ||
|
|
14be5cd836 | ||
|
|
6b373380f4 | ||
|
|
fc8e6d10e8 | ||
|
|
1a314778ad | ||
|
|
2e9ad57d61 | ||
|
|
b00d3ef633 | ||
|
|
ae5f939fb2 | ||
|
|
385d531461 | ||
|
|
00aab3dd6b | ||
|
|
8343bcbb54 | ||
|
|
b8d60fcc23 | ||
|
|
44ffb9557a | ||
|
|
26fbe86e90 | ||
|
|
b3f4a2d9eb | ||
|
|
d4225f38fe | ||
|
|
c386f87a0e | ||
|
|
80255f1fff | ||
|
|
3eaaeee408 | ||
|
|
f474632f4c | ||
|
|
ababa9d6b6 | ||
|
|
47a8143bce | ||
|
|
831fd0cc45 | ||
|
|
fe418d650d | ||
|
|
13404297c4 | ||
|
|
8d24d4811a | ||
|
|
7e17f063ea |
No files matched your search
@@ -0,0 +1,52 @@
|
|||||||
|
name: GitHub Actions Security
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
merge_group:
|
||||||
|
schedule:
|
||||||
|
- cron: "11 3 * * 1"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
actionlint:
|
||||||
|
name: actionlint
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 10
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Run actionlint
|
||||||
|
uses: raven-actions/actionlint@205b530c5d9fa8f44ae9ed59f341a0db994aa6f8 # v2
|
||||||
|
|
||||||
|
zizmor:
|
||||||
|
name: zizmor
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 10
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
actions: read
|
||||||
|
security-events: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Run zizmor
|
||||||
|
uses: zizmorcore/zizmor-action@b1d7e1fb5de872772f31590499237e7cce841e8e # v0.5.3
|
||||||
|
with:
|
||||||
|
persona: regular
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
name: Build and Test
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ "main" ]
|
|
||||||
pull_request:
|
|
||||||
branches: [ "main" ]
|
|
||||||
|
|
||||||
env:
|
|
||||||
CARGO_TERM_COLOR: always
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Build
|
|
||||||
run: cargo build --verbose
|
|
||||||
- name: Run tests
|
|
||||||
run: cargo test --verbose
|
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
name: Rust CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
merge_group:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
env:
|
||||||
|
CARGO_TERM_COLOR: always
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
fmt:
|
||||||
|
name: cargo fmt
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 10
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Install Rust toolchain
|
||||||
|
uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1
|
||||||
|
with:
|
||||||
|
components: rustfmt
|
||||||
|
cache-key: fmt
|
||||||
|
|
||||||
|
- name: Check formatting
|
||||||
|
uses: actions-rust-lang/rustfmt@4066006ec54a31931b9b1fddfd38f2fdf2d27143 # v1
|
||||||
|
|
||||||
|
clippy:
|
||||||
|
name: cargo clippy
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 20
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Install Rust toolchain
|
||||||
|
uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1
|
||||||
|
with:
|
||||||
|
components: clippy
|
||||||
|
cache-key: clippy
|
||||||
|
|
||||||
|
- name: Run clippy
|
||||||
|
run: |
|
||||||
|
cargo clippy \
|
||||||
|
--workspace \
|
||||||
|
--all-targets \
|
||||||
|
--all-features \
|
||||||
|
--locked \
|
||||||
|
-- -D warnings
|
||||||
|
|
||||||
|
test:
|
||||||
|
name: cargo test
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 25
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Install Rust toolchain
|
||||||
|
uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1
|
||||||
|
with:
|
||||||
|
cache-key: test
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: |
|
||||||
|
cargo test \
|
||||||
|
--workspace \
|
||||||
|
--all-targets \
|
||||||
|
--all-features \
|
||||||
|
--locked
|
||||||
|
|
||||||
|
docs:
|
||||||
|
name: cargo doc
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 20
|
||||||
|
|
||||||
|
env:
|
||||||
|
RUSTDOCFLAGS: "-D warnings"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Install Rust toolchain
|
||||||
|
uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1
|
||||||
|
with:
|
||||||
|
cache-key: docs
|
||||||
|
|
||||||
|
- name: Check docs
|
||||||
|
run: |
|
||||||
|
cargo doc \
|
||||||
|
--workspace \
|
||||||
|
--all-features \
|
||||||
|
--no-deps \
|
||||||
|
--locked
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
# This workflow uses actions that are not certified by GitHub.
|
||||||
|
# They are provided by a third-party and are governed by
|
||||||
|
# separate terms of service, privacy policy, and support
|
||||||
|
# documentation.
|
||||||
|
|
||||||
|
# A sample workflow which sets up periodic OSV-Scanner scanning for vulnerabilities,
|
||||||
|
# in addition to a PR check which fails if new vulnerabilities are introduced.
|
||||||
|
#
|
||||||
|
# For more examples and options, including how to ignore specific vulnerabilities,
|
||||||
|
# see https://google.github.io/osv-scanner/github-action/
|
||||||
|
|
||||||
|
name: OSV-Scanner
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches: [ "main" ]
|
||||||
|
merge_group:
|
||||||
|
branches: [ "main" ]
|
||||||
|
schedule:
|
||||||
|
- cron: '45 8 * * 1'
|
||||||
|
push:
|
||||||
|
branches: [ "main" ]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
# Require writing security events to upload SARIF file to security tab
|
||||||
|
security-events: write
|
||||||
|
# Read commit contents
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
scan-scheduled:
|
||||||
|
if: ${{ github.event_name == 'push' || github.event_name == 'schedule' }}
|
||||||
|
uses: "google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@c51854704019a247608d928f370c98740469d4b5" # v2.3.5
|
||||||
|
with:
|
||||||
|
# Example of specifying custom arguments
|
||||||
|
scan-args: |-
|
||||||
|
-r
|
||||||
|
--skip-git
|
||||||
|
./
|
||||||
|
scan-pr:
|
||||||
|
if: ${{ github.event_name == 'pull_request' || github.event_name == 'merge_group' }}
|
||||||
|
uses: "google/osv-scanner-action/.github/workflows/osv-scanner-reusable-pr.yml@c51854704019a247608d928f370c98740469d4b5" # v2.3.5
|
||||||
|
with:
|
||||||
|
# Example of specifying custom arguments
|
||||||
|
scan-args: |-
|
||||||
|
-r
|
||||||
|
--skip-git
|
||||||
|
./
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
name: Clippy SARIF
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
schedule:
|
||||||
|
- cron: "17 12 * * 4"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
actions: read
|
||||||
|
|
||||||
|
env:
|
||||||
|
CARGO_TERM_COLOR: always
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
clippy-sarif:
|
||||||
|
name: Clippy SARIF
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 25
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Install Rust toolchain
|
||||||
|
uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1
|
||||||
|
with:
|
||||||
|
components: clippy
|
||||||
|
cache-key: clippy-sarif
|
||||||
|
|
||||||
|
- name: Install SARIF tools
|
||||||
|
run: |
|
||||||
|
cargo install --locked clippy-sarif sarif-fmt
|
||||||
|
|
||||||
|
- name: Run Clippy and generate SARIF
|
||||||
|
id: clippy
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
set +e
|
||||||
|
|
||||||
|
cargo clippy \
|
||||||
|
--workspace \
|
||||||
|
--all-targets \
|
||||||
|
--all-features \
|
||||||
|
--locked \
|
||||||
|
--message-format=json \
|
||||||
|
| clippy-sarif \
|
||||||
|
| tee rust-clippy-results.sarif \
|
||||||
|
| sarif-fmt
|
||||||
|
|
||||||
|
clippy_status=${PIPESTATUS[0]}
|
||||||
|
echo "exit_code=${clippy_status}" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
- name: Upload Clippy SARIF
|
||||||
|
uses: github/codeql-action/upload-sarif@68bde559dea0fdcac2102bfdf6230c5f70eb485e # v4
|
||||||
|
if: always()
|
||||||
|
with:
|
||||||
|
sarif_file: rust-clippy-results.sarif
|
||||||
|
category: clippy
|
||||||
|
wait-for-processing: true
|
||||||
|
|
||||||
|
- name: Fail if Clippy failed
|
||||||
|
if: steps.clippy.outputs.exit_code != '0'
|
||||||
|
run: exit 1
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
name: Semver
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "v*.*.*"
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
semver:
|
||||||
|
name: cargo-semver-checks
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 20
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Check semver compatibility
|
||||||
|
uses: obi1kenobi/cargo-semver-checks-action@6b69fcf40e9b5fb17adeb57e4b6ecd020649a239 # v2
|
||||||
|
with:
|
||||||
|
feature-group: all-features
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
name: Supply chain
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
merge_group:
|
||||||
|
schedule:
|
||||||
|
- cron: "41 2 * * 1"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
cargo-deny:
|
||||||
|
name: cargo-deny ${{ matrix.checks }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 15
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
# Advisories can appear after code was merged. Keep this visible,
|
||||||
|
# but don't let a surprise upstream advisory nuke every unrelated PR.
|
||||||
|
- checks: advisories
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
# These are policy choices in this repo. They should block PRs.
|
||||||
|
- checks: bans licenses sources
|
||||||
|
continue-on-error: false
|
||||||
|
|
||||||
|
continue-on-error: ${{ matrix.continue-on-error }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Run cargo-deny
|
||||||
|
uses: EmbarkStudios/cargo-deny-action@91bf2b620e09e18d6eb78b92e7861937469acedb # v2
|
||||||
|
with:
|
||||||
|
command: check
|
||||||
|
arguments: --all-features
|
||||||
|
command-arguments: ${{ matrix.checks }}
|
||||||
|
|
||||||
|
actionlint:
|
||||||
|
name: actionlint
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 10
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Run actionlint
|
||||||
|
uses: raven-actions/actionlint@205b530c5d9fa8f44ae9ed59f341a0db994aa6f8 # v2
|
||||||
Generated
+55
-114
@@ -38,7 +38,7 @@ version = "1.1.5"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
|
checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-sys 0.61.2",
|
"windows-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -49,7 +49,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"anstyle",
|
"anstyle",
|
||||||
"once_cell_polyfill",
|
"once_cell_polyfill",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -60,11 +60,11 @@ checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "block-buffer"
|
name = "block-buffer"
|
||||||
version = "0.10.4"
|
version = "0.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
|
checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"generic-array",
|
"hybrid-array",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -128,6 +128,12 @@ version = "1.1.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
|
checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cmov"
|
||||||
|
version = "0.5.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3f88a43d011fc4a6876cb7344703e297c71dda42494fee094d5f7c76bf13f746"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "colorchoice"
|
name = "colorchoice"
|
||||||
version = "1.0.5"
|
version = "1.0.5"
|
||||||
@@ -135,13 +141,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
|
checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "crypto-common"
|
name = "const-oid"
|
||||||
version = "0.1.7"
|
version = "0.10.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
|
checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "crypto-common"
|
||||||
|
version = "0.2.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"generic-array",
|
"hybrid-array",
|
||||||
"typenum",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -152,18 +163,28 @@ checksum = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"dispatch2",
|
"dispatch2",
|
||||||
"nix",
|
"nix",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ctutils"
|
||||||
|
version = "0.4.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e"
|
||||||
|
dependencies = [
|
||||||
|
"cmov",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "digest"
|
name = "digest"
|
||||||
version = "0.10.7"
|
version = "0.11.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
|
checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"block-buffer",
|
"block-buffer",
|
||||||
|
"const-oid",
|
||||||
"crypto-common",
|
"crypto-common",
|
||||||
"subtle",
|
"ctutils",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -178,16 +199,6 @@ dependencies = [
|
|||||||
"objc2",
|
"objc2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "generic-array"
|
|
||||||
version = "0.14.7"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
|
|
||||||
dependencies = [
|
|
||||||
"typenum",
|
|
||||||
"version_check",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "heck"
|
name = "heck"
|
||||||
version = "0.5.0"
|
version = "0.5.0"
|
||||||
@@ -196,16 +207,25 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hmac"
|
name = "hmac"
|
||||||
version = "0.12.1"
|
version = "0.13.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
|
checksum = "6303bc9732ae41b04cb554b844a762b4115a61bfaa81e3e83050991eeb56863f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"digest",
|
"digest",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "hybrid-array"
|
||||||
|
version = "0.4.12"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da"
|
||||||
|
dependencies = [
|
||||||
|
"typenum",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "irtt-cli"
|
name = "irtt-cli"
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap",
|
"clap",
|
||||||
"ctrlc",
|
"ctrlc",
|
||||||
@@ -216,7 +236,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "irtt-client"
|
name = "irtt-client"
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"irtt-proto",
|
"irtt-proto",
|
||||||
"libc",
|
"libc",
|
||||||
@@ -226,7 +246,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "irtt-proto"
|
name = "irtt-proto"
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hmac",
|
"hmac",
|
||||||
"md-5",
|
"md-5",
|
||||||
@@ -236,7 +256,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "irtt-stats"
|
name = "irtt-stats"
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"irtt-client",
|
"irtt-client",
|
||||||
]
|
]
|
||||||
@@ -255,9 +275,9 @@ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "md-5"
|
name = "md-5"
|
||||||
version = "0.10.6"
|
version = "0.11.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
|
checksum = "69b6441f590336821bb897fb28fc622898ccceb1d6cea3fde5ea86b090c4de98"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"digest",
|
"digest",
|
||||||
@@ -316,12 +336,12 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "socket2"
|
name = "socket2"
|
||||||
version = "0.5.10"
|
version = "0.6.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678"
|
checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"windows-sys 0.52.0",
|
"windows-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -385,27 +405,12 @@ version = "0.2.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "version_check"
|
|
||||||
version = "0.9.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-link"
|
name = "windows-link"
|
||||||
version = "0.2.1"
|
version = "0.2.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
|
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-sys"
|
|
||||||
version = "0.52.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
|
|
||||||
dependencies = [
|
|
||||||
"windows-targets",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-sys"
|
name = "windows-sys"
|
||||||
version = "0.61.2"
|
version = "0.61.2"
|
||||||
@@ -414,67 +419,3 @@ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-link",
|
"windows-link",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows-targets"
|
|
||||||
version = "0.52.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
|
||||||
dependencies = [
|
|
||||||
"windows_aarch64_gnullvm",
|
|
||||||
"windows_aarch64_msvc",
|
|
||||||
"windows_i686_gnu",
|
|
||||||
"windows_i686_gnullvm",
|
|
||||||
"windows_i686_msvc",
|
|
||||||
"windows_x86_64_gnu",
|
|
||||||
"windows_x86_64_gnullvm",
|
|
||||||
"windows_x86_64_msvc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_aarch64_gnullvm"
|
|
||||||
version = "0.52.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_aarch64_msvc"
|
|
||||||
version = "0.52.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_i686_gnu"
|
|
||||||
version = "0.52.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_i686_gnullvm"
|
|
||||||
version = "0.52.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_i686_msvc"
|
|
||||||
version = "0.52.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_x86_64_gnu"
|
|
||||||
version = "0.52.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_x86_64_gnullvm"
|
|
||||||
version = "0.52.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows_x86_64_msvc"
|
|
||||||
version = "0.52.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
|
||||||
+3
-3
@@ -16,6 +16,6 @@ homepage = "https://github.com/Lochnair/irtt-rs"
|
|||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
irtt-proto = { version = "0.1.0", path = "crates/irtt-proto" }
|
irtt-proto = { version = "0.1.1", path = "crates/irtt-proto" }
|
||||||
irtt-client = { version = "0.1.0", path = "crates/irtt-client" }
|
irtt-client = { version = "0.1.1", path = "crates/irtt-client" }
|
||||||
irtt-stats = { version = "0.1.0", path = "crates/irtt-stats" }
|
irtt-stats = { version = "0.1.1", path = "crates/irtt-stats" }
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "irtt-cli"
|
name = "irtt-cli"
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
description = "Command-line IRTT-compatible client"
|
description = "Command-line IRTT-compatible client"
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
license.workspace = true
|
license.workspace = true
|
||||||
@@ -16,8 +16,8 @@ default = ["stats"]
|
|||||||
stats = ["dep:irtt-stats"]
|
stats = ["dep:irtt-stats"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
clap = { version = "4.5", features = ["derive"] }
|
clap = { version = "4.6.1", features = ["derive"] }
|
||||||
ctrlc = "3.4"
|
ctrlc = "3.5.2"
|
||||||
irtt-client.workspace = true
|
irtt-client.workspace = true
|
||||||
irtt-proto.workspace = true
|
irtt-proto.workspace = true
|
||||||
irtt-stats = { workspace = true, optional = true }
|
irtt-stats = { workspace = true, optional = true }
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "irtt-client"
|
name = "irtt-client"
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
description = "IRTT-compatible Rust client library"
|
description = "IRTT-compatible Rust client library"
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
license.workspace = true
|
license.workspace = true
|
||||||
@@ -13,9 +13,9 @@ categories = ["network-programming"]
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
irtt-proto.workspace = true
|
irtt-proto.workspace = true
|
||||||
libc = { version = "0.2", optional = true }
|
libc = { version = "0.2.186", optional = true }
|
||||||
socket2 = { version = "0.5", features = ["all"] }
|
socket2 = { version = "0.6.3", features = ["all"] }
|
||||||
thiserror = "2"
|
thiserror = "2.0.18"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ pub(crate) fn configure_receive_metadata(socket: &UdpSocket, remote: SocketAddr)
|
|||||||
enable_kernel_rx_timestamps(socket)?;
|
enable_kernel_rx_timestamps(socket)?;
|
||||||
let socket = socket2::SockRef::from(socket);
|
let socket = socket2::SockRef::from(socket);
|
||||||
if remote.is_ipv4() {
|
if remote.is_ipv4() {
|
||||||
socket.set_recv_tos(true)
|
socket.set_recv_tos_v4(true)
|
||||||
} else {
|
} else {
|
||||||
socket.set_recv_tclass_v6(true)
|
socket.set_recv_tclass_v6(true)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ pub(crate) fn socket_ttl(socket: &UdpSocket, remote: SocketAddr) -> Result<u32,
|
|||||||
|
|
||||||
fn set_socket_ttl(socket: &UdpSocket, remote: SocketAddr, ttl: u32) -> io::Result<()> {
|
fn set_socket_ttl(socket: &UdpSocket, remote: SocketAddr, ttl: u32) -> io::Result<()> {
|
||||||
if remote.is_ipv4() {
|
if remote.is_ipv4() {
|
||||||
socket2::SockRef::from(socket).set_ttl(ttl)
|
socket2::SockRef::from(socket).set_ttl_v4(ttl)
|
||||||
} else {
|
} else {
|
||||||
socket2::SockRef::from(socket).set_unicast_hops_v6(ttl)
|
socket2::SockRef::from(socket).set_unicast_hops_v6(ttl)
|
||||||
}
|
}
|
||||||
@@ -87,7 +87,7 @@ fn set_socket_ttl(socket: &UdpSocket, remote: SocketAddr, ttl: u32) -> io::Resul
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
fn get_socket_ttl(socket: &UdpSocket, remote: SocketAddr) -> io::Result<u32> {
|
fn get_socket_ttl(socket: &UdpSocket, remote: SocketAddr) -> io::Result<u32> {
|
||||||
if remote.is_ipv4() {
|
if remote.is_ipv4() {
|
||||||
socket2::SockRef::from(socket).ttl()
|
socket2::SockRef::from(socket).ttl_v4()
|
||||||
} else {
|
} else {
|
||||||
socket2::SockRef::from(socket).unicast_hops_v6()
|
socket2::SockRef::from(socket).unicast_hops_v6()
|
||||||
}
|
}
|
||||||
@@ -128,7 +128,7 @@ fn set_socket_traffic_class_io(
|
|||||||
target_os = "haiku",
|
target_os = "haiku",
|
||||||
)))]
|
)))]
|
||||||
fn set_ipv4_traffic_class(socket: &UdpSocket, traffic_class: u32) -> io::Result<()> {
|
fn set_ipv4_traffic_class(socket: &UdpSocket, traffic_class: u32) -> io::Result<()> {
|
||||||
socket2::SockRef::from(socket).set_tos(traffic_class)
|
socket2::SockRef::from(socket).set_tos_v4(traffic_class)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(any(
|
#[cfg(any(
|
||||||
@@ -212,7 +212,7 @@ fn unsupported_traffic_class(traffic_class: u32, feature: &'static str) -> io::R
|
|||||||
))
|
))
|
||||||
))]
|
))]
|
||||||
fn get_ipv4_traffic_class(socket: &UdpSocket) -> io::Result<u32> {
|
fn get_ipv4_traffic_class(socket: &UdpSocket) -> io::Result<u32> {
|
||||||
socket2::SockRef::from(socket).tos()
|
socket2::SockRef::from(socket).tos_v4()
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(all(
|
#[cfg(all(
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "irtt-proto"
|
name = "irtt-proto"
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
description = "IRTT protocol encoding and decoding primitives"
|
description = "IRTT protocol encoding and decoding primitives"
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
license.workspace = true
|
license.workspace = true
|
||||||
@@ -12,7 +12,7 @@ keywords = ["irtt", "networking", "latency", "protocol"]
|
|||||||
categories = ["network-programming"]
|
categories = ["network-programming"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
hmac = "0.12"
|
hmac = "0.13"
|
||||||
md-5 = "0.10"
|
md-5 = "0.11"
|
||||||
subtle = "2"
|
subtle = "2.6.1"
|
||||||
thiserror = "2"
|
thiserror = "2.0.18"
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
use hmac::{Hmac, Mac};
|
use hmac::{Hmac, KeyInit, Mac};
|
||||||
use md5::Md5;
|
use md5::Md5;
|
||||||
use subtle::ConstantTimeEq;
|
use subtle::ConstantTimeEq;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "irtt-stats"
|
name = "irtt-stats"
|
||||||
version = "0.1.0"
|
version = "0.1.1"
|
||||||
description = "Statistics aggregation for irtt-client events"
|
description = "Statistics aggregation for irtt-client events"
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
license.workspace = true
|
license.workspace = true
|
||||||
|
|||||||
@@ -0,0 +1,110 @@
|
|||||||
|
# cargo-deny policy for irtt-rs.
|
||||||
|
#
|
||||||
|
# Goals:
|
||||||
|
# - Check the full dependency graph with all features enabled.
|
||||||
|
# - Fail on known vulnerable/yanked crates.
|
||||||
|
# - Keep accepted licenses narrow and explicit.
|
||||||
|
# - Warn on duplicate crate versions for now.
|
||||||
|
# - Deny unexpected registries or git dependencies.
|
||||||
|
# - If git dependencies are ever allowed, require exact commit pins.
|
||||||
|
|
||||||
|
[graph]
|
||||||
|
all-features = true
|
||||||
|
no-default-features = false
|
||||||
|
targets = []
|
||||||
|
|
||||||
|
[output]
|
||||||
|
feature-depth = 1
|
||||||
|
|
||||||
|
[advisories]
|
||||||
|
# Yanked crates are usually not an immediate vuln, but they are almost never
|
||||||
|
# something we want to keep resolving in a public crate.
|
||||||
|
yanked = "deny"
|
||||||
|
|
||||||
|
# Unmaintained advisories are useful, but failing on every transitive
|
||||||
|
# unmaintained crate can become dependency-tree hostage negotiation.
|
||||||
|
# Direct/workspace dependencies should still be treated seriously.
|
||||||
|
unmaintained = "workspace"
|
||||||
|
|
||||||
|
# Keep this explicit. cargo-deny's current default is also workspace, but this
|
||||||
|
# makes the policy obvious.
|
||||||
|
unsound = "workspace"
|
||||||
|
|
||||||
|
ignore = [
|
||||||
|
# Example:
|
||||||
|
# { id = "RUSTSEC-0000-0000", reason = "Not reachable: explain why." },
|
||||||
|
# { crate = "some-yanked-crate@1.2.3", reason = "Temporary until upstream releases a replacement." },
|
||||||
|
]
|
||||||
|
|
||||||
|
[licenses]
|
||||||
|
confidence-threshold = 0.8
|
||||||
|
|
||||||
|
allow = [
|
||||||
|
"MIT",
|
||||||
|
"Apache-2.0",
|
||||||
|
"Unicode-3.0",
|
||||||
|
"BSD-3-Clause",
|
||||||
|
]
|
||||||
|
|
||||||
|
exceptions = [
|
||||||
|
# Example:
|
||||||
|
# { crate = "some-crate", allow = ["BSD-2-Clause"] },
|
||||||
|
]
|
||||||
|
|
||||||
|
[licenses.private]
|
||||||
|
ignore = false
|
||||||
|
registries = []
|
||||||
|
|
||||||
|
[bans]
|
||||||
|
# Keep as warn initially. Making this deny too early is how you end up doing
|
||||||
|
# dependency bonsai instead of actual work.
|
||||||
|
multiple-versions = "warn"
|
||||||
|
|
||||||
|
# Consider changing this to "deny" later once you've confirmed nothing relies
|
||||||
|
# on wildcard requirements.
|
||||||
|
wildcards = "allow"
|
||||||
|
|
||||||
|
highlight = "all"
|
||||||
|
|
||||||
|
workspace-default-features = "allow"
|
||||||
|
external-default-features = "allow"
|
||||||
|
|
||||||
|
allow = []
|
||||||
|
|
||||||
|
deny = [
|
||||||
|
# Example:
|
||||||
|
# { crate = "openssl", reason = "Prefer rustls where TLS is needed." },
|
||||||
|
]
|
||||||
|
|
||||||
|
skip = [
|
||||||
|
# Example:
|
||||||
|
# { crate = "windows-sys@0.52.0", reason = "Transitive duplicate; waiting on upstream." },
|
||||||
|
]
|
||||||
|
|
||||||
|
skip-tree = [
|
||||||
|
# Example:
|
||||||
|
# { crate = "some-large-transitive-root@1.2.3", reason = "Temporary duplicate tree exception." },
|
||||||
|
]
|
||||||
|
|
||||||
|
[sources]
|
||||||
|
# Unknown dependency sources should fail. If we need a git patch later,
|
||||||
|
# we add it explicitly and remove it again when upstream releases.
|
||||||
|
unknown-registry = "deny"
|
||||||
|
unknown-git = "deny"
|
||||||
|
|
||||||
|
# If git dependencies are ever allowed, require exact commit pins.
|
||||||
|
# cargo-deny's docs list "rev" as the most specific git source requirement.
|
||||||
|
required-git-spec = "rev"
|
||||||
|
|
||||||
|
# crates.io registry. cargo-deny's docs say this is also the default when
|
||||||
|
# allow-registry is omitted, but keeping it explicit is fine.
|
||||||
|
allow-registry = [
|
||||||
|
"https://github.com/rust-lang/crates.io-index",
|
||||||
|
]
|
||||||
|
|
||||||
|
allow-git = []
|
||||||
|
|
||||||
|
[sources.allow-org]
|
||||||
|
github = []
|
||||||
|
gitlab = []
|
||||||
|
bitbucket = []
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
|
||||||
|
"extends": ["config:recommended", "helpers:pinGitHubActionDigests"],
|
||||||
|
|
||||||
|
"timezone": "Asia/Jakarta",
|
||||||
|
"schedule": ["before 10am on monday"],
|
||||||
|
|
||||||
|
"dependencyDashboard": true,
|
||||||
|
"dependencyDashboardTitle": "Renovate Dashboard",
|
||||||
|
|
||||||
|
"semanticCommits": "enabled",
|
||||||
|
"semanticCommitType": "chore",
|
||||||
|
"semanticCommitScope": "deps",
|
||||||
|
|
||||||
|
"prConcurrentLimit": 4,
|
||||||
|
"prHourlyLimit": 1,
|
||||||
|
|
||||||
|
"rebaseWhen": "conflicted",
|
||||||
|
"rangeStrategy": "bump",
|
||||||
|
|
||||||
|
"labels": ["dependencies"],
|
||||||
|
|
||||||
|
"lockFileMaintenance": {
|
||||||
|
"enabled": true,
|
||||||
|
"schedule": ["before 10am on monday"],
|
||||||
|
"commitMessageAction": "maintain",
|
||||||
|
"commitMessageTopic": "Cargo lockfile"
|
||||||
|
},
|
||||||
|
|
||||||
|
"packageRules": [
|
||||||
|
{
|
||||||
|
"description": "Never automerge Cargo updates by default",
|
||||||
|
"matchManagers": ["cargo"],
|
||||||
|
"automerge": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Group RustCrypto updates together",
|
||||||
|
"matchManagers": ["cargo"],
|
||||||
|
"matchPackageNames": ["hmac", "md-5"],
|
||||||
|
"groupName": "RustCrypto dependencies",
|
||||||
|
"commitMessageTopic": "RustCrypto dependencies"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Keep socket/platform dependencies together but reviewed",
|
||||||
|
"matchManagers": ["cargo"],
|
||||||
|
"matchPackageNames": ["socket2", "libc"],
|
||||||
|
"groupName": "socket dependencies",
|
||||||
|
"commitMessageTopic": "socket dependencies"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Group GitHub Actions updates",
|
||||||
|
"matchManagers": ["github-actions"],
|
||||||
|
"groupName": "GitHub Actions",
|
||||||
|
"commitMessageTopic": "GitHub Actions"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Automerge patch and minor GitHub Actions updates",
|
||||||
|
"matchManagers": ["github-actions"],
|
||||||
|
"matchUpdateTypes": ["patch", "minor"],
|
||||||
|
"automerge": true,
|
||||||
|
"platformAutomerge": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Never automerge major updates",
|
||||||
|
"matchUpdateTypes": ["major"],
|
||||||
|
"automerge": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in new issue
Block a user