Skip to content

Commit 776c6f0

Browse files
author
BiancaIalangi
committed
removed hardcoded values version_rust, version_sc_meta | update
previous_buils | replace cargo run command with sc-meta
1 parent 63ab101 commit 776c6f0

6 files changed

Lines changed: 21 additions & 33 deletions

File tree

Dockerfile

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ FROM ubuntu:22.04
22

33
# Constants
44
ARG BUILDER_NAME="multiversx/sdk-rust-contract-builder:v8.0.1"
5-
ARG VERSION_RUST="stable"
6-
ARG VERSION_SC_META="0.57.0"
75
ARG TARGETPLATFORM
86

97
# Install system dependencies
@@ -32,12 +30,11 @@ RUN PATH="/rust/bin:${PATH}" CARGO_HOME=/rust RUSTUP_HOME=/rust cargo install mu
3230

3331
COPY "multiversx_sdk_rust_contract_builder" "/multiversx_sdk_rust_contract_builder"
3432

33+
ENV PATH="/rust/bin:${PATH}"
3534
ENV CARGO_HOME="/rust"
3635
ENV RUSTUP_HOME="/rust"
3736
ENV PYTHONPATH=/
3837
ENV BUILD_METADATA_BUILDER_NAME=${BUILDER_NAME}
39-
ENV BUILD_METADATA_VERSION_RUST=${VERSION_RUST}
40-
ENV BUILD_METADATA_VERSION_SC_META=${VERSION_SC_META}
4138
ENV BUILD_METADATA_TARGETPLATFORM=${TARGETPLATFORM}
4239

4340
# Additional arguments (must be provided at "docker run"):
@@ -49,5 +46,3 @@ ENTRYPOINT ["python", "/multiversx_sdk_rust_contract_builder/main.py", \
4946
"--cargo-target-dir", "/rust/cargo-target-dir"]
5047

5148
LABEL frozen="yes"
52-
LABEL rust=${VERSION_RUST}
53-
LABEL sc_meta=${VERSION_SC_META}

integration_tests/previous_builds.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,13 @@ def __init__(self, name: str,
5454
),
5555
PreviousBuild(
5656
name="a.3",
57-
project_archive_url="https://github.com/multiversx/mx-sovereign-sc/archive/80599388b9358842b50ea216a622d514e15df374.zip",
58-
project_relative_path_in_archive="mx-sovereign-sc-80599388b9358842b50ea216a622d514e15df374",
57+
project_archive_url="https://github.com/multiversx/mx-sovereign-sc/archive/e9a4f1fc8d963d48cbce0fb0cf673621cc0832ac.zip",
58+
project_relative_path_in_archive="mx-sovereign-sc-e9a4f1fc8d963d48cbce0fb0cf673621cc0832ac",
5959
packaged_src_url=None,
6060
contract_name=None,
6161
expected_code_hashes={
62-
"esdt-safe": "08d0ba0f0931b9aa71946a543efc29da6e66d5247e911ce6595bea6a13a62cb4",
63-
"fee-market": "e6efffc7723e1b38c9cdc41f3c2827acbcaed86c73795d09635d78b685c45576"
62+
"sov-esdt-safe": "34f6479356b2621328bbfac0f0e0833a55a8bd1948b5a0e2500fd66291f0ad88",
63+
"fee-market": "0b81078e61efd692ebb3f83b437da9cf83ffff7843aeb0a66a71b5ddff3b2fb2"
6464
},
6565
docker_image="sdk-rust-contract-builder:next"
6666
),

integration_tests/test_basic.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
import os
22
import shutil
3+
import re
34

45
from integration_tests.config import PARENT_OUTPUT_FOLDER
56
from integration_tests.shared import download_project_repository, run_docker
67
from multiversx_sdk_rust_contract_builder.packaged_source_code import \
78
PackagedSourceCode
89

9-
DEFAULT_PROJECT_ARCHIVE_URL = "https://github.com/multiversx/mx-sovereign-sc/archive/87f1e57978190cb7fff805fea6ed194aa8411567.zip"
10-
DEFAULT_PROJECT_ARCHIVE_PAYLOAD = "mx-sovereign-sc-87f1e57978190cb7fff805fea6ed194aa8411567"
11-
DEFAULT_CONTRACT_NAME = "esdt-safe"
10+
DEFAULT_PROJECT_ARCHIVE_URL = "https://github.com/multiversx/mx-sovereign-sc/archive/e9a4f1fc8d963d48cbce0fb0cf673621cc0832ac.zip"
11+
DEFAULT_PROJECT_ARCHIVE_PAYLOAD = "mx-sovereign-sc-e9a4f1fc8d963d48cbce0fb0cf673621cc0832ac"
12+
DEFAULT_CONTRACT_NAME = "sov-esdt-safe"
1213

1314

1415
def test_with_symlinks():
@@ -62,7 +63,9 @@ def test_has_correct_packaged_source():
6263

6364
for entry in packaged_source_code.entries:
6465
assert not str(entry.path).startswith("target"), f"Unexpected file: {entry.path}"
65-
assert entry.is_test_file == ("test" in str(entry.path)), f"Unexpected is_test_file marker for: {entry.path}"
66+
67+
is_test_file = ("tests" in str(entry.path)) or ("test_" in str(entry.path)) or ("_test" in str(entry.path))
68+
assert entry.is_test_file == is_test_file, f"Unexpected is_test_file marker for: {entry.path}"
6669

6770

6871
def test_fail_if_contract_cargo_lock_is_missing():
@@ -74,7 +77,7 @@ def test_fail_if_contract_cargo_lock_is_missing():
7477
output_folder.mkdir(parents=True, exist_ok=True)
7578

7679
# Remove a (required) Cargo.lock file
77-
(workspace / DEFAULT_CONTRACT_NAME / "wasm" / "Cargo.lock").unlink()
80+
(workspace / DEFAULT_CONTRACT_NAME / f"wasm-{DEFAULT_CONTRACT_NAME}" / "Cargo.lock").unlink()
7881

7982
(code, _, stderr) = run_docker(
8083
project_path=workspace,

integration_tests/test_project_folder_and_packaged_src_are_equivalent.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@
99

1010
def main(cli_args: List[str]):
1111
repository_url = "https://github.com/multiversx/mx-sovereign-sc"
12-
commit = "80599388b9358842b50ea216a622d514e15df374"
13-
archve_subfolder = f"mx-sovereign-sc-{commit}"
14-
project_path = download_project_repository(f"{repository_url}/archive/{commit}.zip", archve_subfolder)
15-
project_path = project_path / archve_subfolder
12+
commit = "e9a4f1fc8d963d48cbce0fb0cf673621cc0832ac"
13+
archive_subfolder = f"mx-sovereign-sc-{commit}"
14+
project_path = download_project_repository(f"{repository_url}/archive/{commit}.zip", archive_subfolder)
15+
project_path = project_path / archive_subfolder
1616

1717
check_project_folder_and_packaged_src_are_equivalent(
1818
project_path=project_path,
1919
parent_output_folder=PARENT_OUTPUT_FOLDER,
20-
contracts=["esdt-safe", "fee-market"],
20+
contracts=["sov-esdt-safe", "fee-market"],
2121
)
2222

2323

multiversx_sdk_rust_contract_builder/build_metadata.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,20 @@ class BuildMetadata:
66
def __init__(
77
self,
88
builder_name: str,
9-
version_rust: str,
10-
version_sc_meta: str,
119
target_platform: str,
1210
):
1311
self.builder_name = builder_name
14-
self.version_rust = version_rust
15-
self.version_sc_meta = version_sc_meta
1612
self.target_platform = target_platform
1713

1814
@classmethod
1915
def from_env(cls) -> 'BuildMetadata':
2016
return BuildMetadata(
2117
builder_name=os.environ["BUILD_METADATA_BUILDER_NAME"],
22-
version_rust=os.environ["BUILD_METADATA_VERSION_RUST"],
23-
version_sc_meta=os.environ["BUILD_METADATA_VERSION_SC_META"],
2418
target_platform=os.environ["BUILD_METADATA_TARGETPLATFORM"],
2519
)
2620

2721
def to_dict(self) -> Dict[str, str]:
2822
return {
2923
"builderName": self.builder_name,
30-
"versionRust": self.version_rust,
31-
"versionScTool": self.version_sc_meta,
3224
"targetPlatform": self.target_platform,
3325
}

multiversx_sdk_rust_contract_builder/builder.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def build_project(
2727
project_folder: Path,
2828
parent_output_folder: Path,
2929
metadata: BuildMetadata,
30-
options: BuildOptions
30+
options: BuildOptions
3131
) -> BuildOutcome:
3232
project_folder = project_folder.expanduser().resolve()
3333
parent_output_folder = parent_output_folder.expanduser().resolve()
@@ -135,12 +135,10 @@ def clean_contract(folder: Path, clean_output: bool = True):
135135
if clean_output:
136136
shutil.rmtree(folder / "output", ignore_errors=True)
137137

138-
139138
def build_contract(build_folder: Path, output_folder: Path, cargo_target_dir: Path, no_wasm_opt: bool):
140139
cargo_output_folder = build_folder / "output"
141-
meta_folder = build_folder / "meta"
142140

143-
args = ["cargo", "run", "build"]
141+
args = ["sc-meta", "all", "build"]
144142
args.extend(["--target-dir", str(cargo_target_dir)])
145143
args.extend(["--no-wasm-opt"] if no_wasm_opt else [])
146144

@@ -156,7 +154,7 @@ def build_contract(build_folder: Path, output_folder: Path, cargo_target_dir: Pa
156154
custom_env["CARGO_NET_GIT_FETCH_WITH_CLI"] = "true"
157155

158156
logging.info(f"Building: {args}")
159-
return_code = subprocess.run(args, cwd=meta_folder, env=custom_env).returncode
157+
return_code = subprocess.run(args, cwd=build_folder, env=custom_env).returncode
160158
if return_code != 0:
161159
raise ErrKnown(f"Failed to build contract {build_folder}. Return code: {return_code}.")
162160

0 commit comments

Comments
 (0)