From 0144811c19604d2e50f524972f8a468eb5020bfc Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Wed, 13 Oct 2021 10:08:00 -0400 Subject: [PATCH 01/14] Pin toolchain in actions --- .github/workflows/rust.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 7a0cfe391..8068f4c63 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -50,7 +50,7 @@ jobs: - uses: actions-rs/toolchain@b223206e28798aa3c3668bdd6409258e6dc29172 with: profile: minimal - toolchain: stable + toolchain: 1.55.0 override: true - name: Report cargo version run: cargo --version From ac4441cd7ba4ffb6f8306b08891496fc9dc6e254 Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Wed, 13 Oct 2021 10:24:03 -0400 Subject: [PATCH 02/14] Update actions-rs, set default=true --- .github/workflows/rust.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 8068f4c63..b901e1f56 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -15,7 +15,7 @@ jobs: steps: # actions/checkout@v2 - uses: actions/checkout@28c7f3d2b5162b5ddd3dfd9a45aa55eaf396478b - - uses: actions-rs/toolchain@b223206e28798aa3c3668bdd6409258e6dc29172 + - uses: actions-rs/toolchain@88dc2356392166efad76775c878094f4e83ff746 with: toolchain: nightly-2021-03-25 default: false @@ -47,10 +47,11 @@ jobs: steps: # actions/checkout@v2 - uses: actions/checkout@28c7f3d2b5162b5ddd3dfd9a45aa55eaf396478b - - uses: actions-rs/toolchain@b223206e28798aa3c3668bdd6409258e6dc29172 + - uses: actions-rs/toolchain@88dc2356392166efad76775c878094f4e83ff746 with: profile: minimal toolchain: 1.55.0 + default: true override: true - name: Report cargo version run: cargo --version From 16abb42b68619d46cfa44f729ba98857a2050fe1 Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Wed, 13 Oct 2021 10:32:35 -0400 Subject: [PATCH 03/14] Show rustc version --- .github/workflows/rust.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index b901e1f56..5ee85646c 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -55,6 +55,8 @@ jobs: override: true - name: Report cargo version run: cargo --version + - name: Report rustc version + run: rustc --version - name: Build run: cargo build --tests --verbose - name: Run tests From 6ad7b98d9822194ea4733a61385f1f7713b7f017 Mon Sep 17 00:00:00 2001 From: Sean Klein Date: Wed, 13 Oct 2021 12:28:47 -0400 Subject: [PATCH 04/14] Add Cargo.lock, rust-toolchain, update output --- .github/workflows/rust.yml | 1 - .gitignore | 1 - Cargo.lock | 1156 +++++++++++++++++++++ dropshot/tests/fail/bad_endpoint10.stderr | 8 +- dropshot/tests/fail/bad_endpoint3.stderr | 8 +- dropshot/tests/fail/bad_endpoint4.stderr | 12 +- dropshot/tests/fail/bad_endpoint5.stderr | 6 +- dropshot/tests/fail/bad_endpoint7.stderr | 6 +- rust-toolchain.toml | 9 + 9 files changed, 1185 insertions(+), 22 deletions(-) create mode 100644 Cargo.lock create mode 100644 rust-toolchain.toml diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 5ee85646c..f6abdebe2 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -51,7 +51,6 @@ jobs: with: profile: minimal toolchain: 1.55.0 - default: true override: true - name: Report cargo version run: cargo --version diff --git a/.gitignore b/.gitignore index 581fc76c8..39c263d6a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ /target **/*.rs.bk -Cargo.lock README.html diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 000000000..2cebcccaf --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,1156 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "async-trait" +version = "0.1.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" + +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bytes" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "serde", + "time", + "winapi", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" +dependencies = [ + "cfg-if", + "lazy_static", +] + +[[package]] +name = "difference" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "dropshot" +version = "0.5.2-dev" +dependencies = [ + "async-trait", + "base64", + "bytes", + "chrono", + "dropshot_endpoint", + "expectorate", + "futures", + "hostname", + "http", + "hyper", + "indexmap", + "lazy_static", + "libc", + "mime_guess", + "openapiv3", + "paste", + "percent-encoding", + "proc-macro2", + "schemars", + "serde", + "serde_json", + "serde_urlencoded", + "slog", + "slog-async", + "slog-bunyan", + "slog-json", + "slog-term", + "subprocess", + "syn", + "tokio", + "toml", + "trybuild", + "uuid", +] + +[[package]] +name = "dropshot_endpoint" +version = "0.5.2-dev" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "serde_tokenstream", + "syn", +] + +[[package]] +name = "dtoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" + +[[package]] +name = "dyn-clone" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee2626afccd7561a06cf1367e2950c4718ea04565e20fb5029b6c7d8ad09abcf" + +[[package]] +name = "expectorate" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "804d601ea8a13ddbecf5ab4b6cf75b5d6d0539479c6fb2aea1596e352a5ee27e" +dependencies = [ + "difference", + "newline-converter", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding", +] + +[[package]] +name = "futures" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a12aa0eb539080d55c3f2d45a67c3b58b6b0773c1a3ca2dfec66d58c97fd66ca" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5da6ba8c3bb3c165d3c7319fc1cc8304facf1fb8db99c5de877183c08a273888" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88d1c26957f23603395cd326b0ffe64124b818f4449552f960d815cfba83a53d" + +[[package]] +name = "futures-executor" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45025be030969d763025784f7f355043dc6bc74093e4ecc5000ca4dc50d8745c" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "522de2a0fe3e380f1bc577ba0474108faf3f6b18321dbf60b3b9c39a75073377" + +[[package]] +name = "futures-macro" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18e4a4b95cea4b4ccbcf1c5675ca7c4ee4e9e75eb79944d07defde18068f79bb" +dependencies = [ + "autocfg", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36ea153c13024fe480590b3e3d4cad89a0cfacecc24577b68f86c6ced9c2bc11" + +[[package]] +name = "futures-task" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d3d00f4eddb73e498a54394f228cd55853bdf059259e8e7bc6e69d408892e99" + +[[package]] +name = "futures-util" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36568465210a3a6ee45e1f165136d68671471a501e632e9a98d96872222b5481" +dependencies = [ + "autocfg", + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "proc-macro-hack", + "proc-macro-nested", + "slab", +] + +[[package]] +name = "getrandom" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "glob" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" + +[[package]] +name = "h2" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c06815895acec637cd6ed6e9662c935b866d20a106f8361892893a7d9234964" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hostname" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +dependencies = [ + "libc", + "match_cfg", + "winapi", +] + +[[package]] +name = "http" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "399c583b2979440c60be0821a6199eca73bc3c8dcd9d070d75ac726e2c6186e5" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" + +[[package]] +name = "httpdate" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" + +[[package]] +name = "hyper" +version = "0.14.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15d1cfb9e4f68655fa04c01f59edb405b6074a0f7118ea881e5026e4a1cd8593" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "indexmap" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +dependencies = [ + "autocfg", + "hashbrown", + "serde", +] + +[[package]] +name = "instant" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "716d3d89f35ac6a34fd0eed635395f4c3b76fa889338a4632e5231a8684216bd" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6" + +[[package]] +name = "linked-hash-map" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" + +[[package]] +name = "lock_api" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + +[[package]] +name = "matches" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" + +[[package]] +name = "memchr" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" + +[[package]] +name = "mime" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" + +[[package]] +name = "mime_guess" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212" +dependencies = [ + "mime", + "unicase", +] + +[[package]] +name = "mio" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c2bdb6314ec10835cd3293dd268473a835c02b7b352e788be788b3c6ca6bb16" +dependencies = [ + "libc", + "log", + "miow", + "ntapi", + "winapi", +] + +[[package]] +name = "miow" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" +dependencies = [ + "winapi", +] + +[[package]] +name = "newline-converter" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f81c2b19eebbc4249b3ca6aff70ae05bf18d6a99b7cc63cf0248774e640565" + +[[package]] +name = "ntapi" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44" +dependencies = [ + "winapi", +] + +[[package]] +name = "num-integer" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "once_cell" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" + +[[package]] +name = "openapiv3" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90228d34f20d9fff3174d19b0d41e67f52711045270b540a2a2c2dc41ccb4085" +dependencies = [ + "indexmap", + "serde", + "serde_json", + "serde_yaml", +] + +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall", + "smallvec", + "winapi", +] + +[[package]] +name = "paste" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58" + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "pin-project-lite" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "proc-macro-hack" +version = "0.5.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" + +[[package]] +name = "proc-macro-nested" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" + +[[package]] +name = "proc-macro2" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edc3358ebc67bc8b7fa0c007f945b0b18226f78437d61bec735a9eb96b61ee70" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "quote" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "redox_syscall" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_users" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" +dependencies = [ + "getrandom", + "redox_syscall", +] + +[[package]] +name = "rustversion" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088" + +[[package]] +name = "ryu" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" + +[[package]] +name = "schemars" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7a48d098c2a7fdf5740b19deb1181b4fb8a9e68e03ae517c14cde04b5725409" +dependencies = [ + "chrono", + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", + "uuid", +] + +[[package]] +name = "schemars_derive" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9ea2a613fe4cd7118b2bb101a25d8ae6192e1975179b67b2f17afd11e70ac8" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn", +] + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "serde" +version = "1.0.130" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.130" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_derive_internals" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dbab34ca63057a1f15280bdf3c39f2b1eb1b54c17e98360e511637aef7418c6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_tokenstream" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c3ce95257fba42a656f558db28d56a9fac5aa6e4f29c5ef607f32f524fab0ab" +dependencies = [ + "proc-macro2", + "serde", + "syn", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_yaml" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8c608a35705a5d3cdc9fbe403147647ff34b921f8e833e49306df898f9b20af" +dependencies = [ + "dtoa", + "indexmap", + "serde", + "yaml-rust", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +dependencies = [ + "libc", +] + +[[package]] +name = "slab" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" + +[[package]] +name = "slog" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06" + +[[package]] +name = "slog-async" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "766c59b252e62a34651412870ff55d8c4e6d04df19b43eecb2703e417b097ffe" +dependencies = [ + "crossbeam-channel", + "slog", + "take_mut", + "thread_local", +] + +[[package]] +name = "slog-bunyan" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "924f5e8b5a1069e484f6ad80024322990e21ee8399f12ba289e48cd30bc0dda0" +dependencies = [ + "chrono", + "hostname", + "slog", + "slog-json", +] + +[[package]] +name = "slog-json" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e9b96fb6b5e80e371423b4aca6656eb537661ce8f82c2697e619f8ca85d043" +dependencies = [ + "chrono", + "serde", + "serde_json", + "slog", +] + +[[package]] +name = "slog-term" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95c1e7e5aab61ced6006149ea772770b84a0d16ce0f7885def313e4829946d76" +dependencies = [ + "atty", + "chrono", + "slog", + "term", + "thread_local", +] + +[[package]] +name = "smallvec" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" + +[[package]] +name = "socket2" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "subprocess" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "055cf3ebc2981ad8f0a5a17ef6652f652d87831f79fddcba2ac57bcb9a0aa407" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "syn" +version = "1.0.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d010a1623fbd906d51d650a9916aaefc05ffa0e4053ff7fe601167f3e715d194" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "take_mut" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" + +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + +[[package]] +name = "termcolor" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thread_local" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8018d24e04c95ac8790716a5987d0fec4f8b27249ffa0f7d33f1369bdfb88cbd" +dependencies = [ + "once_cell", +] + +[[package]] +name = "time" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "tokio" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2c2416fdedca8443ae44b4527de1ea633af61d8f7169ffa6e72c5b53d24efcc" +dependencies = [ + "autocfg", + "bytes", + "libc", + "memchr", + "mio", + "num_cpus", + "once_cell", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "tokio-macros", + "winapi", +] + +[[package]] +name = "tokio-macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2dd85aeaba7b68df939bd357c6afb36c87951be9e80bf9c859f2fc3e9fca0fd" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-util" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d3725d3efa29485e87311c5b699de63cde14b00ed4d256b8318aa30ca452cd" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "log", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +dependencies = [ + "serde", +] + +[[package]] +name = "tower-service" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" + +[[package]] +name = "tracing" +version = "0.1.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + +[[package]] +name = "trybuild" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbaccfa9796293406a02ec790614628c88d0b3246249a620ac1ee7076274716b" +dependencies = [ + "glob", + "lazy_static", + "serde", + "serde_json", + "termcolor", + "toml", +] + +[[package]] +name = "unicase" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-xid" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" + +[[package]] +name = "uuid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom", + "serde", +] + +[[package]] +name = "version_check" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" + +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.10.2+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "yaml-rust" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +dependencies = [ + "linked-hash-map", +] diff --git a/dropshot/tests/fail/bad_endpoint10.stderr b/dropshot/tests/fail/bad_endpoint10.stderr index 67812f456..95cefe89f 100644 --- a/dropshot/tests/fail/bad_endpoint10.stderr +++ b/dropshot/tests/fail/bad_endpoint10.stderr @@ -1,5 +1,5 @@ error[E0271]: type mismatch resolving `::This == HttpError` - --> $DIR/bad_endpoint10.rs:16:6 + --> tests/fail/bad_endpoint10.rs:16:6 | 16 | ) -> Result, String> { | ^^^^^^ @@ -8,12 +8,12 @@ error[E0271]: type mismatch resolving `::This == HttpError` | required by this bound in `validate_result_error_type` error[E0277]: the trait bound `fn(Arc>) -> impl Future { for ApiEndpoint<> as RequestContextArgument>::Context>>::from::bad_error_type}: dropshot::handler::HttpHandlerFunc<_, _, _>` is not satisfied - --> $DIR/bad_endpoint10.rs:14:10 + --> tests/fail/bad_endpoint10.rs:14:10 | 14 | async fn bad_error_type( | ^^^^^^^^^^^^^^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for `fn(Arc>) -> impl Future { for ApiEndpoint<> as RequestContextArgument>::Context>>::from::bad_error_type}` | - ::: $WORKSPACE/dropshot/src/api_description.rs + ::: src/api_description.rs:54:33 | - | FuncParams: Extractor + 'static, +54 | FuncParams: Extractor + 'static, | ------- required by this bound in `ApiEndpoint::::new` diff --git a/dropshot/tests/fail/bad_endpoint3.stderr b/dropshot/tests/fail/bad_endpoint3.stderr index d2ccee263..4dedcfe33 100644 --- a/dropshot/tests/fail/bad_endpoint3.stderr +++ b/dropshot/tests/fail/bad_endpoint3.stderr @@ -1,5 +1,5 @@ error[E0277]: the trait bound `String: Extractor` is not satisfied - --> $DIR/bad_endpoint3.rs:17:12 + --> tests/fail/bad_endpoint3.rs:17:12 | 11 | / #[endpoint { 12 | | method = GET, @@ -14,12 +14,12 @@ error[E0277]: the trait bound `String: Extractor` is not satisfied | required by a bound in this error[E0277]: the trait bound `fn(Arc>, String) -> impl Future { for ApiEndpoint<> as RequestContextArgument>::Context>>::from::bad_endpoint}: dropshot::handler::HttpHandlerFunc<_, _, _>` is not satisfied - --> $DIR/bad_endpoint3.rs:15:10 + --> tests/fail/bad_endpoint3.rs:15:10 | 15 | async fn bad_endpoint( | ^^^^^^^^^^^^ the trait `dropshot::handler::HttpHandlerFunc<_, _, _>` is not implemented for `fn(Arc>, String) -> impl Future { for ApiEndpoint<> as RequestContextArgument>::Context>>::from::bad_endpoint}` | - ::: $WORKSPACE/dropshot/src/api_description.rs + ::: src/api_description.rs:54:33 | - | FuncParams: Extractor + 'static, +54 | FuncParams: Extractor + 'static, | ------- required by this bound in `ApiEndpoint::::new` diff --git a/dropshot/tests/fail/bad_endpoint4.stderr b/dropshot/tests/fail/bad_endpoint4.stderr index 51ff44a9e..8cb667e9c 100644 --- a/dropshot/tests/fail/bad_endpoint4.stderr +++ b/dropshot/tests/fail/bad_endpoint4.stderr @@ -1,23 +1,23 @@ error[E0277]: the trait bound `QueryParams: schemars::JsonSchema` is not satisfied - --> $DIR/bad_endpoint4.rs:24:14 + --> tests/fail/bad_endpoint4.rs:24:14 | 24 | _params: Query, | ^^^^^^^^^^^^^^^^^^ the trait `schemars::JsonSchema` is not implemented for `QueryParams` | - ::: $WORKSPACE/dropshot/src/handler.rs + ::: src/handler.rs:547:48 | - | pub struct Query { +547 | pub struct Query { | ---------- required by this bound in `dropshot::Query` error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de>` is not satisfied - --> $DIR/bad_endpoint4.rs:24:14 + --> tests/fail/bad_endpoint4.rs:24:14 | 24 | _params: Query, | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | - ::: $WORKSPACE/dropshot/src/handler.rs + ::: src/handler.rs:547:29 | - | pub struct Query { +547 | pub struct Query { | ---------------- required by this bound in `dropshot::Query` | = note: required because of the requirements on the impl of `serde::de::DeserializeOwned` for `QueryParams` diff --git a/dropshot/tests/fail/bad_endpoint5.stderr b/dropshot/tests/fail/bad_endpoint5.stderr index 05e156ed3..00de6860d 100644 --- a/dropshot/tests/fail/bad_endpoint5.stderr +++ b/dropshot/tests/fail/bad_endpoint5.stderr @@ -1,12 +1,12 @@ error[E0277]: the trait bound `for<'de> QueryParams: serde::de::Deserialize<'de>` is not satisfied - --> $DIR/bad_endpoint5.rs:26:14 + --> tests/fail/bad_endpoint5.rs:26:14 | 26 | _params: Query, | ^^^^^^^^^^^^^^^^^^ the trait `for<'de> serde::de::Deserialize<'de>` is not implemented for `QueryParams` | - ::: $WORKSPACE/dropshot/src/handler.rs + ::: src/handler.rs:547:29 | - | pub struct Query { +547 | pub struct Query { | ---------------- required by this bound in `dropshot::Query` | = note: required because of the requirements on the impl of `serde::de::DeserializeOwned` for `QueryParams` diff --git a/dropshot/tests/fail/bad_endpoint7.stderr b/dropshot/tests/fail/bad_endpoint7.stderr index da56ed29a..8107a2906 100644 --- a/dropshot/tests/fail/bad_endpoint7.stderr +++ b/dropshot/tests/fail/bad_endpoint7.stderr @@ -1,10 +1,10 @@ error[E0277]: the trait bound `Ret: serde::ser::Serialize` is not satisfied - --> $DIR/bad_endpoint7.rs:25:13 + --> tests/fail/bad_endpoint7.rs:25:13 | 25 | ) -> Result, HttpError> { | ^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Ret` | - ::: $WORKSPACE/dropshot/src/handler.rs + ::: src/handler.rs:1216:43 | - | pub struct HttpResponseOk( +1216 | pub struct HttpResponseOk( | --------- required by this bound in `HttpResponseOk` diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 000000000..667108a09 --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,9 @@ +# We use a specific toolchain revision to ensure our tests - which +# occasionally depend on specific compiler output - remain stable +# for all developers until the toolchain is explicitly advanced. + +[toolchain] +# NOTE: This toolchain is also specified within .github/workflows/rust.yml +# If you update it here, update that file too. +channel = "1.55.0" +profile = "default" From a7e81fe942a3ed4cfcd8d63f6a491ad46df42f66 Mon Sep 17 00:00:00 2001 From: Justin Bennett Date: Fri, 7 Jan 2022 22:31:41 -0500 Subject: [PATCH 05/14] update to latest stable toolchain --- rust-toolchain.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 667108a09..9c204d329 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -5,5 +5,5 @@ [toolchain] # NOTE: This toolchain is also specified within .github/workflows/rust.yml # If you update it here, update that file too. -channel = "1.55.0" +channel = "1.57.0" profile = "default" From 32842eb3b6b38b578c7f058bd07d906f36e8b539 Mon Sep 17 00:00:00 2001 From: Justin Bennett Date: Fri, 7 Jan 2022 22:32:38 -0500 Subject: [PATCH 06/14] Remove toolchain version from action in favor of toolchain file --- .github/workflows/rust.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index eeccb6cb0..d5e497f30 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -50,7 +50,6 @@ jobs: - uses: actions-rs/toolchain@88dc2356392166efad76775c878094f4e83ff746 with: profile: minimal - toolchain: 1.55.0 override: true - name: Report cargo version run: cargo --version From 82e875d4264478b2313b3be3757d2ea58115d8c1 Mon Sep 17 00:00:00 2001 From: Justin Bennett Date: Fri, 7 Jan 2022 22:47:54 -0500 Subject: [PATCH 07/14] Drop rust-toolchain's .toml extension until action-rs supports it --- rust-toolchain.toml => rust-toolchain | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename rust-toolchain.toml => rust-toolchain (100%) diff --git a/rust-toolchain.toml b/rust-toolchain similarity index 100% rename from rust-toolchain.toml rename to rust-toolchain From ef24cd86966249003398ad6d67adfd9a12dc343a Mon Sep 17 00:00:00 2001 From: Justin Bennett Date: Sat, 8 Jan 2022 00:27:07 -0500 Subject: [PATCH 08/14] Use forked toolchain action --- .github/workflows/rust.yml | 76 +++++++++++++-------------- rust-toolchain => rust-toolchain.toml | 2 - 2 files changed, 38 insertions(+), 40 deletions(-) rename rust-toolchain => rust-toolchain.toml (67%) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index d5e497f30..782358f95 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -5,57 +5,57 @@ name: Rust on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] + branches: [main] jobs: check-style: runs-on: ubuntu-18.04 steps: - # actions/checkout@v2 - - uses: actions/checkout@28c7f3d2b5162b5ddd3dfd9a45aa55eaf396478b - - uses: actions-rs/toolchain@88dc2356392166efad76775c878094f4e83ff746 - with: - toolchain: nightly-2021-03-25 - default: false - components: rustfmt - - name: Report cargo version - run: cargo +nightly-2021-03-25 --version - - name: Report rustfmt version - run: cargo +nightly-2021-03-25 fmt -- --version - - name: Check style - run: cargo +nightly-2021-03-25 fmt -- --check + # actions/checkout@v2 + - uses: actions/checkout@28c7f3d2b5162b5ddd3dfd9a45aa55eaf396478b + - uses: actions-rs/toolchain@88dc2356392166efad76775c878094f4e83ff746 + with: + toolchain: nightly-2021-03-25 + default: false + components: rustfmt + - name: Report cargo version + run: cargo +nightly-2021-03-25 --version + - name: Report rustfmt version + run: cargo +nightly-2021-03-25 fmt -- --version + - name: Check style + run: cargo +nightly-2021-03-25 fmt -- --check clippy-lint: runs-on: ubuntu-18.04 steps: - # actions/checkout@v2 - - uses: actions/checkout@28c7f3d2b5162b5ddd3dfd9a45aa55eaf396478b - - name: Report cargo version - run: cargo --version - - name: Report Clippy version - run: cargo clippy -- --version - - name: Run Clippy Lints - run: cargo clippy -- -D warnings + # actions/checkout@v2 + - uses: actions/checkout@28c7f3d2b5162b5ddd3dfd9a45aa55eaf396478b + - name: Report cargo version + run: cargo --version + - name: Report Clippy version + run: cargo clippy -- --version + - name: Run Clippy Lints + run: cargo clippy -- -D warnings build-and-test: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ ubuntu-18.04, windows-2019, macos-10.15 ] + os: [ubuntu-18.04, windows-2019, macos-10.15] steps: - # actions/checkout@v2 - - uses: actions/checkout@28c7f3d2b5162b5ddd3dfd9a45aa55eaf396478b - - uses: actions-rs/toolchain@88dc2356392166efad76775c878094f4e83ff746 - with: - profile: minimal - override: true - - name: Report cargo version - run: cargo --version - - name: Report rustc version - run: rustc --version - - name: Build - run: cargo build --locked --all-targets --verbose - - name: Run tests - run: cargo test --locked --verbose + # actions/checkout@v2 + - uses: actions/checkout@28c7f3d2b5162b5ddd3dfd9a45aa55eaf396478b + - uses: zephraph/toolchain@cebe54f42a333ba96d769887d0842f34c7253147 + with: + profile: minimal + override: true + - name: Report cargo version + run: cargo --version + - name: Report rustc version + run: rustc --version + - name: Build + run: cargo build --locked --all-targets --verbose + - name: Run tests + run: cargo test --locked --verbose diff --git a/rust-toolchain b/rust-toolchain.toml similarity index 67% rename from rust-toolchain rename to rust-toolchain.toml index 9c204d329..d7886c11a 100644 --- a/rust-toolchain +++ b/rust-toolchain.toml @@ -3,7 +3,5 @@ # for all developers until the toolchain is explicitly advanced. [toolchain] -# NOTE: This toolchain is also specified within .github/workflows/rust.yml -# If you update it here, update that file too. channel = "1.57.0" profile = "default" From d8b1a284090861a17d077afa58e8ee3a505a7340 Mon Sep 17 00:00:00 2001 From: Justin Bennett Date: Sat, 8 Jan 2022 00:32:16 -0500 Subject: [PATCH 09/14] Update fork, add comment about upstream PR --- .github/workflows/rust.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 782358f95..609dd69ff 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -47,7 +47,8 @@ jobs: steps: # actions/checkout@v2 - uses: actions/checkout@28c7f3d2b5162b5ddd3dfd9a45aa55eaf396478b - - uses: zephraph/toolchain@cebe54f42a333ba96d769887d0842f34c7253147 + # Temporary fork until https://github.com/actions-rs/toolchain/pull/209 is merged + - uses: zephraph/toolchain@4fdb216e1826d75b42342a7753d9a5872af3db56 with: profile: minimal override: true From 1c8c22af67afd4fe3ec4f2614274e4a9c7e59a6b Mon Sep 17 00:00:00 2001 From: Justin Bennett Date: Sat, 8 Jan 2022 00:53:00 -0500 Subject: [PATCH 10/14] Update fork again --- .github/workflows/rust.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 609dd69ff..94129a134 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -48,7 +48,7 @@ jobs: # actions/checkout@v2 - uses: actions/checkout@28c7f3d2b5162b5ddd3dfd9a45aa55eaf396478b # Temporary fork until https://github.com/actions-rs/toolchain/pull/209 is merged - - uses: zephraph/toolchain@4fdb216e1826d75b42342a7753d9a5872af3db56 + - uses: zephraph/toolchain@6bbb331ffcc44b148bf62cd68a72bb0132181cdd with: profile: minimal override: true From 88e74c2f9f1ba0d8a6271862db4fcca40ae77061 Mon Sep 17 00:00:00 2001 From: Justin Bennett Date: Mon, 10 Jan 2022 16:42:13 -0500 Subject: [PATCH 11/14] Switch to oxide's fork --- .github/workflows/rust.yml | 43 ++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index aada3dd80..83614bb54 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -13,31 +13,29 @@ jobs: check-style: runs-on: ubuntu-18.04 steps: - # actions/checkout@v2 - - uses: actions/checkout@230611dbd0eb52da1e1f4f7bc8bb0c3a339fc8b7 - - uses: actions-rs/toolchain@88dc2356392166efad76775c878094f4e83ff746 - with: - toolchain: nightly-2021-03-25 - default: false - components: rustfmt - - name: Report cargo version - run: cargo +nightly-2021-03-25 --version - - name: Report rustfmt version - run: cargo +nightly-2021-03-25 fmt -- --version - - name: Check style - run: cargo +nightly-2021-03-25 fmt -- --check + - uses: actions/checkout@230611dbd0eb52da1e1f4f7bc8bb0c3a339fc8b7 + - uses: actions-rs/toolchain@88dc2356392166efad76775c878094f4e83ff746 + with: + toolchain: nightly-2021-03-25 + default: false + components: rustfmt + - name: Report cargo version + run: cargo +nightly-2021-03-25 --version + - name: Report rustfmt version + run: cargo +nightly-2021-03-25 fmt -- --version + - name: Check style + run: cargo +nightly-2021-03-25 fmt -- --check clippy-lint: runs-on: ubuntu-18.04 steps: - # actions/checkout@v2 - - uses: actions/checkout@230611dbd0eb52da1e1f4f7bc8bb0c3a339fc8b7 - - name: Report cargo version - run: cargo --version - - name: Report Clippy version - run: cargo clippy -- --version - - name: Run Clippy Lints - run: cargo clippy -- -D warnings + - uses: actions/checkout@230611dbd0eb52da1e1f4f7bc8bb0c3a339fc8b7 + - name: Report cargo version + run: cargo --version + - name: Report Clippy version + run: cargo clippy -- --version + - name: Run Clippy Lints + run: cargo clippy -- -D warnings build-and-test: runs-on: ${{ matrix.os }} @@ -45,10 +43,9 @@ jobs: matrix: os: [ubuntu-18.04, windows-2019, macos-10.15] steps: - # actions/checkout@v2 - uses: actions/checkout@230611dbd0eb52da1e1f4f7bc8bb0c3a339fc8b7 # Temporary fork until https://github.com/actions-rs/toolchain/pull/209 is merged - - uses: zephraph/toolchain@6bbb331ffcc44b148bf62cd68a72bb0132181cdd + - uses: oxidecomputer/action-rs_toolchain@ad3f86084a8a5acf2c09cb691421b31cf8af7a36 with: profile: minimal override: true From 3f0dff659a65b4866c1dc197d155f43438056142 Mon Sep 17 00:00:00 2001 From: Justin Bennett Date: Mon, 10 Jan 2022 16:44:11 -0500 Subject: [PATCH 12/14] Update doc block as suggested in PR review --- rust-toolchain.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/rust-toolchain.toml b/rust-toolchain.toml index d7886c11a..dacac656f 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,6 +1,7 @@ # We use a specific toolchain revision to ensure our tests - which # occasionally depend on specific compiler output - remain stable # for all developers until the toolchain is explicitly advanced. +# The intent is to keep this updated as new stable versions are relased. [toolchain] channel = "1.57.0" From cfef63d96b248365d2b71004f01819e0a533c52a Mon Sep 17 00:00:00 2001 From: Justin Bennett Date: Mon, 10 Jan 2022 16:50:35 -0500 Subject: [PATCH 13/14] Fix typo --- .github/workflows/rust.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 83614bb54..c56ac97b7 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -45,7 +45,7 @@ jobs: steps: - uses: actions/checkout@230611dbd0eb52da1e1f4f7bc8bb0c3a339fc8b7 # Temporary fork until https://github.com/actions-rs/toolchain/pull/209 is merged - - uses: oxidecomputer/action-rs_toolchain@ad3f86084a8a5acf2c09cb691421b31cf8af7a36 + - uses: oxidecomputer/actions-rs_toolchain@ad3f86084a8a5acf2c09cb691421b31cf8af7a36 with: profile: minimal override: true From c5161c1a5b4a9208a1332c712e7d524bc1c758c1 Mon Sep 17 00:00:00 2001 From: Justin Bennett Date: Mon, 10 Jan 2022 17:26:51 -0500 Subject: [PATCH 14/14] Add some details to maintainers about renovate --- MAINTAINERS.adoc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/MAINTAINERS.adoc b/MAINTAINERS.adoc index be80f597e..25c908cab 100644 --- a/MAINTAINERS.adoc +++ b/MAINTAINERS.adoc @@ -36,6 +36,17 @@ We currently configure Dependabot to treat Dropshot as an application so that it If you find yourself trying to debug what Dependabot is doing, you can https://github.com/oxidecomputer/dropshot/network/updates[view its activity on GitHub by clicking the Insights tab, then "Dependency Graph" on the left, and then the "Dependabot" subtab]. You'll see sections for dropshot/Cargo.toml and dropshot_endpoint/Cargo.toml. For each one, you can click the "Last checked" link to get a log of its last run. This may only make sense if you've looked at the https://github.com/dependabot/dependabot-core/[source]. +== Renovate + +Renovate is another dependency management tool which we're utilizing for a smaller set of automated updates. It's currently responsible for opening update PRs for GitHub actions and rust-toolchain versions. The repo's renovate configuration can be found https://github.com/oxidecomputer/dropshot/blob/main/.github/renovate.json[here] with most of the functionality coming from our https://github.com/oxidecomputer/renovate-config[shared renovate config repo]. Refer to the readme of that repo for more information about what shared renovate rules exist and how to configure them. + +=== Dependency Dashboard + +Renovate includes the ability to gate dependency updates behind an automated issue called a dependency dashboard. Dropshot's dependency dashboard is at https://github.com/oxidecomputer/dropshot/issues/238[oxidecomputer/dropshot#238]. This functionality is useful to test what types of updates Renovate may queue up on a configuration change without creating unnecessary PRs. The issue itself is created automatically and must be https://docs.renovatebot.com/key-concepts/dashboard/#how-to-disable-the-dashboard[disabled via configuration] if it's no longer needed. + +=== Debugging Renovate + +Like Dependabot, Renovate provides a log for update runs related to the project. See https://app.renovatebot.com/dashboard#github/oxidecomputer/dropshot[Dropshot's renovate log]. == Publishing a new release