Check, format and test / build (push) Failing after 5s
- request() now reads exactly the expected response length with read_exact instead of a single non-guaranteed fill_buf, fixing a latent bug where a response split across multiple TCP packets could be mistaken for malformed data; the per-method length checks are now redundant and were removed - sequence_number wraps explicitly via wrapping_add instead of relying on implicit (and debug-vs-release inconsistent) overflow behavior after 65536 requests - get_name validates UTF-8 strictly instead of silently lossy-decoding invalid bytes; on invalid data it now returns the FromUtf8Error itself (byte-level \0 trimming moved after the UTF-8 check), letting the caller choose to fail or fall back to a lossy rendering - removed the unused Default derive from Clock and Record - removed npm from the CI image (no JS/Node in this repo), fixed a typo in a CI step name - fixed the Cargo.toml license field to the actual SPDX identifier (AGPL-3.0-or-later, per the notice at the end of LICENSE) instead of the free-text "GNU AGPLv3.0" Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
32 lines
706 B
YAML
32 lines
706 B
YAML
name: Check, format and test
|
|
|
|
on:
|
|
push:
|
|
|
|
jobs:
|
|
build:
|
|
container: docker.io/rust:1.98.1-alpine3.24
|
|
steps:
|
|
- name: Install the dependencies
|
|
run: |
|
|
rustup component add clippy rustfmt &&
|
|
apk update &&
|
|
apk add musl-dev git
|
|
|
|
- name: Checkout the code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Check if the code compiles
|
|
run: cargo check
|
|
|
|
- name: Check if the tests run correctly
|
|
run: cargo test
|
|
|
|
- name: Check if the code is formatted correctly
|
|
run: cargo fmt --check
|
|
|
|
- name: Check if Clippy has something to say
|
|
run: cargo clippy --all-targets
|