Skip to content

Commit 7df56f4

Browse files
improve and fix CI (#45)
1 parent 81ab4a4 commit 7df56f4

File tree

2 files changed

+43
-21
lines changed

2 files changed

+43
-21
lines changed

.github/workflows/rust.yml

+42-20
Original file line numberDiff line numberDiff line change
@@ -7,42 +7,64 @@ on:
77
types: [released]
88

99
jobs:
10+
11+
check:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
- uses: dtolnay/rust-toolchain@stable
16+
id: "rust-toolchain"
17+
- name: install cargo-hack
18+
uses: taiki-e/install-action@cargo-hack
19+
- uses: actions/cache@v4
20+
with:
21+
path: |
22+
~/.cargo/git
23+
~/.cargo/registry
24+
target
25+
key: "${{runner.os}} Rust check ${{steps.rust-toolchain.outputs.cachekey}} Lock ${{hashFiles('Cargo.lock')}}"
26+
- run: cargo hack check --feature-powerset --at-least-one-of aws-lc-rs,ring --locked
27+
env:
28+
RUST_BACKTRACE: 1
29+
1030
test:
31+
needs: [check]
1132
runs-on: ubuntu-latest
1233
steps:
13-
- uses: actions/checkout@v3
34+
- uses: actions/checkout@v4
1435
- run: sudo apt-get update -y && sudo apt-get install -y knot-dnsutils
1536
- uses: dtolnay/rust-toolchain@stable
1637
id: "rust-toolchain"
1738
- name: install cargo-hack
1839
uses: taiki-e/install-action@cargo-hack
19-
- uses: actions/cache@v3
40+
- uses: actions/cache@v4
2041
with:
2142
path: |
2243
~/.cargo/git
2344
~/.cargo/registry
2445
target
25-
key: "${{runner.os}} Rust ${{steps.rust-toolchain.outputs.cachekey}} Lock ${{hashFiles('Cargo.lock')}}"
26-
- run: cargo hack test --feature-powerset --at-least-one-of aws-lc-rs,ring --locked -- --include-ignored
46+
key: "${{runner.os}} Rust test ${{steps.rust-toolchain.outputs.cachekey}} Lock ${{hashFiles('Cargo.lock')}}"
47+
- run: cargo hack test --feature-powerset --at-least-one-of aws-lc-rs,ring --mutually-exclusive-features aws-lc-rs,ring --skip __debug_parser,default,native-roots,webpki-roots --locked -- --include-ignored
2748
env:
2849
RUST_BACKTRACE: 1
2950

3051
rustfmt:
3152
runs-on: ubuntu-latest
3253
steps:
33-
- uses: actions/checkout@v3
54+
- uses: actions/checkout@v4
3455
- uses: dtolnay/rust-toolchain@nightly
3556
with:
3657
components: rustfmt
3758
- run: cargo fmt --all -- --check
3859

3960
benchmark:
61+
needs: [check]
4062
name: bench
4163
runs-on: ubuntu-latest
4264
steps:
43-
- uses: actions/checkout@v3
65+
- uses: actions/checkout@v4
4466
- uses: dtolnay/rust-toolchain@nightly
45-
- uses: actions/cache@v3
67+
- uses: actions/cache@v4
4668
with:
4769
path: |
4870
~/.cargo/git
@@ -57,7 +79,7 @@ jobs:
5779
needs: [test]
5880
runs-on: ubuntu-latest
5981
steps:
60-
- uses: actions/checkout@v3
82+
- uses: actions/checkout@v4
6183
- uses: dtolnay/rust-toolchain@stable
6284
- uses: msrd0/cargo-publish-action@v1
6385
with:
@@ -75,26 +97,26 @@ jobs:
7597
runs-on: ubuntu-latest
7698
needs: [test]
7799
steps:
78-
- uses: actions/checkout@v3
100+
- uses: actions/checkout@v4
79101
- uses: dtolnay/rust-toolchain@stable
80102
id: "rust-toolchain"
81103
- name: install cross
82104
uses: baptiste0928/cargo-install@v2
83105
with:
84106
crate: cross
85-
- uses: actions/cache@v3
107+
- uses: actions/cache@v4
86108
with:
87109
path: |
88110
~/.cargo/git
89111
~/.cargo/registry
90112
target
91113
key: "${{runner.os}} Target ${{ matrix.target }} Rust ${{steps.rust-toolchain.outputs.cachekey}} Lock ${{hashFiles('Cargo.lock')}}"
92-
- run: cross build --release --locked --no-default-features --features ${{ matrix.roots }} --target ${{ matrix.target }}
114+
- run: cross build --release --locked --no-default-features --features ring,${{ matrix.roots }} --target ${{ matrix.target }}
93115
env:
94116
RUST_BACKTRACE: 1
95117
- run: tree
96118
- name: 'Upload Artifact'
97-
uses: actions/upload-artifact@v3
119+
uses: actions/upload-artifact@v4
98120
with:
99121
name: "${{ matrix.target }}--${{ matrix.roots }}"
100122
path: |
@@ -110,21 +132,21 @@ jobs:
110132
name: x86_64-apple-darwin--${{ matrix.roots }}
111133
needs: [test]
112134
steps:
113-
- uses: actions/checkout@v3
135+
- uses: actions/checkout@v4
114136
- uses: dtolnay/rust-toolchain@stable
115137
id: "rust-toolchain"
116-
- uses: actions/cache@v3
138+
- uses: actions/cache@v4
117139
with:
118140
path: |
119141
~/.cargo/git
120142
~/.cargo/registry
121143
target
122144
key: "${{runner.os}} Rust ${{steps.rust-toolchain.outputs.cachekey}} Lock ${{hashFiles('Cargo.lock')}}"
123-
- run: cargo build --release --all-features
145+
- run: cargo build --release --features ring,${{ matrix.roots }}
124146
env:
125147
RUST_BACKTRACE: 1
126148
- name: 'Upload Artifact'
127-
uses: actions/upload-artifact@v3
149+
uses: actions/upload-artifact@v4
128150
with:
129151
name: "x86_64-apple-darwin--${{ matrix.roots }}"
130152
path: target/release/crab-hole
@@ -134,8 +156,8 @@ jobs:
134156
needs: [cross_build]
135157
steps:
136158
- name: Checkout repository
137-
uses: actions/checkout@v3
138-
- uses: actions/download-artifact@v3
159+
uses: actions/checkout@v4
160+
- uses: actions/download-artifact@v4
139161
with:
140162
path: github_artifacts
141163
- name: docker
@@ -151,8 +173,8 @@ jobs:
151173
if: ${{ github.event_name == 'release' }}
152174
steps:
153175
- name: Checkout repository #needed to get github.event.release.tag_name
154-
uses: actions/checkout@v3
155-
- uses: actions/download-artifact@v3
176+
uses: actions/checkout@v4
177+
- uses: actions/download-artifact@v4
156178
with:
157179
path: github_artifacts
158180
- name: Upload Release Artifacts

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ include = [
1616
]
1717

1818
[features]
19-
default = ["native-roots", "aws-lc-rs"]
19+
default = ["native-roots", "ring"]
2020
native-roots = ["hickory-resolver/rustls-platform-verifier", "reqwest/rustls-tls-native-roots"]
2121
webpki-roots = ["hickory-resolver/webpki-roots", "reqwest/rustls-tls-webpki-roots"]
2222
ring = ["hickory-server/dnssec-ring", "hickory-server/tls-ring", "hickory-server/https-ring", "hickory-server/quic-ring", "hickory-server/h3-ring"]

0 commit comments

Comments
 (0)