Skip to content

Commit d3064e6

Browse files
authored
Merge pull request #1630 from input-output-hk/djo/1614/blst_portable_as_default
Use BLST portable feature to enable runtime ADX instruction set check
2 parents f4cafd6 + 7ad18ee commit d3064e6

File tree

12 files changed

+33
-38
lines changed

12 files changed

+33
-38
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ jobs:
3232
# We separate the build in 2 steps as we want to avoid side effects with Rust feature unification.
3333
- name: Cargo build - Tooling
3434
shell: bash
35-
run: |
36-
cargo build --features portable --release -p mithril-end-to-end
35+
run: cargo build --release -p mithril-end-to-end
3736

3837
- name: Build Mithril workspace & publish artifacts
3938
uses: ./.github/workflows/actions/build-upload-mithril-artifact
@@ -166,7 +165,7 @@ jobs:
166165

167166
include:
168167
- os: ubuntu-22.04
169-
test-args: --features portable,full,unstable --workspace
168+
test-args: --features full,unstable --workspace
170169
# Only test client on windows & mac (since its the only binaries supported for those os for now)
171170
- os: macos-12
172171
test-args: --package mithril-client --package mithril-client-cli --features full,unstable

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ As a minor extension, we have adopted a slightly different versioning convention
1717

1818
- Chain observers support the retrieval of the current Cardano chain point.
1919

20+
- Deprecate `portable` feature of `mithril-stm` and `mithril-client`:
21+
- Instead, always enable BLST `portable` feature in `mithril-stm` for runtime check of intel ADX instruction set.
22+
- `portable` feature now has no effect and should be removed from crate dependencies.
23+
- Removed it from all other crates (including `mithril-common`).
24+
2025
- Crates versions:
2126

2227
| Crate | Version |

Cargo.lock

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

demo/protocol-demo/Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithrildemo"
3-
version = "0.1.33"
3+
version = "0.1.34"
44
authors = { workspace = true }
55
edition = { workspace = true }
66
documentation = { workspace = true }
@@ -30,6 +30,3 @@ mithril-stm = { path = "../../mithril-stm" }
3030
mithril-stm = { path = "../../mithril-stm", default-features = false, features = [
3131
"num-integer-backend",
3232
] }
33-
34-
[features]
35-
portable = ["mithril-common/portable", "mithril-stm/portable"]

mithril-aggregator/Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithril-aggregator"
3-
version = "0.4.56"
3+
version = "0.4.57"
44
description = "A Mithril Aggregator server"
55
authors = { workspace = true }
66
edition = { workspace = true }
@@ -57,7 +57,4 @@ slog-term = "2.9.0"
5757
tempfile = "3.9.0"
5858

5959
[features]
60-
portable = [
61-
"mithril-common/portable",
62-
] # portable feature avoids SIGILL crashes on CPUs not supporting Intel ADX instruction set when built on CPUs that support it
6360
bundle_openssl = ["dep:openssl", "dep:openssl-probe"]

mithril-client-cli/Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithril-client-cli"
3-
version = "0.7.8"
3+
version = "0.7.9"
44
description = "A Mithril Client"
55
authors = { workspace = true }
66
edition = { workspace = true }
@@ -53,5 +53,4 @@ tokio = { version = "1.35.1", features = ["full"] }
5353
mithril-common = { path = "../mithril-common", features = ["test_tools"] }
5454

5555
[features]
56-
portable = ["mithril-client/portable"]
5756
bundle_openssl = ["dep:openssl", "dep:openssl-probe"]

mithril-client/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithril-client"
3-
version = "0.7.1"
3+
version = "0.7.2"
44
description = "Mithril client library"
55
authors = { workspace = true }
66
edition = { workspace = true }
@@ -76,7 +76,7 @@ full = ["fs"]
7676

7777
# Enable file system releated functionnality, right now that mean ony snapshot download
7878
fs = ["flate2", "flume", "tar", "tokio/rt", "zstd"]
79-
portable = ["mithril-common/portable"]
79+
portable = [] # deprecated, will be removed soon
8080
unstable = []
8181

8282
[package.metadata.docs.rs]

mithril-common/Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithril-common"
3-
version = "0.3.29"
3+
version = "0.3.30"
44
description = "Common types, interfaces, and utilities for Mithril nodes."
55
authors = { workspace = true }
66
edition = { workspace = true }
@@ -117,9 +117,6 @@ fs = [
117117
"dep:pallas-traverse",
118118
]
119119

120-
# Portable feature avoids SIGILL crashes on CPUs not supporting Intel ADX instruction set when built on CPUs that support it
121-
portable = ["mithril-stm/portable"]
122-
123120
# Disable signer certification, to be used only for tests
124121
allow_skip_signer_certification = []
125122
# Enable all tests tools

mithril-signer/Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithril-signer"
3-
version = "0.2.122"
3+
version = "0.2.123"
44
description = "A Mithril Signer"
55
authors = { workspace = true }
66
edition = { workspace = true }
@@ -46,7 +46,4 @@ prometheus-parse = "0.2.5"
4646
slog-term = "2.9.0"
4747

4848
[features]
49-
portable = [
50-
"mithril-common/portable",
51-
] # portable feature avoids SIGILL crashes on CPUs not supporting Intel ADX instruction set when built on CPUs that support it
5249
bundle_openssl = ["dep:openssl", "dep:openssl-probe"]

mithril-stm/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## 0.3.18 (11-04-2024)
9+
10+
- Deprecate `portable` feature:
11+
- Instead, always enable BLST `portable` feature for runtime check of intel ADX instruction set.
12+
- `portable` feature now has no effect and should be removed from crate dependencies.
13+
814
## 0.3.7 (10-10-2023)
915

1016
### Added

0 commit comments

Comments
 (0)