Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DO-2216 / Propose an automated release workflow #1805

Merged
12 commits merged into from
May 29, 2024
Merged

DO-2216 / Propose an automated release workflow #1805

12 commits merged into from
May 29, 2024

Conversation

ghost
Copy link

@ghost ghost commented May 10, 2024

Try this out on this mock repo https://github.com/radixdlt/release-test

  1. Create an internal release branch release/dummytester123 from develop.
  2. Add your changes
  3. Go to Github Actions and run the workflow_dispatch called Dispatch Release
  4. Choose your internal release branch and enter the desired release version/tag. Must be semantic version conform
  5. Pre-release is created. Check the release and modify to latest release if ready. Otherwise, delete this release and the tag.
  6. A PR is created for release->main.
  7. Upon merge a PR is created for main->develop

This aims to implement what has been discussed here:
https://whimsical.com/scrypto-branching-release-DXmMuH7HtitoMxKNpnd3ds

This requires Github actions to be allowed to create PRs. The setting only allows this in conjuction with approving PRs. To fix this, we add a CODEOWNERS file and allow approval only from people in the CODEOWNERS file.

The update-cargo-toml-version.sh script updates the versions of all cargo.tomls mentioned in the script. In case more crates get added, this list needs to be updated or a way to discover all radix maintained crates within this repo needs to be proposed.

@ghost ghost changed the title Do 2216 final DO-2216 / Propose an automated release workflow May 10, 2024
@ghost ghost changed the base branch from main to develop May 10, 2024 09:52
Copy link

github-actions bot commented May 10, 2024

Docker tags
docker.io/radixdlt/private-scrypto-builder:f5d012c3df

Copy link

github-actions bot commented May 10, 2024

Benchmark for f5d012c

Click to view benchmark
Test Base PR %
costing::bench_prepare_wasm 65.9±0.15ms 65.2±0.17ms -1.06%
costing::decode_sbor 11.0±0.01µs 11.1±0.01µs +0.91%
costing::decode_sbor_bytes 29.1±0.03µs 29.1±0.02µs 0.00%
costing::deserialize_wasm 1274.1±5.17µs 1278.1±2.92µs +0.31%
costing::instantiate_flash_loan 4.0±0.72ms 3.8±0.47ms -5.00%
costing::instantiate_radiswap 5.7±0.05ms 5.7±0.07ms 0.00%
costing::spin_loop 21.2±0.06ms 21.8±0.05ms +2.83%
costing::validate_sbor_payload 30.0±0.03µs 30.0±0.04µs 0.00%
costing::validate_sbor_payload_bytes 257.0±0.58ns 248.4±0.60ns -3.35%
costing::validate_secp256k1 76.2±0.13µs 76.3±0.09µs +0.13%
costing::validate_wasm 36.7±0.05ms 37.9±0.04ms +3.27%
decimal::add/0 8.4±0.00ns 8.4±0.00ns 0.00%
decimal::add/rust-native 9.8±0.00ns 9.8±0.00ns 0.00%
decimal::add/wasmer 119.2±0.46ns 119.0±0.12ns -0.17%
decimal::add/wasmer-call-native 454.4±0.34ns 477.3±0.22ns +5.04%
decimal::add/wasmi 648.4±2.89ns 640.5±1.95ns -1.22%
decimal::add/wasmi-call-native 5.4±0.00µs 5.2±0.01µs -3.70%
decimal::div/0 189.8±0.69ns 190.6±0.23ns +0.42%
decimal::from_string/0 163.2±0.17ns 165.4±0.39ns +1.35%
decimal::mul/0 140.7±0.17ns 142.1±0.04ns +1.00%
decimal::mul/rust-native 139.3±0.18ns 138.3±0.11ns -0.72%
decimal::mul/wasmer 1528.9±1.69ns 1497.5±0.73ns -2.05%
decimal::mul/wasmer-call-native 578.0±0.24ns 574.4±0.39ns -0.62%
decimal::mul/wasmi 41.9±0.07µs 41.5±0.16µs -0.95%
decimal::mul/wasmi-call-native 5.5±0.01µs 5.4±0.01µs -1.82%
decimal::pow/0 655.7±1.39ns 651.5±0.51ns -0.64%
decimal::pow/rust-native 634.8±0.81ns 629.7±0.56ns -0.80%
decimal::pow/wasmer 6.6±0.01µs 6.7±0.01µs +1.52%
decimal::pow/wasmer-call-native 1017.8±1.29ns 1012.6±0.95ns -0.51%
decimal::pow/wasmi 199.3±0.49µs 197.0±0.43µs -1.15%
decimal::pow/wasmi-call-native 5.6±0.01µs 5.2±0.01µs -7.14%
decimal::root/0 7.8±0.01µs 8.1±0.03µs +3.85%
decimal::sub/0 8.5±0.01ns 8.5±0.00ns 0.00%
decimal::to_string/0 449.1±1.49ns 441.6±1.74ns -1.67%
precise_decimal::add/0 9.5±0.18ns 10.1±0.02ns +6.32%
precise_decimal::add/rust-native 11.4±0.00ns 11.4±0.00ns 0.00%
precise_decimal::add/wasmer 116.2±0.16ns 119.2±0.25ns +2.58%
precise_decimal::add/wasmer-call-native 495.5±0.34ns 517.1±0.31ns +4.36%
precise_decimal::add/wasmi 822.6±1.07ns 810.1±2.81ns -1.52%
precise_decimal::add/wasmi-call-native 6.8±0.01µs 6.7±0.02µs -1.47%
precise_decimal::div/0 304.0±0.37ns 301.3±0.39ns -0.89%
precise_decimal::from_string/0 193.8±0.25ns 194.4±0.22ns +0.31%
precise_decimal::mul/0 375.5±1.40ns 378.9±1.14ns +0.91%
precise_decimal::mul/rust-native 313.4±3.22ns 313.3±2.82ns -0.03%
precise_decimal::mul/wasmer 3.5±0.00µs 3.5±0.01µs 0.00%
precise_decimal::mul/wasmer-call-native 850.9±1.08ns 849.6±2.21ns -0.15%
precise_decimal::mul/wasmi 107.1±0.10µs 105.9±0.09µs -1.12%
precise_decimal::mul/wasmi-call-native 7.3±0.01µs 7.1±0.01µs -2.74%
precise_decimal::pow/0 1929.2±7.20ns 1918.7±5.73ns -0.54%
precise_decimal::pow/rust-native 1486.7±4.25ns 1490.8±4.29ns +0.28%
precise_decimal::pow/wasmer 16.0±0.01µs 16.0±0.01µs 0.00%
precise_decimal::pow/wasmer-call-native 2.2±0.00µs 2.1±0.00µs -4.55%
precise_decimal::pow/wasmi 520.0±1.21µs 517.7±1.01µs -0.44%
precise_decimal::pow/wasmi-call-native 13.5±0.05µs 13.6±0.02µs +0.74%
precise_decimal::root/0 57.0±0.05µs 57.4±0.01µs +0.70%
precise_decimal::sub/0 9.5±0.00ns 9.6±0.01ns +1.05%
precise_decimal::to_string/0 714.5±0.71ns 717.3±1.62ns +0.39%
schema::validate_payload 358.8±0.40µs 342.6±0.60µs -4.52%
transaction::radiswap 5.3±0.03ms 5.4±0.03ms +1.89%
transaction::transfer 1734.6±6.80µs 1738.7±6.63µs +0.24%
transaction_processing::prepare 2.2±0.00ms 2.2±0.00ms 0.00%
transaction_processing::prepare_and_decompile 6.0±0.03ms 6.0±0.01ms 0.00%
transaction_processing::prepare_and_decompile_and_recompile 24.3±0.73ms 24.2±0.08ms -0.41%
transaction_validation::validate_manifest 42.0±0.06µs 42.2±0.53µs +0.48%
transaction_validation::verify_bls_2KB 966.0±8.01µs 978.4±26.51µs +1.28%
transaction_validation::verify_bls_32B 978.5±46.01µs 1025.9±63.04µs +4.84%
transaction_validation::verify_ecdsa 74.3±0.07µs 74.3±0.07µs 0.00%
transaction_validation::verify_ed25519 54.9±0.05µs 54.9±0.05µs 0.00%

@ghost ghost marked this pull request as ready for review May 20, 2024 11:54
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove the codeowners change for now? We have a separate task to change that for the whole code base.

- toml_file: "./radix-transaction-scenarios/Cargo.toml"
- toml_file: "./radix-engine-monkey-tests/Cargo.toml"
- toml_file: "./radix-engine-tests/Cargo.toml"
- toml_file: "./radix-substate-store-interface/Cargo.toml"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't fully understand how matrics work, but we need to publish the crates sequentially in this order.

update-cargo-toml-versions.sh Show resolved Hide resolved
@ghost ghost merged commit 9b5be78 into develop May 29, 2024
29 checks passed
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant