From d66882fd1157dd1d02929c08c3b205e9023768b2 Mon Sep 17 00:00:00 2001 From: Philipp Schuster Date: Thu, 21 Sep 2023 11:39:56 +0200 Subject: [PATCH 1/7] itnegration-test: fix typo --- integration-test/bins/multiboot2_chainloader/src/start.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration-test/bins/multiboot2_chainloader/src/start.S b/integration-test/bins/multiboot2_chainloader/src/start.S index f296887f..4ce965cc 100644 --- a/integration-test/bins/multiboot2_chainloader/src/start.S +++ b/integration-test/bins/multiboot2_chainloader/src/start.S @@ -36,7 +36,7 @@ start: # Enable SSE. # Strictly speaking, this is not necessary, but I activated SSE in the - # compiler spec json file. Rustc/LLVM produces SSE coe for example from the + # compiler spec json file. Rustc/LLVM produces SSE code for example from the # core::fmt code. mov %cr0, %eax and $0xFFFB, %ax # clear coprocessor emulation CR0.EM From e9c0095530b4ace8f75d383d6631be4fa305953a Mon Sep 17 00:00:00 2001 From: Philipp Schuster Date: Thu, 21 Sep 2023 12:40:34 +0200 Subject: [PATCH 2/7] cargo: update deps --- Cargo.lock | 20 +++++----- integration-test/bins/Cargo.lock | 55 ++++++++++++++------------- integration-test/bins/util/Cargo.toml | 3 +- 3 files changed, 39 insertions(+), 39 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 63146255..43ab84a7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "bitflags" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" [[package]] name = "derive_more" @@ -21,9 +21,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.19" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "multiboot2" @@ -59,9 +59,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.64" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -88,9 +88,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.29" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -125,6 +125,6 @@ checksum = "16dfbd255defbd727b3a30e8950695d2e6d045841ee250ff0f1f7ced17917f8d" [[package]] name = "unicode-ident" -version = "1.0.10" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" diff --git a/integration-test/bins/Cargo.lock b/integration-test/bins/Cargo.lock index 825b9e99..8bc30cb4 100644 --- a/integration-test/bins/Cargo.lock +++ b/integration-test/bins/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "autocfg" @@ -28,9 +28,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.3.2" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbe3c979c178231552ecba20214a8272df4e09f232a87aef4320cf06539aded" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" [[package]] name = "derive_more" @@ -45,9 +45,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "elf_rs" @@ -81,9 +81,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.19" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "multiboot" @@ -100,7 +100,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b624a7b3f704734d98d21455b617607eb7043d4509d1c34bf9e7ff7dd47b31a" dependencies = [ - "bitflags 2.3.2", + "bitflags 2.4.0", "derive_more", "log", "ptr_meta", @@ -111,7 +111,7 @@ dependencies = [ name = "multiboot2" version = "0.18.1" dependencies = [ - "bitflags 2.3.2", + "bitflags 2.4.0", "derive_more", "log", "ptr_meta", @@ -154,24 +154,24 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] [[package]] name = "paste" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "proc-macro2" -version = "1.0.60" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -198,14 +198,15 @@ dependencies = [ [[package]] name = "qemu-exit" -version = "3.0.1" -source = "git+https://github.com/rust-embedded/qemu-exit.git?rev=3cee0efb5c1842b5261850c57b3b4d608542ff03#3cee0efb5c1842b5261850c57b3b4d608542ff03" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bb0fd6580eeed0103c054e3fba2c2618ff476943762f28a645b63b8692b21c9" [[package]] name = "quote" -version = "1.0.28" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -221,9 +222,9 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "spin" @@ -251,22 +252,22 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62642516099c6441a5f41b0da8486d5fc3515a0603b0fdaea67b31600e22082e" dependencies = [ - "bitflags 2.3.2", + "bitflags 2.4.0", "ptr_meta", "uguid", ] [[package]] name = "uguid" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "594cc87e268a7b43d625d46c63cf1605d0e61bf66e4b1cd58c058ec0191e1f81" +checksum = "16dfbd255defbd727b3a30e8950695d2e6d045841ee250ff0f1f7ced17917f8d" [[package]] name = "unicode-ident" -version = "1.0.9" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "util" diff --git a/integration-test/bins/util/Cargo.toml b/integration-test/bins/util/Cargo.toml index fdb54d4b..bce195cb 100644 --- a/integration-test/bins/util/Cargo.toml +++ b/integration-test/bins/util/Cargo.toml @@ -8,5 +8,4 @@ publish = false [dependencies] good_memory_allocator = "0.1" log = { version = "0.4", default-features = false } -# Wait for release > 3.0.1 -qemu-exit = { git = "https://github.com/rust-embedded/qemu-exit.git", rev = "3cee0efb5c1842b5261850c57b3b4d608542ff03" } +qemu-exit = "3.0.2" From 2c2d17a7b10a6a6d30ca59e14bd654dd9d9fdb44 Mon Sep 17 00:00:00 2001 From: Philipp Schuster Date: Thu, 21 Sep 2023 12:40:39 +0200 Subject: [PATCH 3/7] ci: update deps --- .github/workflows/_build-rust.yml | 2 +- .github/workflows/integrationtest.yml | 4 ++-- .github/workflows/qa.yml | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/_build-rust.yml b/.github/workflows/_build-rust.yml index 7152072b..22751861 100644 --- a/.github/workflows/_build-rust.yml +++ b/.github/workflows/_build-rust.yml @@ -61,7 +61,7 @@ jobs: runs-on: ${{ inputs.runs-on }} steps: - name: Check out - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install Rust toolchain uses: actions-rs/toolchain@v1 with: diff --git a/.github/workflows/integrationtest.yml b/.github/workflows/integrationtest.yml index be6da7db..38ecd06f 100644 --- a/.github/workflows/integrationtest.yml +++ b/.github/workflows/integrationtest.yml @@ -21,8 +21,8 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out - uses: actions/checkout@v3 - - uses: cachix/install-nix-action@v20 + uses: actions/checkout@v4 + - uses: cachix/install-nix-action@v22 with: # This channel is only required to invoke "nix-shell". # Everything inside that nix-shell will use a pinned version of diff --git a/.github/workflows/qa.yml b/.github/workflows/qa.yml index b3e1d74b..8a230bda 100644 --- a/.github/workflows/qa.yml +++ b/.github/workflows/qa.yml @@ -5,8 +5,8 @@ on: [ push, pull_request ] jobs: spellcheck: name: Spellcheck - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 # Executes "typos ." - - uses: crate-ci/typos@v1.15.2 + - uses: crate-ci/typos@v1.16.2 From e3b9ba7bb73afd25cb04df0a5addd0b74bc843ac Mon Sep 17 00:00:00 2001 From: Philipp Schuster Date: Thu, 21 Sep 2023 12:42:55 +0200 Subject: [PATCH 4/7] ci: add dependabot.yml --- .editorconfig | 2 +- .github/dependabot.yml | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 .github/dependabot.yml diff --git a/.editorconfig b/.editorconfig index f5f22af5..a5bf0354 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,5 +11,5 @@ indent_size = 4 trim_trailing_whitespace = true max_line_length = 80 -[{*.nix, *.yml}] +[{*.nix,*.yml}] indent_size = 2 diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..cf002a05 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,23 @@ +version: 2 +updates: + - package-ecosystem: cargo + directory: "/" + schedule: + interval: daily + open-pull-requests-limit: 10 + ignore: + - dependency-name: "*" + update-types: [ "version-update:semver-patch" ] + - package-ecosystem: cargo + directory: "/integration-test/bins" + schedule: + interval: daily + open-pull-requests-limit: 10 + ignore: + - dependency-name: "*" + update-types: [ "version-update:semver-patch" ] + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: daily + open-pull-requests-limit: 10 From 7e521717c0b2473f4226b76a51d5576b823c5fc1 Mon Sep 17 00:00:00 2001 From: Philipp Schuster Date: Thu, 21 Sep 2023 12:45:01 +0200 Subject: [PATCH 5/7] ci: enable GitHub merge train --- .github/workflows/integrationtest.yml | 4 ++-- .github/workflows/qa.yml | 2 +- .github/workflows/rust.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/integrationtest.yml b/.github/workflows/integrationtest.yml index 38ecd06f..6a73d7bc 100644 --- a/.github/workflows/integrationtest.yml +++ b/.github/workflows/integrationtest.yml @@ -6,10 +6,10 @@ # Instead, it is the right thing that the CI always covers the whole repository # and that it is as stable as possible. -name: "Cargo workspace" +name: "Integration Test" # Run on every push (tag, branch) and pull_request -on: [pull_request, push, workflow_dispatch] +on: [pull_request, push, merge_group] env: CARGO_TERM_COLOR: always diff --git a/.github/workflows/qa.yml b/.github/workflows/qa.yml index 8a230bda..c1d83f36 100644 --- a/.github/workflows/qa.yml +++ b/.github/workflows/qa.yml @@ -1,6 +1,6 @@ name: QA -on: [ push, pull_request ] +on: [pull_request, push, merge_group] jobs: spellcheck: diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 9b0b862c..141c4ae8 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -9,7 +9,7 @@ name: "Cargo workspace" # Run on every push (tag, branch) and pull_request -on: [pull_request, push, workflow_dispatch] +on: [pull_request, push, workflow_dispatch, merge_group] env: CARGO_TERM_COLOR: always From 37b0956f4c46cbeea642ba2c6ea943d0526d040d Mon Sep 17 00:00:00 2001 From: Philipp Schuster Date: Thu, 21 Sep 2023 14:20:44 +0200 Subject: [PATCH 6/7] ci: fix cargo doc Fix the "The targets should have unique names." bug when building the doc for the whole workspace. The problem is that the header crate might use an outdated version of multiboot2. There is no need to build the deps here anyway, so it's an easy fix. --- .github/workflows/_build-rust.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_build-rust.yml b/.github/workflows/_build-rust.yml index 22751861..ff06f962 100644 --- a/.github/workflows/_build-rust.yml +++ b/.github/workflows/_build-rust.yml @@ -94,7 +94,7 @@ jobs: - name: Code Style and Doc Style if: inputs.do-style-check run: | - cargo doc --document-private-items --features ${{ inputs.features }} --no-default-features + cargo doc --no-deps --document-private-items --features ${{ inputs.features }} --no-default-features cargo clippy --all-targets --features ${{ inputs.features }} --no-default-features - name: Unit Test (UNIX) if: inputs.do-test && runner.os != 'Windows' From 2f7e395284002553559fffb0c66e096b72f28fd5 Mon Sep 17 00:00:00 2001 From: Philipp Schuster Date: Thu, 21 Sep 2023 14:29:24 +0200 Subject: [PATCH 7/7] ci: replace unmaintained actions-rs/toolchain@v1 --- .github/workflows/_build-rust.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/_build-rust.yml b/.github/workflows/_build-rust.yml index ff06f962..a00fc730 100644 --- a/.github/workflows/_build-rust.yml +++ b/.github/workflows/_build-rust.yml @@ -62,14 +62,12 @@ jobs: steps: - name: Check out uses: actions/checkout@v4 - - name: Install Rust toolchain - uses: actions-rs/toolchain@v1 + - name: Setup Rust toolchain + uses: dtolnay/rust-toolchain@stable with: - profile: minimal toolchain: ${{ inputs.rust-version }} - override: true + targets: ${{ inputs.rust-target }} components: clippy, rustfmt - target: ${{ inputs.rust-target }} - name: Set up cargo cache uses: actions/cache@v3 continue-on-error: false