Skip to content

Commit

Permalink
Fix windows release builds (#26986)
Browse files Browse the repository at this point in the history
* Don't try to build protobuf-src on windows

* Set protoc envar

(cherry picked from commit 46b3ece)
  • Loading branch information
Tyera Eulberg authored and mergify[bot] committed Aug 8, 2022
1 parent ce594bc commit d56213f
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 2 deletions.
1 change: 1 addition & 0 deletions .github/workflows/release-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ jobs:
choco install openssl
export OPENSSL_DIR="C:\Program Files\OpenSSL-Win64"
choco install protoc
export PROTOC="C:\ProgramData\chocolatey\lib\protoc\tools\bin\protoc.exe"
source /tmp/env.sh
echo "::set-output name=tag::$CI_TAG"
eval "$(ci/channel-info.sh)"
Expand Down
6 changes: 5 additions & 1 deletion storage-bigtable/build-proto/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,9 @@ version = "1.11.6"
[workspace]

[dependencies]
protobuf-src = "1.0.5"
tonic-build = "0.8.0"

# windows users should install the protobuf compiler manually and set the PROTOC
# envar to point to the installed binary
[target."cfg(not(windows))".dependencies]
protobuf-src = "1.0.5"
1 change: 1 addition & 0 deletions storage-bigtable/build-proto/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
fn main() -> Result<(), std::io::Error> {
const PROTOC_ENVAR: &str = "PROTOC";
if std::env::var(PROTOC_ENVAR).is_err() {
#[cfg(not(windows))]
std::env::set_var(PROTOC_ENVAR, protobuf_src::protoc());
}

Expand Down
6 changes: 5 additions & 1 deletion storage-proto/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,9 @@ name = "solana_storage_proto"
targets = ["x86_64-unknown-linux-gnu"]

[build-dependencies]
protobuf-src = "1.0.5"
tonic-build = "0.8.0"

# windows users should install the protobuf compiler manually and set the PROTOC
# envar to point to the installed binary
[target."cfg(not(windows))".build-dependencies]
protobuf-src = "1.0.5"
1 change: 1 addition & 0 deletions storage-proto/build.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
fn main() -> Result<(), std::io::Error> {
const PROTOC_ENVAR: &str = "PROTOC";
if std::env::var(PROTOC_ENVAR).is_err() {
#[cfg(not(windows))]
std::env::set_var(PROTOC_ENVAR, protobuf_src::protoc());
}

Expand Down

0 comments on commit d56213f

Please sign in to comment.