Skip to content

Commit 10f3a29

Browse files
committed
workspace: unify
Have one big Cargo workspace rather than two. This simplifies things.
1 parent 3f3af2b commit 10f3a29

File tree

18 files changed

+221
-405
lines changed

18 files changed

+221
-405
lines changed

.github/dependabot.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,6 @@ updates:
88
ignore:
99
- dependency-name: "*"
1010
update-types: [ "version-update:semver-patch" ]
11-
- package-ecosystem: cargo
12-
directory: "/integration-test/bins"
13-
schedule:
14-
interval: monthly
15-
open-pull-requests-limit: 10
16-
ignore:
17-
- dependency-name: "*"
18-
update-types: [ "version-update:semver-patch" ]
1911
- package-ecosystem: github-actions
2012
directory: "/"
2113
schedule:

Cargo.lock

Lines changed: 124 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,53 @@
11
[workspace]
22
resolver = "2"
33
members = [
4+
"integration-test/bins/multiboot2_chainloader",
5+
"integration-test/bins/multiboot2_payload",
6+
"integration-test/bins/util",
47
"multiboot2",
58
"multiboot2-common",
69
"multiboot2-header",
710
]
8-
exclude = [
9-
"integration-test"
11+
# Default members are all members without special Rust runtime attributes, such
12+
# as panic_handler and global_allocator. This way, `cargo test` et al. will work
13+
# smoothley while the workspace still contains the integration tests.
14+
default-members = [
15+
"multiboot2",
16+
"multiboot2-common",
17+
"multiboot2-header",
1018
]
1119
package.rust-version = "1.85.0"
1220
package.edition = "2024"
1321
package.license = "MIT/Apache-2.0"
1422

1523
[workspace.dependencies]
16-
bitflags = "2.9.1"
24+
# Dependencies of multiboot2 et al.
25+
bitflags = { version = "2.9", default-features = false }
1726
log = { version = "~0.4", default-features = false }
18-
ptr_meta = { version = "~0.3", default-features = false, features = ["derive"] }
19-
thiserror = { version = "2.0.12", default-features = false }
27+
ptr_meta = { version = "~0.3", default-features = false }
28+
thiserror = { version = "2.0", default-features = false }
29+
uefi-raw = { version = "~0.11", default-features = false }
2030

21-
# Intra-workspace dependencies of upstream crates: always point to the latest
22-
# stable version
31+
# Dependencies for integration tests
32+
anyhow = { version = "1.0", default-features = false }
33+
multiboot = { version = "0.8", default-features = false }
34+
elf_rs = { version = "0.3", default-features = false }
35+
good_memory_allocator = { version = "0.1", default-features = false }
36+
integration-test-util = { path = "./integration-test/bins/util" }
37+
qemu-exit = { version = "3.0", default-features = false }
38+
39+
# Intra-workspace dependencies of upstream crates
2340
multiboot2 = { version = "0.24.0", default-features = false }
2441
multiboot2-common = { version = "0.3.0", default-features = false }
42+
multiboot2-header = { version = "0.7.0", default-features = false }
43+
44+
[profile.release-integration-test]
45+
inherits = "release"
46+
panic = "abort"
47+
opt-level = "s"
2548

26-
# This way, the corresponding crate dependency can be normalley referenced by
27-
# version, while still the repository version is used transparently during local
28-
# development.
49+
# Force the local versions of the multiboot2 crates, i.e., override any
50+
# dependency to a crates.io version.
2951
[patch.crates-io]
3052
multiboot2 = { path = "multiboot2" }
3153
multiboot2-common = { path = "multiboot2-common" }

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,12 @@ Licensed under either of
1616

1717
at your option.
1818

19-
### Contribution
19+
## Contribution
2020

2121
Unless you explicitly state otherwise, any contribution intentionally submitted
2222
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
2323
dual licensed as above, without any additional terms or conditions.
24+
25+
## Run Integration Tests
26+
27+
- `$ nix develop --command bash -c "run-integrationtest"`

integration-test/bins/.cargo/config.toml

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)