Skip to content

Commit 1a97f32

Browse files
committed
Add supply_chain test
1 parent a5bba36 commit 1a97f32

File tree

3 files changed

+193
-17
lines changed

3 files changed

+193
-17
lines changed

.github/workflows/ci.yml

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,39 +32,37 @@ jobs:
3232
- name: Shellcheck
3333
run: shellcheck --exclude=SC2002 scripts/*
3434

35-
- name: Prettier
35+
- name: Install dependencies
3636
run: |
3737
npm install -g prettier
38-
./scripts/check_prettier.sh
39-
40-
- name: Cargo sort
41-
run: |
42-
cargo install cargo-sort
43-
find . -name Cargo.toml -print0 | xargs -0 -n 1 dirname | xargs -n 1 cargo sort --check --grouped
44-
45-
- name: Format
46-
run: |
4738
rm -f "$HOME"/.cargo/bin/cargo-fmt
4839
rm -f "$HOME"/.cargo/bin/rustfmt
4940
rustup install nightly
5041
rustup component add rustfmt --toolchain nightly
51-
./scripts/format.sh && git diff --exit-code
42+
cargo install cargo-license
43+
cargo install cargo-rdme
44+
cargo install cargo-sort
45+
46+
- name: Prettier
47+
run: ./scripts/check_prettier.sh
48+
49+
- name: Cargo sort
50+
run: find . -name Cargo.toml -print0 | xargs -0 -n 1 dirname | xargs -n 1 cargo sort --check --grouped
51+
52+
- name: Format
53+
run: ./scripts/format.sh && git diff --exit-code
5254

5355
- name: Format example READMEs
5456
run: ./scripts/update_example_READMEs.sh && git diff --exit-code
5557

5658
- name: Format util READMEs
57-
run: |
58-
cargo install cargo-rdme
59-
./scripts/update_util_READMEs.sh && git diff --exit-code
59+
run: ./scripts/update_util_READMEs.sh && git diff --exit-code
6060

6161
- name: Check lockfiles
6262
run: ./scripts/update_lockfiles.sh && git diff --exit-code
6363

6464
- name: Check licenses
65-
run: |
66-
cargo install cargo-license
67-
./scripts/check_licenses.sh
65+
run: ./scripts/check_licenses.sh
6866

6967
- name: Lint
7068
run: ./scripts/lint.sh
@@ -106,6 +104,11 @@ jobs:
106104
- name: Install dylint-link
107105
run: cargo install --path ./dylint-link
108106

107+
# smoelius: This list will grow: https://github.com/trailofbits/dylint/issues/636
108+
- name: Install dependencies
109+
run: |
110+
cargo install cargo-supply-chain
111+
109112
- name: Test
110113
run: |
111114
if [[ '${{ matrix.environment }}' = 'windows-latest' ]]; then

cargo-dylint/tests/dylint.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,15 @@ fn markdown_link_check() {
256256
}
257257
}
258258

259+
#[test]
260+
fn supply_chain() {
261+
Command::new("cargo")
262+
.args(["supply-chain", "publishers", "--no-dev"])
263+
.assert()
264+
.success()
265+
.stdout(predicates::path::eq_file("tests/publishers.txt"));
266+
}
267+
259268
fn readme_contents(dir: impl AsRef<Path>) -> Result<String> {
260269
#[allow(unknown_lints, env_cargo_path)]
261270
read_to_string(

cargo-dylint/tests/publishers.txt

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
2+
The following individuals can publish updates for your dependencies:
3+
4+
1. alexcrichton via crates: backtrace, bitflags, bumpalo, cargo, cargo-platform, cfg-if, crates-io, curl, curl-sys, env_logger, filetime, flate2, getopts, git2, git2-curl, glob, home, jobserver, js-sys, libc, libgit2-sys, libnghttp2-sys, libssh2-sys, libz-sys, log, miow, openssl-probe, openssl-sys, pkg-config, rand_core, regex, regex-syntax, rustc-demangle, rustc-workspace-hack, socket2, tar, term, toml, unicode-normalization, unicode-width, unicode-xid, wasi, wasm-bindgen, wasm-bindgen-backend, wasm-bindgen-macro, wasm-bindgen-macro-support, wasm-bindgen-shared
5+
2. tarcieri via crates: base16ct, base64ct, const-oid, cpufeatures, crypto-bigint, der, ecdsa, elliptic-curve, pem-rfc7468, pkcs8, primeorder, rfc6979, sec1, sha1, sha2, signature, spki, zeroize
6+
3. rust-lang-owner via crates: cargo, cargo-platform, cargo-util, cc, cfg-if, crates-io, flate2, git2, git2-curl, glob, home, libc, libgit2-sys, libz-sys, log, pkg-config, rustc-demangle
7+
4. dtolnay via crates: anyhow, itoa, proc-macro2, quote, rustversion, ryu, semver, serde, serde_derive, serde_ignored, serde_json, syn, thiserror, thiserror-impl, unicode-ident
8+
5. epage via crates: anstream, anstyle, anstyle-parse, anstyle-query, anstyle-wincon, clap_builder, clap_lex, colorchoice, serde_spanned, toml, toml_datetime, toml_edit, winnow
9+
6. BurntSushi via crates: aho-corasick, bstr, globset, ignore, memchr, regex, regex-automata, regex-syntax, same-file, termcolor, walkdir, winapi-util
10+
7. newpavlov via crates: base16ct, block-buffer, crypto-common, digest, hkdf, hmac, p384, pkcs8, sha1, sha2, signature
11+
8. fitzgen via crates: addr2line, bumpalo, gimli, js-sys, object, wasm-bindgen, wasm-bindgen-backend, wasm-bindgen-macro, wasm-bindgen-macro-support, wasm-bindgen-shared
12+
9. huonw via crates: bitflags, env_logger, getopts, glob, libc, log, term, unicode-normalization, unicode-width, unicode-xid
13+
10. sfackler via crates: env_logger, foreign-types, foreign-types-shared, log, openssl, openssl-macros, openssl-sys, schannel, shell-escape, socket2
14+
11. SimonSapin via crates: fnv, form_urlencoded, idna, percent-encoding, unicode-bidi, unicode-normalization, unicode-width, unicode-xid, url
15+
12. joshtriplett via crates: ansi_term, cargo, flate2, git2, git2-curl, libc, libgit2-sys, libz-sys, pkg-config
16+
13. kennykerr via crates: windows-sys, windows-targets, windows_aarch64_gnullvm, windows_aarch64_msvc, windows_i686_gnu, windows_i686_msvc, windows_x86_64_gnu, windows_x86_64_gnullvm, windows_x86_64_msvc
17+
14. ehuss via crates: cargo, cargo-platform, cargo-util, git2, git2-curl, home, libgit2-sys, toml
18+
15. Manishearth via crates: camino, compiletest_rs, pathdiff, unicode-normalization, unicode-width, unicode-xid
19+
16. sunfishcode via crates: io-lifetimes, is-terminal, linux-raw-sys, rustix, wasi
20+
17. bluss via crates: arrayvec, either, indexmap, itertools
21+
18. cuviper via crates: autocfg, either, indexmap, num-traits
22+
19. KodrAus via crates: bitflags, log, tempfile
23+
20. bodil via crates: bitmaps, im-rc, sized-chunks
24+
21. chrisduerr via crates: utf8parse, vte, vte_generate_state_changes
25+
22. dhardy via crates: getrandom, rand_core, rand_xoshiro
26+
23. jhpratt via crates: time, time-core, time-macros
27+
24. kwantam via crates: unicode-normalization, unicode-width, unicode-xid
28+
25. larsbergstrom via crates: core-foundation, core-foundation-sys, unicode-bidi
29+
26. malept via crates: commoncrypto, commoncrypto-sys, crypto-hash
30+
27. mbrubeck via crates: core-foundation, ordered-float, unicode-bidi
31+
28. philipc via crates: addr2line, gimli, object
32+
29. pyrossh via crates: rust-embed, rust-embed-impl, rust-embed-utils
33+
30. retep998 via crates: winapi, winapi-i686-pc-windows-gnu, winapi-x86_64-pc-windows-gnu
34+
31. soc via crates: dirs, dirs-sys, option-ext
35+
32. sujayakar via crates: unicode-normalization, unicode-width, unicode-xid
36+
33. Amanieu via crates: hashbrown, thread_local
37+
34. Dylan-DPC via crates: dirs-next, dirs-sys-next
38+
35. Stebalien via crates: tempfile, term
39+
36. alex via crates: openssl, openssl-sys
40+
37. brycx via crates: orion, pasetors
41+
38. ebfull via crates: ff, group
42+
39. jackpot51 via crates: redox_syscall, redox_users
43+
40. jedisct1 via crates: ct-codecs, ed25519-compact
44+
41. jwilm via crates: utf8parse, vte
45+
42. kbknapp via crates: clap, clap_derive
46+
43. lambda-fairy via crates: errno, if_chain
47+
44. matklad via crates: autocfg, once_cell
48+
45. metajack via crates: core-foundation, unicode-bidi
49+
46. nmccarty via crates: dirs-next, dirs-sys-next
50+
47. oli-obk via crates: cargo_metadata, rustfix
51+
48. pietroalbini via crates: git2-curl, libgit2-sys
52+
49. sagebind via crates: curl, curl-sys
53+
50. seanmonstar via crates: num_cpus, url
54+
51. str4d via crates: ff, group
55+
52. 4lDO2 via crates: redox_syscall
56+
53. Byron via crates: libz-sys
57+
54. Eh2406 via crates: cargo
58+
55. Frommi via crates: miniz_oxide
59+
56. Hoverbear via crates: url
60+
57. JasonGross via crates: fiat-crypto
61+
58. JohnTitor via crates: libc
62+
59. Kimundi via crates: lazy_static
63+
60. KokaKiwi via crates: hex
64+
61. Lokathor via crates: tinyvec
65+
62. LucioFranco via crates: home
66+
63. MggMuggins via crates: redox_users
67+
64. Munksgaard via crates: compiletest_rs
68+
65. Seeker14491 via crates: opener
69+
66. SergioBenitez via crates: version_check
70+
67. Soveu via crates: tinyvec_macros
71+
68. Thomasdezeeuw via crates: socket2
72+
69. alicemaz via crates: base64
73+
70. arcnmx via crates: serde-value
74+
71. behnam via crates: unicode-bidi
75+
72. brson via crates: home
76+
73. crisidev via crates: libssh2-sys
77+
74. dguo via crates: strsim
78+
75. eminence via crates: terminal_size
79+
76. faern via crates: miow
80+
77. fizyk20 via crates: generic-array
81+
78. gnzlbg via crates: libc
82+
79. hauleth via crates: num-traits
83+
80. hyunsik via crates: bytesize
84+
81. indiv0 via crates: lazycell
85+
82. isislovecruft via crates: subtle
86+
83. jonas-schievink via crates: adler
87+
84. jplatte via crates: heck
88+
85. jswrenn via crates: itertools
89+
86. kennytm via crates: fwdansi
90+
87. killercup via crates: rustfix
91+
88. kinnison via crates: home
92+
89. kornelski via crates: vcpkg
93+
90. laumann via crates: compiletest_rs
94+
91. luser via crates: strip-ansi-escapes
95+
92. marshallpierce via crates: base64
96+
93. mcgoo via crates: vcpkg
97+
94. messense via crates: tester
98+
95. mexus via crates: sedregex
99+
96. mkroening via crates: hermit-abi
100+
97. mneumann via crates: errno-dragonfly
101+
98. novacrazy via crates: generic-array
102+
99. ogham via crates: ansi_term
103+
100. ordian via crates: toml_edit
104+
101. oyvindln via crates: miniz_oxide
105+
102. paholg via crates: typenum
106+
103. pcwalton via crates: core-foundation
107+
104. pkgw via crates: vcpkg
108+
105. reem via crates: ordered-float
109+
106. rust-bus-owner via crates: http-auth
110+
107. scottlamb via crates: http-auth
111+
108. sdroege via crates: pkg-config
112+
109. sebasmagri via crates: env_logger
113+
110. sebcrozet via crates: instant
114+
111. softprops via crates: atty
115+
112. srijs via crates: crc32fast
116+
113. stanislav-tkach via crates: os_info
117+
114. steffengy via crates: schannel
118+
115. stlankes via crates: hermit-abi
119+
116. sunshowers via crates: camino
120+
117. taiki-e via crates: fastrand
121+
118. tailhook via crates: humantime
122+
119. utkarshkukreti via crates: diff
123+
120. vladikoff via crates: hkdf
124+
121. vorner via crates: once_cell
125+
122. waych via crates: vcpkg
126+
123. wez via crates: libssh2-sys
127+
124. withoutboats via crates: heck
128+
125. yodaldevoid via crates: libssh2-sys
129+
126. yoshuawuyts via crates: miow
130+
131+
All members of the following teams can publish updates for your dependencies:
132+
133+
1. "github:servo:cargo-publish" (https://github.com/servo) via crates: core-foundation, core-foundation-sys, fnv, form_urlencoded, idna, ordered-float, percent-encoding, unicode-bidi, url
134+
2. "github:rust-lang:libs" (https://github.com/rust-lang) via crates: backtrace, cargo, cc, cfg-if, crates-io, libc, regex, regex-syntax
135+
3. "github:rust-lang-nursery:libs" (https://github.com/rust-lang-nursery) via crates: bitflags, crates-io, env_logger, getopts, glob, lazy_static, log
136+
4. "github:rustcrypto:formats" (https://github.com/rustcrypto) via crates: base16ct, base64ct, const-oid, der, pem-rfc7468, pkcs8, spki
137+
5. "github:rustwasm:core" (https://github.com/rustwasm) via crates: js-sys, wasm-bindgen, wasm-bindgen-backend, wasm-bindgen-macro, wasm-bindgen-macro-support, wasm-bindgen-shared
138+
6. "github:rust-lang:release-publishers" (https://github.com/rust-lang) via crates: cargo, cargo-platform, cargo-util, crates-io
139+
7. "github:rustcrypto:elliptic-curves" (https://github.com/rustcrypto) via crates: elliptic-curve, p384, primeorder, sec1
140+
8. "github:servo:rust-url" (https://github.com/servo) via crates: form_urlencoded, idna, percent-encoding, url
141+
9. "github:toml-rs:maintainers" (https://github.com/toml-rs) via crates: serde_spanned, toml, toml_datetime, toml_edit
142+
10. "github:alacritty:publishers" (https://github.com/alacritty) via crates: utf8parse, vte, vte_generate_state_changes
143+
11. "github:clap-rs:admins" (https://github.com/clap-rs) via crates: clap, clap_derive, clap_lex
144+
12. "github:rust-bus:maintainers" (https://github.com/rust-bus) via crates: arrayvec, tinyvec, vcpkg
145+
13. "github:rust-cli:maintainers" (https://github.com/rust-cli) via crates: anstyle, clap, clap_lex
146+
14. "github:rust-lang:core" (https://github.com/rust-lang) via crates: cargo, cargo-platform, crates-io
147+
15. "github:rust-random:maintainers" (https://github.com/rust-random) via crates: getrandom, rand_core, rand_xoshiro
148+
16. "github:rustcrypto:traits" (https://github.com/rustcrypto) via crates: crypto-common, digest, signature
149+
17. "github:rustcrypto:utils" (https://github.com/rustcrypto) via crates: block-buffer, cpufeatures, zeroize
150+
18. "github:serde-rs:owners" (https://github.com/serde-rs) via crates: serde, serde_derive, serde_json
151+
19. "github:rust-lang-nursery:log-owners" (https://github.com/rust-lang-nursery) via crates: env_logger, log
152+
20. "github:rust-lang-nursery:regex-owners" (https://github.com/rust-lang-nursery) via crates: regex, regex-syntax
153+
21. "github:rustcrypto:hashes" (https://github.com/rustcrypto) via crates: sha1, sha2
154+
22. "github:rustcrypto:signatures" (https://github.com/rustcrypto) via crates: ecdsa, rfc6979
155+
23. "github:bitflags:owners" (https://github.com/bitflags) via crates: bitflags
156+
24. "github:dalek-cryptography:subtle-maintainers" (https://github.com/dalek-cryptography) via crates: subtle
157+
25. "github:env-logger-rs:publishers" (https://github.com/env-logger-rs) via crates: env_logger
158+
26. "github:rust-lang-nursery:rustfix" (https://github.com/rust-lang-nursery) via crates: rustfix
159+
27. "github:rust-lang:libc" (https://github.com/rust-lang) via crates: libc
160+
28. "github:rustcrypto:crypto-bigint" (https://github.com/rustcrypto) via crates: crypto-bigint
161+
29. "github:rustcrypto:kdfs" (https://github.com/rustcrypto) via crates: hkdf
162+
30. "github:rustcrypto:macs" (https://github.com/rustcrypto) via crates: hmac
163+
31. "github:smol-rs:admins" (https://github.com/smol-rs) via crates: fastrand
164+
32. "github:tokio-rs:socket2" (https://github.com/tokio-rs) via crates: socket2

0 commit comments

Comments
 (0)