From 580ff838fe3ec14f5848eae8d302a27983de5d88 Mon Sep 17 00:00:00 2001 From: Fabian Kaczmarczyck Date: Thu, 9 Nov 2023 13:10:45 +0100 Subject: [PATCH 1/7] Move to latest compiler and package versions We also add cargo audit to the desktop tests. --- .github/workflows/ci.yml | 1 + Cargo.lock | 237 +++++++++++++------------ bootloader/Cargo.lock | 52 +++--- bootloader/rust-toolchain | 5 +- run_desktop_tests.sh | 50 +++--- rust-toolchain | 9 +- third_party/lang-items/Cargo.lock | 62 ------- third_party/libtock-drivers/Cargo.lock | 22 --- tools/heapviz/Cargo.lock | 47 +++-- 9 files changed, 214 insertions(+), 271 deletions(-) mode change 100644 => 120000 bootloader/rust-toolchain mode change 120000 => 100644 rust-toolchain delete mode 100644 third_party/lang-items/Cargo.lock delete mode 100644 third_party/libtock-drivers/Cargo.lock diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0b5815a0..84b668e5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,4 +30,5 @@ jobs: - run: ./setup.sh - run: rustup component add rustfmt --toolchain nightly - run: rustup component add clippy --toolchain nightly + - run: rustup component add audit --toolchain nightly - run: ./run_desktop_tests.sh diff --git a/Cargo.lock b/Cargo.lock index 9ce254c3..c8074902 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "aes" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" +checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" dependencies = [ "cfg-if", "cipher", @@ -15,18 +15,18 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.19" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] [[package]] name = "arrayref" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" [[package]] name = "base16ct" @@ -63,9 +63,9 @@ checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "cbc" @@ -78,9 +78,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.73" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] [[package]] name = "cfg-if" @@ -100,15 +103,15 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.2" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "cpufeatures" -version = "0.2.7" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" dependencies = [ "libc", ] @@ -132,9 +135,9 @@ dependencies = [ [[package]] name = "crypto-bigint" -version = "0.5.1" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c2538c4e68e52548bacb3e83ac549f903d44f011ac9d5abb5e132e67d0808f7" +checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124" dependencies = [ "generic-array", "rand_core", @@ -180,9 +183,9 @@ dependencies = [ [[package]] name = "der" -version = "0.7.5" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05e58dffcdcc8ee7b22f0c1f71a69243d7c2d9ad87b5a14361f2424a1565c219" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" dependencies = [ "const-oid", "zeroize", @@ -190,9 +193,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", "const-oid", @@ -202,28 +205,29 @@ dependencies = [ [[package]] name = "ecdsa" -version = "0.16.6" +version = "0.16.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a48e5d537b8a30c0b023116d981b16334be1485af7ca68db3a2b7024cbc957fd" +checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" dependencies = [ "der", "digest", "elliptic-curve", "rfc6979", "signature", + "spki", ] [[package]] name = "ed25519-compact" -version = "1.0.15" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee9df587982575886a8682edcee11877894349a805f25629c27f63abe3e9ae8" +checksum = "e18997d4604542d0736fae2c5ad6de987f0a50530cbcc14a7ce5a685328a252d" [[package]] name = "elliptic-curve" -version = "0.13.4" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75c71eaa367f2e5d556414a8eea812bc62985c879748d6403edabd9cb03f16e7" +checksum = "d97ca172ae9dc9f9b779a6e3a65d308f2af74e5b8c921299075bdb4a0370e914" dependencies = [ "base16ct", "crypto-bigint", @@ -256,7 +260,7 @@ checksum = "1e94aa31f7c0dc764f57896dc615ddd76fc13b0d5dca7eb6cc5e018a5a09ec06" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -297,9 +301,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.7" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ "cfg-if", "libc", @@ -358,9 +362,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" dependencies = [ "wasm-bindgen", ] @@ -381,9 +385,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.133" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "libtock_alarm" @@ -450,30 +454,27 @@ dependencies = [ [[package]] name = "linked_list_allocator" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e322f259d225fbae43a1b053b2dc6a5968a6bdf8b205f5de684dab485b95030e" +checksum = "9afa463f5405ee81cdb9cc2baf37e08ec7e4c8209442b5d72c04cfb2cd6e6286" [[package]] name = "log" -version = "0.4.17" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "memchr" -version = "2.5.0" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "once_cell" -version = "1.14.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "opensk" @@ -516,13 +517,13 @@ dependencies = [ [[package]] name = "openssl-macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.39", ] [[package]] @@ -565,9 +566,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "ppv-lite86" @@ -577,27 +578,27 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "primeorder" -version = "0.13.1" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf8d3875361e28f7753baefef104386e7aa47642c93023356d97fdef4003bfb5" +checksum = "c7dbe9ed3b56368bd99483eb32fe9c17fdd3730aebadc906918ce78d54c7eeb4" dependencies = [ "elliptic-curve", ] [[package]] name = "proc-macro2" -version = "1.0.43" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.21" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -633,9 +634,21 @@ dependencies = [ [[package]] name = "regex" -version = "1.6.0" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", @@ -644,9 +657,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "rfc6979" @@ -675,15 +688,15 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "sec1" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0aec48e813d6b90b15f0b8948af3c63483992dee44c03e9930b3eebdabe046e" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ "base16ct", "der", @@ -695,22 +708,22 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.145" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b" +checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.145" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c" +checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.39", ] [[package]] @@ -726,9 +739,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -757,9 +770,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spki" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37a5be806ab6f127c3da44b7378837ebf01dadca8510a0e572460216b228bd0e" +checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" dependencies = [ "base64ct", "der", @@ -767,15 +780,15 @@ dependencies = [ [[package]] name = "subtle" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "syn" -version = "1.0.100" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52205623b1b0f064a4e71182c3b18ae902267282930c6d5462c91b859668426e" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -783,54 +796,47 @@ dependencies = [ ] [[package]] -name = "synstructure" -version = "0.12.6" +name = "syn" +version = "2.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ "proc-macro2", "quote", - "syn", - "unicode-xid", + "unicode-ident", ] [[package]] name = "thiserror" -version = "1.0.39" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.39" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.39", ] [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "unicode-ident" -version = "1.0.4" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" - -[[package]] -name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "untrusted" @@ -867,9 +873,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -877,24 +883,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn", + "syn 2.0.39", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -902,28 +908,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.39", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" dependencies = [ "js-sys", "wasm-bindgen", @@ -953,21 +959,20 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "zeroize" -version = "1.5.7" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" +checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.3.3" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn", - "synstructure", + "syn 2.0.39", ] diff --git a/bootloader/Cargo.lock b/bootloader/Cargo.lock index 8307a583..98b83be7 100644 --- a/bootloader/Cargo.lock +++ b/bootloader/Cargo.lock @@ -19,7 +19,7 @@ checksum = "45403b49e3954a4b8428a0ac21a4b7afadccf92bfd96273f1a58cd4812496ae0" dependencies = [ "generic-array 0.12.4", "generic-array 0.13.3", - "generic-array 0.14.6", + "generic-array 0.14.7", "stable_deref_trait", ] @@ -53,9 +53,9 @@ dependencies = [ [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "cortex-m" @@ -66,15 +66,15 @@ dependencies = [ "aligned", "bare-metal", "bitfield", - "cortex-m 0.7.6", + "cortex-m 0.7.7", "volatile-register", ] [[package]] name = "cortex-m" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70858629a458fdfd39f9675c4dc309411f2a3f83bede76988d81bf1a0ecee9e0" +checksum = "8ec610d8f49840a5b376c69663b6369e71f4b34484b9b2eb29fb918d92516cb9" dependencies = [ "bare-metal", "bitfield", @@ -84,9 +84,9 @@ dependencies = [ [[package]] name = "cortex-m-rt" -version = "0.7.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c433da385b720d5bb9f52362fa2782420798e68d40d67bfe4b0d992aba5dfe7" +checksum = "ee84e813d593101b1723e13ec38b6ab6abbdbaaa4546553f5395ed274079ddb1" dependencies = [ "cortex-m-rt-macros", ] @@ -132,9 +132,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", @@ -146,14 +146,14 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "801d31da0513b6ec5214e9bf433a77966320625a37860f910be265be6e18d06f" dependencies = [ - "nb 1.0.0", + "nb 1.1.0", ] [[package]] name = "nb" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "546c37ac5d9e56f55e73b677106873d9d9f5190605e41a856503623648488cae" +checksum = "8d5439c4ad607c3c23abf66de8c8bf57ba8adcd1f129e699851a6e43935d339d" [[package]] name = "panic-abort" @@ -163,18 +163,18 @@ checksum = "4e20e6499bbbc412f280b04a42346b356c6fa0753d5fd22b7bd752ff34c778ee" [[package]] name = "proc-macro2" -version = "1.0.43" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.21" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -185,7 +185,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "065d6058bb1204f51a562a67209e1817cf714759d5cf845aa45c75fa7b0b9d9b" dependencies = [ - "cortex-m 0.7.6", + "cortex-m 0.7.7", "ufmt-write", ] @@ -221,9 +221,9 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "syn" -version = "1.0.100" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52205623b1b0f064a4e71182c3b18ae902267282930c6d5462c91b859668426e" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", @@ -238,9 +238,9 @@ checksum = "4ee8fba06c1f4d0b396ef61a54530bb6b28f0dc61c38bc8bc5a5a48161e6282e" [[package]] name = "typenum" -version = "1.15.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ufmt-write" @@ -250,9 +250,9 @@ checksum = "e87a2ed6b42ec5e28cc3b94c09982969e9227600b2e3dcbc1db927a84c06bd69" [[package]] name = "unicode-ident" -version = "1.0.4" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "vcell" @@ -274,9 +274,9 @@ checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] name = "volatile-register" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ee8f19f9d74293faf70901bc20ad067dc1ad390d2cbf1e3f75f721ffee908b6" +checksum = "de437e2a6208b014ab52972a27e59b33fa2920d3e00fe05026167a1c509d19cc" dependencies = [ "vcell", ] diff --git a/bootloader/rust-toolchain b/bootloader/rust-toolchain deleted file mode 100644 index b3bb5dd5..00000000 --- a/bootloader/rust-toolchain +++ /dev/null @@ -1,4 +0,0 @@ -[toolchain] -channel = "nightly-2023-02-01" -components = ["clippy", "rustfmt"] -targets = ["thumbv7em-none-eabi"] diff --git a/bootloader/rust-toolchain b/bootloader/rust-toolchain new file mode 120000 index 00000000..9327ba40 --- /dev/null +++ b/bootloader/rust-toolchain @@ -0,0 +1 @@ +../rust-toolchain \ No newline at end of file diff --git a/run_desktop_tests.sh b/run_desktop_tests.sh index 9f23d9ab..b8e3e7df 100755 --- a/run_desktop_tests.sh +++ b/run_desktop_tests.sh @@ -39,15 +39,15 @@ cargo check --release --manifest-path tools/heapviz/Cargo.toml echo "Checking Rust formatting..." cargo fmt -- --check -cargo +nightly fmt --manifest-path libraries/opensk/Cargo.toml -- --check -cargo +nightly fmt --manifest-path libraries/opensk/fuzz/Cargo.toml -- --check -cargo +nightly fmt --manifest-path libraries/cbor/Cargo.toml -- --check -cargo +nightly fmt --manifest-path libraries/cbor/fuzz/Cargo.toml -- --check -cargo +nightly fmt --manifest-path libraries/persistent_store/Cargo.toml -- --check -cargo +nightly fmt --manifest-path libraries/persistent_store/fuzz/Cargo.toml -- --check -cargo +nightly fmt --manifest-path libraries/crypto/Cargo.toml -- --check -cargo +nightly fmt --manifest-path tools/heapviz/Cargo.toml -- --check -cargo +nightly fmt --manifest-path bootloader/Cargo.toml -- --check +cargo fmt --manifest-path libraries/opensk/Cargo.toml -- --check +cargo fmt --manifest-path libraries/opensk/fuzz/Cargo.toml -- --check +cargo fmt --manifest-path libraries/cbor/Cargo.toml -- --check +cargo fmt --manifest-path libraries/cbor/fuzz/Cargo.toml -- --check +cargo fmt --manifest-path libraries/persistent_store/Cargo.toml -- --check +cargo fmt --manifest-path libraries/persistent_store/fuzz/Cargo.toml -- --check +cargo fmt --manifest-path libraries/crypto/Cargo.toml -- --check +cargo fmt --manifest-path tools/heapviz/Cargo.toml -- --check +cargo fmt --manifest-path bootloader/Cargo.toml -- --check echo "Checking Python formatting..." py_virtual_env/bin/pylint --score=n `git ls-files --deduplicate --exclude-standard --full-name '*.py'` @@ -56,18 +56,18 @@ py_virtual_env/bin/yapf --style=yapf --recursive --exclude py_virtual_env --excl echo "Running Clippy lints..." cargo clippy --lib --tests --bins --benches --features std -- -D warnings cargo clippy --lib --tests --bins --benches --features std,"$MOST_FEATURES" -- -D warnings -(cd libraries/opensk && cargo +nightly clippy --features std -- -D warnings) -(cd libraries/opensk && cargo +nightly clippy --features std,config_command,debug_ctap,with_ctap1,vendor_hid,ed25519,rust_crypto -- -D warnings) -(cd libraries/cbor && cargo +nightly clippy -- -D warnings) +(cd libraries/opensk && cargo clippy --features std -- -D warnings) +(cd libraries/opensk && cargo clippy --features std,config_command,debug_ctap,with_ctap1,vendor_hid,ed25519,rust_crypto -- -D warnings) +(cd libraries/cbor && cargo clippy -- -D warnings) # Uncomment when persistent store is fixed: -# (cd libraries/persistent_store && cargo +nightly clippy --features std -- -D warnings) +# (cd libraries/persistent_store && cargo clippy --features std -- -D warnings) # Probably not worth fixing: -# (cd libraries/crypto && cargo +nightly clippy --features std -- -D warnings) +# (cd libraries/crypto && cargo clippy --features std -- -D warnings) echo "Checking that fuzz targets..." -(cd libraries/opensk && cargo +nightly fuzz check) -(cd libraries/cbor && cargo +nightly fuzz check) -(cd libraries/persistent_store && cargo +nightly fuzz check) +(cd libraries/opensk && cargo fuzz check) +(cd libraries/cbor && cargo fuzz check) +(cd libraries/persistent_store && cargo fuzz check) echo "Building sha256sum tool..." cargo build --manifest-path third_party/tock/tools/sha256sum/Cargo.toml @@ -78,19 +78,19 @@ cargo build --release --target=thumbv7em-none-eabi --features config_command,wit echo "Running OpenSK library unit tests..." cd libraries/opensk -cargo +nightly test --features std -cargo +nightly test --features std,config_command,with_ctap1 -cargo +nightly test --all-features +cargo test --features std +cargo test --features std,config_command,with_ctap1 +cargo test --all-features cd ../.. echo "Running other unit tests..." cargo test --lib --tests --bins --benches --features std cargo test --lib --tests --bins --benches --all-features -cargo +nightly test --manifest-path libraries/cbor/Cargo.toml -cargo +nightly test --manifest-path libraries/persistent_store/Cargo.toml --features std +cargo test --manifest-path libraries/cbor/Cargo.toml +cargo test --manifest-path libraries/persistent_store/Cargo.toml --features std # Running release mode to speed up. This library is legacy anyway. -cargo +nightly test --manifest-path libraries/crypto/Cargo.toml --features std --release -cargo +nightly test --manifest-path tools/heapviz/Cargo.toml +cargo test --manifest-path libraries/crypto/Cargo.toml --features std --release +cargo test --manifest-path tools/heapviz/Cargo.toml echo "Checking that boards build properly..." make -C third_party/tock/boards/nordic/nrf52840dk_opensk @@ -113,3 +113,5 @@ echo "Check app deployment" ./deploy.py --board=nrf52840dk_opensk --programmer=none --oom_test ./deploy.py --board=nrf52840dk_opensk --programmer=none --console_test ./deploy.py --board=nrf52840dk_opensk --programmer=none --nfct_test --nfc + +cargo audit diff --git a/rust-toolchain b/rust-toolchain deleted file mode 120000 index c2036a8f..00000000 --- a/rust-toolchain +++ /dev/null @@ -1 +0,0 @@ -third_party/libtock-rs/rust-toolchain \ No newline at end of file diff --git a/rust-toolchain b/rust-toolchain new file mode 100644 index 00000000..c09f74c8 --- /dev/null +++ b/rust-toolchain @@ -0,0 +1,8 @@ +[toolchain] +# See https://rust-lang.github.io/rustup-components-history/ for a list of +# recently nightlies and what components are available for them. +channel = "nightly-2023-11-01" +components = ["clippy", "miri", "rustfmt"] +targets = ["thumbv7em-none-eabi", + "riscv32imac-unknown-none-elf", + "riscv32imc-unknown-none-elf"] diff --git a/third_party/lang-items/Cargo.lock b/third_party/lang-items/Cargo.lock deleted file mode 100644 index ef0b8e01..00000000 --- a/third_party/lang-items/Cargo.lock +++ /dev/null @@ -1,62 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "lang_items" -version = "0.1.0" -dependencies = [ - "libtock_console", - "libtock_drivers", - "libtock_leds", - "libtock_low_level_debug", - "libtock_platform", - "libtock_runtime", - "linked_list_allocator", -] - -[[package]] -name = "libtock_console" -version = "0.1.0" -dependencies = [ - "libtock_platform", -] - -[[package]] -name = "libtock_drivers" -version = "0.1.0" -dependencies = [ - "libtock_console", - "libtock_platform", -] - -[[package]] -name = "libtock_leds" -version = "0.1.0" -dependencies = [ - "libtock_platform", -] - -[[package]] -name = "libtock_low_level_debug" -version = "0.1.0" -dependencies = [ - "libtock_platform", -] - -[[package]] -name = "libtock_platform" -version = "0.1.0" - -[[package]] -name = "libtock_runtime" -version = "0.1.0" -dependencies = [ - "libtock_platform", -] - -[[package]] -name = "linked_list_allocator" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e322f259d225fbae43a1b053b2dc6a5968a6bdf8b205f5de684dab485b95030e" diff --git a/third_party/libtock-drivers/Cargo.lock b/third_party/libtock-drivers/Cargo.lock deleted file mode 100644 index c722fca7..00000000 --- a/third_party/libtock-drivers/Cargo.lock +++ /dev/null @@ -1,22 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "libtock_console" -version = "0.1.0" -dependencies = [ - "libtock_platform", -] - -[[package]] -name = "libtock_drivers" -version = "0.1.0" -dependencies = [ - "libtock_console", - "libtock_platform", -] - -[[package]] -name = "libtock_platform" -version = "0.1.0" diff --git a/tools/heapviz/Cargo.lock b/tools/heapviz/Cargo.lock index 3a20d89e..cf94d5c5 100644 --- a/tools/heapviz/Cargo.lock +++ b/tools/heapviz/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "aho-corasick" -version = "0.7.19" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -39,9 +39,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "cc" -version = "1.0.73" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] [[package]] name = "clap" @@ -85,15 +88,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.133" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "memchr" -version = "2.5.0" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "ncurses" @@ -108,15 +111,27 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "regex" -version = "1.6.0" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", @@ -125,9 +140,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "strsim" @@ -146,9 +161,9 @@ dependencies = [ [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "vec_map" From 43a3ffddce936baca615bdcb171d6f10f791059e Mon Sep 17 00:00:00 2001 From: Fabian Kaczmarczyck Date: Thu, 9 Nov 2023 13:48:44 +0100 Subject: [PATCH 2/7] Install cargo audit differently in workflow --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 84b668e5..be882647 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,5 +30,5 @@ jobs: - run: ./setup.sh - run: rustup component add rustfmt --toolchain nightly - run: rustup component add clippy --toolchain nightly - - run: rustup component add audit --toolchain nightly + - run: cargo +stable install cargo-audit - run: ./run_desktop_tests.sh From f3b7adeaf22f8443795fadd09a7ac1460c5ebce9 Mon Sep 17 00:00:00 2001 From: Fabian Kaczmarczyck Date: Thu, 9 Nov 2023 14:02:43 +0100 Subject: [PATCH 3/7] Removes leftover nightly references --- .github/workflows/ci.yml | 4 ++-- bootloader/rust-toolchain | 1 - rust-toolchain => rust-toolchain.toml | 2 -- setup.sh | 2 -- 4 files changed, 2 insertions(+), 7 deletions(-) delete mode 120000 bootloader/rust-toolchain rename rust-toolchain => rust-toolchain.toml (59%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index be882647..30d9ceac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,7 +28,7 @@ jobs: with: python-version: "3.10" - run: ./setup.sh - - run: rustup component add rustfmt --toolchain nightly - - run: rustup component add clippy --toolchain nightly + - run: rustup component add rustfmt + - run: rustup component add clippy - run: cargo +stable install cargo-audit - run: ./run_desktop_tests.sh diff --git a/bootloader/rust-toolchain b/bootloader/rust-toolchain deleted file mode 120000 index 9327ba40..00000000 --- a/bootloader/rust-toolchain +++ /dev/null @@ -1 +0,0 @@ -../rust-toolchain \ No newline at end of file diff --git a/rust-toolchain b/rust-toolchain.toml similarity index 59% rename from rust-toolchain rename to rust-toolchain.toml index c09f74c8..300df3aa 100644 --- a/rust-toolchain +++ b/rust-toolchain.toml @@ -1,6 +1,4 @@ [toolchain] -# See https://rust-lang.github.io/rustup-components-history/ for a list of -# recently nightlies and what components are available for them. channel = "nightly-2023-11-01" components = ["clippy", "miri", "rustfmt"] targets = ["thumbv7em-none-eabi", diff --git a/setup.sh b/setup.sh index 51b5e73d..3eb10650 100755 --- a/setup.sh +++ b/setup.sh @@ -43,8 +43,6 @@ source tools/gen_key_materials.sh generate_crypto_materials N rustup show -# Nightly is used for testing and fuzzing libraries -rustup install nightly "$PIP" install --upgrade -r requirements.txt # Install dependency to create applications. From 207e86f90f617198539930ea0e6870fd49d56ef0 Mon Sep 17 00:00:00 2001 From: Fabian Kaczmarczyck Date: Thu, 9 Nov 2023 14:10:23 +0100 Subject: [PATCH 4/7] Removes install check from deploy.py The toolchain should be correctly setup after setup.sh. --- deploy.py | 41 ----------------------------------------- 1 file changed, 41 deletions(-) diff --git a/deploy.py b/deploy.py index 8fad5a2c..6dc21ca0 100755 --- a/deploy.py +++ b/deploy.py @@ -322,46 +322,6 @@ def checked_command_output(self, # Unreachable because fatal() will exit return cmd_output.decode() - def update_rustc_if_needed(self): - """Updates the Rust and installs the necessary target toolchain.""" - target_toolchain_fullstring = "stable" - with open("rust-toolchain", "r", encoding="utf-8") as f: - content = f.readlines() - if len(content) == 1: - # Old format, only the build is stored - target_toolchain_fullstring = content[0].strip() - else: - # New format - for line in content: - if line.startswith("channel"): - channel = line.strip().split("=", maxsplit=1)[1].strip() - target_toolchain_fullstring = channel.strip('"') - target_toolchain = target_toolchain_fullstring.split("-", maxsplit=1) - if len(target_toolchain) == 1: - # If we target the stable version of rust, we won't have a date - # associated to the version and split will only return 1 item. - # To avoid failing later when accessing the date, we insert an - # empty value. - target_toolchain.append("") - current_version = self.checked_command_output(["rustc", "--version"]) - if not (target_toolchain[0] in current_version and - target_toolchain[1] in current_version): - info(f"Updating rust toolchain to {'-'.join(target_toolchain)}") - # Need to update - rustup_install = ["rustup"] - if self.args.verbose_build: - rustup_install.append("--verbose") - rustup_install.extend(["install", target_toolchain_fullstring]) - self.checked_command(rustup_install) - - rustup_target = ["rustup"] - if self.args.verbose_build: - rustup_target.append("--verbose") - rustup_target.extend( - ["target", "add", SUPPORTED_BOARDS[self.args.board].arch]) - self.checked_command(rustup_target) - info("Rust toolchain up-to-date") - def build_tockos(self): """Buids Tock OS with the parameters specified in args.""" info(f"Building Tock OS for board {self.args.board}") @@ -774,7 +734,6 @@ def configure_device(self): def run(self) -> int: """Reads args to decide and run all required tasks.""" self.check_prerequisites() - self.update_rustc_if_needed() if not (self.args.tockos or self.args.application or self.args.clear_storage or self.args.configure): From 391f9920b4c23660b9a549e7e554694fafe623e3 Mon Sep 17 00:00:00 2001 From: Fabian Kaczmarczyck Date: Thu, 9 Nov 2023 14:11:50 +0100 Subject: [PATCH 5/7] Removes rust component install from workflow Now that the nightly version is fixed, this should work ootb. --- .github/workflows/ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 30d9ceac..2347cea5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,7 +28,5 @@ jobs: with: python-version: "3.10" - run: ./setup.sh - - run: rustup component add rustfmt - - run: rustup component add clippy - run: cargo +stable install cargo-audit - run: ./run_desktop_tests.sh From 93137d4ef041636e1e3d698672add23f973401fb Mon Sep 17 00:00:00 2001 From: Fabian Kaczmarczyck Date: Thu, 9 Nov 2023 14:19:24 +0100 Subject: [PATCH 6/7] Moves cargo audit install to setup.sh --- .github/workflows/ci.yml | 1 - setup.sh | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2347cea5..a7df44fc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,5 +28,4 @@ jobs: with: python-version: "3.10" - run: ./setup.sh - - run: cargo +stable install cargo-audit - run: ./run_desktop_tests.sh diff --git a/setup.sh b/setup.sh index 3eb10650..2136a584 100755 --- a/setup.sh +++ b/setup.sh @@ -48,4 +48,5 @@ rustup show # Install dependency to create applications. mkdir -p elf2tab rustup install stable +cargo +stable install cargo-audit cargo +stable install elf2tab --version 0.10.2 --root elf2tab/ From 2d0aba579af949283bc4aeefd1d77c6428357fbf Mon Sep 17 00:00:00 2001 From: Fabian Kaczmarczyck Date: Thu, 9 Nov 2023 14:31:03 +0100 Subject: [PATCH 7/7] Updates cargo bloat workflow to default features --- .github/workflows/cargo_bloat.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cargo_bloat.yml b/.github/workflows/cargo_bloat.yml index 37229da5..44ea0c0d 100644 --- a/.github/workflows/cargo_bloat.yml +++ b/.github/workflows/cargo_bloat.yml @@ -21,7 +21,7 @@ jobs: - name: Set up OpenSK run: ./setup.sh - name: Run bloat on the PR - run: RUSTFLAGS="-C link-arg=-icf=all -C force-frame-pointers=no -C link-arg=-Tnrf52840_layout.ld" cargo bloat --release --target=thumbv7em-none-eabi --features=with_ctap1,vendor_hid --crates >> .github/workflows/bloat_output_new.txt + run: RUSTFLAGS="-C link-arg=-icf=all -C force-frame-pointers=no -C link-arg=-Tnrf52840_layout.ld" cargo bloat --release --target=thumbv7em-none-eabi --features=config_command,with_ctap1 --crates >> .github/workflows/bloat_output_new.txt # Second run: PR - uses: actions/checkout@v2 @@ -34,7 +34,7 @@ jobs: run: ./setup.sh - name: Run bloat on base working-directory: ./OpenSK_base - run: RUSTFLAGS="-C link-arg=-icf=all -C force-frame-pointers=no -C link-arg=-Tnrf52840_layout.ld" cargo bloat --release --target=thumbv7em-none-eabi --features=with_ctap1,vendor_hid --crates >> "$GITHUB_WORKSPACE/.github/workflows/bloat_output_old.txt" + run: RUSTFLAGS="-C link-arg=-icf=all -C force-frame-pointers=no -C link-arg=-Tnrf52840_layout.ld" cargo bloat --release --target=thumbv7em-none-eabi --features=config_command,with_ctap1 --crates >> "$GITHUB_WORKSPACE/.github/workflows/bloat_output_old.txt" - name: Run output formatter to echo workflow command run: ./.github/workflows/bloat_formatter.sh bloat_output_new.txt bloat_output_old.txt bloat_comment.md