Skip to content
This repository was archived by the owner on Aug 23, 2022. It is now read-only.

Commit 0fbe2aa

Browse files
authored
update deps + loosen some requirements (#26)
* update deps + loosen some requirements rules: - for crates that are below v1.0 -> specify the precise version - If the code uses a feature that was added for example in X 0.3.17, then you should specify 0.3.17, which actually means "0.3.y where y >= 17" - for crates the are above or equal v1.0 -> specify only major version if the crate's API is minimal and won't change between minor versions OR specify major&minor versions otherwise tested with https://github.com/taiki-e/cargo-minimal-versions * fix warnings
1 parent 22a901d commit 0fbe2aa

File tree

18 files changed

+72
-37
lines changed

18 files changed

+72
-37
lines changed

.github/workflows/cargo.yml

Lines changed: 46 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,41 +10,76 @@ env:
1010
CARGO_TERM_COLOR: always
1111

1212
jobs:
13-
build:
14-
name: Build and test
13+
check_and_test:
14+
name: Check and test
1515
strategy:
1616
matrix:
1717
os: ['ubuntu-latest', 'macos-latest', 'windows-latest']
18+
toolchain:
19+
- 1.56.1 # min supported version (https://github.com/webrtc-rs/webrtc/#toolchain)
20+
- stable
1821
runs-on: ${{ matrix.os }}
1922
steps:
20-
- uses: actions/checkout@v2
21-
- name: Build
22-
run: cargo build --verbose
23-
- name: Run tests
24-
run: cargo test --verbose
23+
- uses: actions/checkout@v3
24+
- name: Cache cargo registry
25+
uses: actions/cache@v3
26+
with:
27+
path: ~/.cargo/registry
28+
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
29+
- uses: actions-rs/toolchain@v1
30+
with:
31+
toolchain: ${{ matrix.toolchain }}
32+
profile: minimal
33+
override: true
34+
- uses: actions-rs/cargo@v1
35+
with:
36+
command: check
37+
- uses: actions-rs/cargo@v1
38+
with:
39+
command: test
2540

2641
rustfmt_and_clippy:
27-
name: Check rustfmt style && run clippy
42+
name: Check rustfmt style and run clippy
2843
runs-on: ubuntu-latest
2944
steps:
30-
- uses: actions/checkout@v2
45+
- uses: actions/checkout@v3
3146
- uses: actions-rs/toolchain@v1
3247
with:
33-
toolchain: 1.55.0
48+
toolchain: stable
3449
profile: minimal
3550
components: clippy, rustfmt
3651
override: true
3752
- name: Cache cargo registry
38-
uses: actions/cache@v1
53+
uses: actions/cache@v3
3954
with:
4055
path: ~/.cargo/registry
4156
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
4257
- name: Run clippy
4358
uses: actions-rs/cargo@v1
4459
with:
4560
command: clippy
61+
args: -- -D warnings
4662
- name: Check formating
4763
uses: actions-rs/cargo@v1
4864
with:
4965
command: fmt
5066
args: --all -- --check
67+
68+
minimal_versions:
69+
name: Compile and test with minimal versions
70+
strategy:
71+
matrix:
72+
os: ['ubuntu-latest', 'macos-latest', 'windows-latest']
73+
runs-on: ${{ matrix.os }}
74+
steps:
75+
- uses: actions/checkout@v3
76+
- name: Install latest nightly
77+
uses: actions-rs/toolchain@v1
78+
with:
79+
toolchain: nightly
80+
override: true
81+
- uses: taiki-e/install-action@cargo-hack
82+
- uses: taiki-e/install-action@cargo-minimal-versions
83+
- run: cargo minimal-versions check --workspace --all-features --ignore-private -v
84+
- run: cargo minimal-versions build --workspace --all-features --ignore-private -v
85+
- run: cargo minimal-versions test --workspace --all-features -v

Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,16 @@ default = [ "reuse_port" ]
1616
reuse_port = []
1717

1818
[dependencies]
19-
util = { package = "webrtc-util", version = "0.5.3", default-features = false, features = ["ifaces"] }
20-
tokio = { version = "1.15.0", features = ["full"] }
21-
socket2 = { version = "0.4.2", features = ["all"] }
22-
log = "0.4.14"
23-
thiserror = "1.0.30"
19+
util = { package = "webrtc-util", version = "0.5.4", default-features = false, features = ["ifaces"] }
20+
tokio = { version = "1.19", features = ["full"] }
21+
socket2 = { version = "0.4.4", features = ["all"] }
22+
log = "0.4"
23+
thiserror = "1.0"
2424

2525
[dev-dependencies]
2626
env_logger = "0.9.0"
2727
chrono = "0.4.19"
28-
clap = "2.34.0"
28+
clap = "3.2.6"
2929

3030
[[example]]
3131
name = "mdns_query"

src/message/header.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use super::*;
22

33
// Header is a representation of a DNS message header.
4-
#[derive(Default, Debug, Copy, Clone, PartialEq)]
4+
#[derive(Default, Debug, Copy, Clone, PartialEq, Eq)]
55
pub struct Header {
66
pub id: u16,
77
pub response: bool,
@@ -54,7 +54,7 @@ impl Header {
5454
}
5555
}
5656

57-
#[derive(Copy, Clone, PartialOrd, PartialEq)]
57+
#[derive(Copy, Clone, PartialOrd, PartialEq, Eq)]
5858
pub enum Section {
5959
NotStarted = 0,
6060
Header = 1,

src/message/message_test.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ fn small_test_msg() -> Result<Message> {
4444
}],
4545
additionals: vec![Resource {
4646
header: ResourceHeader {
47-
name: name,
47+
name,
4848
typ: DnsType::A,
4949
class: DNSCLASS_INET,
5050
..Default::default()
@@ -201,7 +201,7 @@ fn large_test_msg() -> Result<Message> {
201201
},
202202
Resource {
203203
header: ResourceHeader {
204-
name: name,
204+
name,
205205
typ: DnsType::Txt,
206206
class: DNSCLASS_INET,
207207
..Default::default()

src/message/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use std::fmt;
2222
// Message formats
2323

2424
// A Type is a type of DNS request and response.
25-
#[derive(Copy, Clone, Debug, PartialEq)]
25+
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
2626
pub enum DnsType {
2727
// ResourceHeader.Type and question.Type
2828
A = 1,
@@ -167,7 +167,7 @@ impl DnsClass {
167167
pub type OpCode = u16;
168168

169169
// An RCode is a DNS response status code.
170-
#[derive(Copy, Clone, Debug, PartialEq)]
170+
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
171171
pub enum RCode {
172172
// Message.Rcode
173173
Success = 0,

src/message/name.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const NAME_LEN: usize = 255;
77

88
// A Name is a non-encoded domain name. It is used instead of strings to avoid
99
// allocations.
10-
#[derive(Default, PartialEq, Debug, Clone)]
10+
#[derive(Default, PartialEq, Eq, Debug, Clone)]
1111
pub struct Name {
1212
pub data: String,
1313
}

src/message/question.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use std::collections::HashMap;
66
use std::fmt;
77

88
// A question is a DNS query.
9-
#[derive(Default, Debug, PartialEq, Clone)]
9+
#[derive(Default, Debug, PartialEq, Eq, Clone)]
1010
pub struct Question {
1111
pub name: Name,
1212
pub typ: DnsType,

src/message/resource/a.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use super::*;
22
use crate::message::packer::*;
33

44
// An AResource is an A Resource record.
5-
#[derive(Default, Debug, Clone, PartialEq)]
5+
#[derive(Default, Debug, Clone, PartialEq, Eq)]
66
pub struct AResource {
77
pub a: [u8; 4],
88
}

src/message/resource/aaaa.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use super::*;
22
use crate::message::packer::*;
33

44
// An AAAAResource is an aaaa Resource record.
5-
#[derive(Default, Debug, Clone, PartialEq)]
5+
#[derive(Default, Debug, Clone, PartialEq, Eq)]
66
pub struct AaaaResource {
77
pub aaaa: [u8; 16],
88
}

src/message/resource/cname.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use super::*;
22
use crate::message::name::*;
33

44
// A cnameresource is a cname Resource record.
5-
#[derive(Default, Debug, Clone, PartialEq)]
5+
#[derive(Default, Debug, Clone, PartialEq, Eq)]
66
pub struct CnameResource {
77
pub cname: Name,
88
}

0 commit comments

Comments
 (0)