Skip to content

Commit

Permalink
Release v0.19.0 (#85)
Browse files Browse the repository at this point in the history
* Changed account id structure

* Corrected tests

* formatting

* Cleanup and test

* Changelog

* Corrected imports

* Fixed tests

* improve ChainName construction strictness

* fix tests

* Cleanup and storage key shortening

* fix test

* clippy fix

* remove osmosis remenant

* bump cw-orch

* Hot fix for cw-orch 0.16.0

* Moved from_str to trait

* bump cw-orch

* fix tests

* formatting

* bump version to 0.19

* formatting

* Update deploy_all bin (#75)

* ping url, write json log

* clippy

* Changed account id structure (#58)

* Changed account id structure

* Corrected tests

* formatting

* Cleanup and test

* Changelog

* Corrected imports

* Fixed tests

* improve ChainName construction strictness

* fix tests

* Cleanup and storage key shortening

* fix test

* clippy fix

* remove osmosis remenant

* bump cw-orch

* Hot fix for cw-orch 0.16.0

* Moved from_str to trait

* bump cw-orch

* fix tests

* formatting

* rm unused import

---------

Co-authored-by: cyberhoward <cyberhoward@protonmail.com>
Co-authored-by: CyberHoward <88450409+CyberHoward@users.noreply.github.com>

* Update WASM artifacts [skip ci]

---------

Co-authored-by: Kayanski <44806566+Kayanski@users.noreply.github.com>
Co-authored-by: cyberhoward <cyberhoward@protonmail.com>
Co-authored-by: CyberHoward <88450409+CyberHoward@users.noreply.github.com>
Co-authored-by: CircleCI <circleci@example.com>

* add release

* update yml

* add job

* add new release action

* updates circleci

* update config

* add when, add deploy circle ci req

* edit ci config

* remove graph png

* test release branch match

* update deploy branch match

* poll circleci api status

* Update WASM artifacts [skip ci]

* fetch workflow_id

* check endpoint get workflow id for status

* force wasm diff commit with comment

* fix parse response bug

* check for null values on parse, log if any

* add more logs for parse

* add wait incase of propogation delay

* update config ci

* handle all status cases from ci api res

* Revert "update config ci"

This reverts commit 72e777e.

* update status handle

* update config ci after revert

* add logs

* change item to check on response

* use pipeline id for prev pipeline qry

* will update checksum, force rebuild wasm

* update bin to force wasm write

* force wasm commit

* add arbitary to force wasm diff

* add post on success

* remove syntax bash error

* Revert "force wasm commit"

This reverts commit 8f9990a.

* remove polling logic

* edit release run command

* update config ci

* add new release workflow

* change metadata req

* update req

* typo config

* testing ci

* curl

* log response

* fetch branch name

* remove binaries

* remove binaries

* Update WASM artifacts [skip ci]

* add artifcats dir

* remove bins (#84)

* Update WASM artifacts [skip ci]

* merge main

* update gitignore

* Update WASM artifacts [skip ci]

* skip build, add path

* update config

* update config

* add requries back

* update param namespace

* Update WASM artifacts [skip ci]

* add artifacts folder inside framework/

* remove binaries

* skip build step

* set log level

* will trigger build

* Update WASM artifacts [skip ci]

* set env var for container

* skip build

* add log var

* echo container vars

* log env

* set var in docker

* fix typo in set command

* echo env var

* remove override

* decode base64 env var

* decode base64

* combine commands to persist env state

* log

* remove log

* add commit deploy file step

* Update deploy deploy file [skip ci]

* streamline publishing process

* formatting

* commit push cw-orch state file

* remove binaries for commit

* add build step back

* Update WASM artifacts [skip ci]

* Revert "formatting"

This reverts commit 2cabfc1.

* add check for wasms, skip if no diff

* skip build for now

* format yml

* remove first deploy

* remove check

* add manual wasm build action

* remove redundant comment

* formatting

* update changelog

* use branch parameter for build

* update manual build

* formatting

* use branch env var

* Update WASM binaries [skip ci]

* deploy abstract

* formatting

* fix clippy

---------

Co-authored-by: Kayanski <kowalski.kowalskin@gmail.com>
Co-authored-by: 0xmovses <35300528+0xmovses@users.noreply.github.com>
Co-authored-by: Kayanski <44806566+Kayanski@users.noreply.github.com>
Co-authored-by: CircleCI <circleci@example.com>
Co-authored-by: 0xmovses <r.v.melkonian@gmail.com>
  • Loading branch information
6 people authored Sep 27, 2023
1 parent bc85611 commit bb56a1a
Show file tree
Hide file tree
Showing 51 changed files with 277 additions and 346 deletions.
3 changes: 3 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ parameters:
GHA_Meta:
type: string
default: ""
branch:
type: string
default: "main"

workflows:
version: 2
Expand Down
10 changes: 7 additions & 3 deletions .github/workflows/manual-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,17 @@ jobs:
env:
CCI_TOKEN: ${{ secrets.CCI_TOKEN }}
run: |
curl -X POST \
BRANCH_NAME=$(echo "${GITHUB_REF}" | sed -e "s/refs\/heads\///")
RESPONSE=$(curl -s -X POST \
-H "Circle-Token: ${CCI_TOKEN}" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"branch": "${{ github.ref }}",
"branch": "'"$BRANCH_NAME"'",
"parameters": {
"GHA_Meta": "build_wasms"
}
}' https://circleci.com/api/v2/project/gh/AbstractSDK/abstract/pipeline
}' https://circleci.com/api/v2/project/gh/AbstractSDK/abstract/pipeline)
echo "CircleCI Response: $RESPONSE"
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,3 @@

**/*.env

**/artifacts/*
16 changes: 8 additions & 8 deletions app-template/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,19 @@ thiserror = { version = "<=1.0.48" }
schemars = "0.8"
cw-asset = { version = "3.0" }

abstract-core = { version = "0.19.0-rc.1" }
abstract-app = { version = "0.19.0-rc.1" }
abstract-sdk = { version = "0.19.0-rc.1" }
abstract-core = { version = "0.19.0" }
abstract-app = { version = "0.19.0" }
abstract-sdk = { version = "0.19.0" }

# Dependencies for interface
abstract-interface = { version = "0.19.0-rc.1", optional = true }
cw-orch = { version = "0.16.3", optional = true }
abstract-interface = { version = "0.19.0", optional = true }
cw-orch = { version = "0.16.4", optional = true }

[dev-dependencies]
app = { path = ".", features = ["interface"] }
abstract-interface = { version = "0.19.0-rc.1", features = ["daemon"] }
abstract-testing = { version = "0.19.0-rc.1" }
abstract-sdk = { version = "0.19.0-rc.1", features = ["test-utils"] }
abstract-interface = { version = "0.19.0", features = ["daemon"] }
abstract-testing = { version = "0.19.0" }
abstract-sdk = { version = "0.19.0", features = ["test-utils"] }
speculoos = "0.11.0"
semver = "1.0"
dotenv = "0.15.0"
Expand Down
Binary file removed app-template/artifacts/app.wasm
Binary file not shown.
2 changes: 2 additions & 0 deletions framework/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased] - yyyy-mm-dd

## [0.19.0] - 2023-09-26

### Added

- Install modules on account or Sub-account creation.
Expand Down
18 changes: 9 additions & 9 deletions framework/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ members = [
resolver = "2"

[workspace.package]
version = "0.18.0"
version = "0.19.0"
authors = [
"CyberHoward <cyberhoward@protonmail.com>",
"Riada <riada@abstract.money>",
Expand Down Expand Up @@ -58,8 +58,8 @@ tokio = { version = "1.4", features = ["full"] }

## crates in order of publishing ## see docs/Publishing.md

abstract-adapter = { version = "0.18.0", path = "packages/abstract-adapter" }
abstract-app = { version = "0.18.0", path = "packages/abstract-app" }
abstract-adapter = { path = "packages/abstract-adapter" }
abstract-app = { path = "packages/abstract-app" }

# Keep these as path, creates cirular dependency otherwise
# Only need to re-publish all contracts if a re-publish of abstract-interface is required
Expand All @@ -71,15 +71,15 @@ version-control = { package = "abstract-version-control", path = "contracts/nati
proxy = { package = "abstract-proxy", path = "contracts/account/proxy" }
manager = { package = "abstract-manager", path = "contracts/account/manager" }

abstract-sdk = { version = "0.18.0", path = "packages/abstract-sdk" }
abstract-testing = { version = "0.18.0", path = "packages/abstract-testing" }
abstract-core = { version = "0.18.0", path = "packages/abstract-core" }
abstract-sdk = { version = "0.19.0", path = "packages/abstract-sdk" }
abstract-testing = { version = "0.19.0", path = "packages/abstract-testing" }
abstract-core = { version = "0.19.0", path = "packages/abstract-core" }

# These should remain fixed and don't need to be re-published (unless changes are made)
abstract-macros = { version = "0.18.0", path = "packages/abstract-macros" }
abstract-ica = { version = "0.18.0", path = "packages/abstract-ica" }
abstract-macros = { version = "0.19.0", path = "packages/abstract-macros" }
abstract-ica = { version = "0.19.0", path = "packages/abstract-ica" }

abstract-adapter-utils = { version = "0.18.0", path = "packages/standards/utils" }
abstract-adapter-utils = { version = "0.19.0", path = "packages/standards/utils" }
abstract-dex-standard = { path = "packages/standards/dex" }
abstract-staking-standard = { path = "packages/standards/staking" }

Expand Down
Binary file modified framework/artifacts/abstract_account_factory.wasm
Binary file not shown.
Binary file modified framework/artifacts/abstract_ans_host.wasm
Binary file not shown.
Binary file modified framework/artifacts/abstract_ibc_client.wasm
Binary file not shown.
Binary file modified framework/artifacts/abstract_manager.wasm
Binary file not shown.
Binary file modified framework/artifacts/abstract_module_factory.wasm
Binary file not shown.
Binary file modified framework/artifacts/abstract_proxy.wasm
Binary file not shown.
Binary file modified framework/artifacts/abstract_version_control.wasm
Binary file not shown.
14 changes: 7 additions & 7 deletions framework/artifacts/checksums.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
42ade51161c33980817ca67f49a8688540fb181628631fd231ade538370947e9 abstract_account_factory.wasm
22a9293f9e39f682afe3964ae9bd91c51d50b3bbebc24a20cd8aeac9a2314b7e abstract_ans_host.wasm
76ab31c352929f4820a84c048d3b612d9f10701e7c8ade5b9a1ba37ccdbc01c7 abstract_ibc_client.wasm
8cdf62be1591141d50783aa1b3fb2947d764d1526509c8970c4bf1c2a3aa721d abstract_manager.wasm
2882f5e6b8d47049489fdd6548a40c873bb0ed15c0f164b9c7f8a527ddebdf32 abstract_module_factory.wasm
cf505c3c7664106c67b3f5ea2f1bf76f059e9868a734a0763f21a5ce9ed2572b abstract_proxy.wasm
4c232a6c0d4b2e98225ed4b55664e9e7f28fd6b7fcfa1fe0c0280efb6e887d84 abstract_version_control.wasm
77a8819b5faa41dfc14076b72393ccc479d28324dcba228d66f1fe46d1c386e9 abstract_account_factory.wasm
4a0c836d7bba57fd109efae474b8984b9427f497f14b60c080d9cfeddda9a545 abstract_ans_host.wasm
7413942bbb3ff9bec0c748ce54ebed1417bbd6eb627d38f80b77267e740d5098 abstract_ibc_client.wasm
a6fd44ec44dc0a8fe370f8f9bdf10b9363607aff694dc884ebae6c9b5b1b2da7 abstract_manager.wasm
6b9deb3c0486cdcc44d592cb72e4b6ee0118c4fd303f77c49c45b729288c3875 abstract_module_factory.wasm
cfda32122ec50cc6526b3aa5d424e89b940d4290e4607043b527d8b12632c686 abstract_proxy.wasm
a6156f777faa603afd7ca2945873899b61aa70f71e8aa41fe12b302bb6ac45cc abstract_version_control.wasm
14 changes: 7 additions & 7 deletions framework/artifacts/checksums_intermediate.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
747d43ce41846fee8b0697fff518d95d1934506e0d3eaf6832400a47994dddaf target/wasm32-unknown-unknown/release/abstract_account_factory.wasm
b61f94528ddc08570558afe028e0402a655402689ccf791d6b4b21c309102c39 target/wasm32-unknown-unknown/release/abstract_ans_host.wasm
10554f33c9e23568553de997e8326ce46e073063fd99a4dfa4a0505cc92b5e05 target/wasm32-unknown-unknown/release/abstract_ibc_client.wasm
0cea8203bfe65a4e1c16973dc3c1c56f8603447b7444768a06b11f7c73f302d8 target/wasm32-unknown-unknown/release/abstract_manager.wasm
33263127362c2aa960c1e9d217698e9a723c18313b1d70c5feb7f77de37180ad target/wasm32-unknown-unknown/release/abstract_module_factory.wasm
40ce0e66d7657abc8f90b3a35d7f7106b5fa4898b14bd95da377c2338b920b68 target/wasm32-unknown-unknown/release/abstract_proxy.wasm
445ffbae74a100f18fb07d60635f5fdbc74f37ec291e987f27a7f810dd7b7d98 target/wasm32-unknown-unknown/release/abstract_version_control.wasm
972282abca02c91de95a08cb2dd0f1b6f93652e9b8a631309e394f69d400e4c4 target/wasm32-unknown-unknown/release/abstract_account_factory.wasm
7ff98d14ff2b8fed31dc69d4fe27dacec0d80853b39450ac650a09733655584f target/wasm32-unknown-unknown/release/abstract_ans_host.wasm
07579975c16fa7fe9b9f766322bf74651b86b36b95d76b124d637db4bdc66ae7 target/wasm32-unknown-unknown/release/abstract_ibc_client.wasm
6504e81fc4198466ce9b63624946e2228a0beb37713e778f00948121a1569498 target/wasm32-unknown-unknown/release/abstract_manager.wasm
907a40c8e2d8c97cf52800e427c90a419b0fa639d69960b07fbacd676f4d2eaf target/wasm32-unknown-unknown/release/abstract_module_factory.wasm
f56ef8b8d285a7caaac6f8b3efd460505864c7384babf92236997438ff11c883 target/wasm32-unknown-unknown/release/abstract_proxy.wasm
93458d5dcb16827e6d4e8f0c7ff81e5e6bc5f61b32da1ea2fa67df120a40af6c target/wasm32-unknown-unknown/release/abstract_version_control.wasm
26 changes: 4 additions & 22 deletions framework/development/Publishing.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,14 @@

Publishing new abstract versions.

1. Bump the abstract version everywhere it is used.
2. Remove the path deps from `adapters`, `adapter-packages` and `integration-bundles`. This will ensure that git-based imports use the published abstract version.

Releasing is done in the following order:

1. `abstract_core`
2. `abstract-testing`
3. `abstract-sdk`
4. All contracts in `./contracts`

Do this by running `./publish/contracts.sh`.

Now we have all the contracts published. Building them will result in artifacts that we want to deploy and publish with the crate.

> Do *NOT* use the ARM-generated artifacts when deploying or publishing. They are only used for testing.
1. Bump the abstract versions of packages everywhere they are used.

Now you should proceed with deploying the contracts to the different chains. We want to deploy to as many chains as possible because a new version of abstract-interfaces will have to be published when new chains are added.

After deploying the contracts you can proceed with publishing the rest of the contracts. Before doing this ensure that:

- You have the latest x86_64 artifacts in `./framework/artifacts`.
- You have updated the version abstract-interfaces for all its dependencies.
- You have all the latest addresses and code-ids in the `state.json` file located in the `abstract-interface` folder.
- You have the latest x86_64 artifacts in `./framework/artifacts`. These should be automatically committed by the CI before deployment is triggered.

Publishing is then performed by running `./publish/packages.sh`.
- You have all the latest addresses and code-ids in the `state.json` file located in the `abstract-interface` folder.

The resulting data (addresses, code-ids) is used when publishing the abstract-interface.
5. `abstract-interface`
6. `abstract-adapter`, `abstract-app` and `abstract-ibc-host`
You can then trigger the release by executing `./publish/publish.sh`.
4 changes: 2 additions & 2 deletions framework/packages/abstract-adapter/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "abstract-adapter"
version = "0.18.0"
version = "0.19.0"
authors = { workspace = true }
edition = { workspace = true }
license = { workspace = true }
Expand Down Expand Up @@ -30,7 +30,7 @@ abstract-core = { workspace = true }
abstract-testing = { workspace = true, optional = true }
cw-orch = { workspace = true, optional = true }
# Keep this as a version and update when publishing new versions
abstract-interface = { path = "../../packages/abstract-interface", version = "0.18.0", optional = true }
abstract-interface = { path = "../../packages/abstract-interface", version = "0.19.0", optional = true }

[dev-dependencies]
speculoos = { workspace = true }
Expand Down
4 changes: 2 additions & 2 deletions framework/packages/abstract-app/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "abstract-app"
version = "0.18.0"
version = "0.19.0"
edition = { workspace = true }
license = { workspace = true }
description = "base app contract implementation"
Expand Down Expand Up @@ -30,7 +30,7 @@ abstract-core = { workspace = true }
abstract-testing = { workspace = true, optional = true }
cw-orch = { workspace = true, optional = true }
# Keep this as a version and update when publishing new versions
abstract-interface = { path = "../../packages/abstract-interface", version = "0.18.0", optional = true }
abstract-interface = { path = "../../packages/abstract-interface", version = "0.19.0", optional = true }

[dev-dependencies]
cosmwasm-schema = { workspace = true }
Expand Down
14 changes: 7 additions & 7 deletions framework/packages/abstract-interface/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "abstract-interface"
version = "0.18.0"
version = "0.19.0"
edition = { workspace = true }
license = { workspace = true }
description = "Abstract deployment helpers with cw-orchestrator"
Expand Down Expand Up @@ -30,12 +30,12 @@ serde_json = "1.0.79"
speculoos = { workspace = true }

# Keep these here
module-factory = { package = "abstract-module-factory", path = "../../contracts/native/module-factory", default-features = false, version = "0.18.0" }
account-factory = { package = "abstract-account-factory", path = "../../contracts/native/account-factory", default-features = false, version = "0.18.0" }
ans-host = { package = "abstract-ans-host", path = "../../contracts/native/ans-host", default-features = false, version = "0.18.0" }
version-control = { package = "abstract-version-control", path = "../../contracts/native/version-control", default-features = false, version = "0.18.0" }
proxy = { package = "abstract-proxy", path = "../../contracts/account/proxy", default-features = false, version = "0.18.0" }
manager = { package = "abstract-manager", path = "../../contracts/account/manager", default-features = false, version = "0.18.0" }
module-factory = { package = "abstract-module-factory", path = "../../contracts/native/module-factory", default-features = false, version = "0.19.0" }
account-factory = { package = "abstract-account-factory", path = "../../contracts/native/account-factory", default-features = false, version = "0.19.0" }
ans-host = { package = "abstract-ans-host", path = "../../contracts/native/ans-host", default-features = false, version = "0.19.0" }
version-control = { package = "abstract-version-control", path = "../../contracts/native/version-control", default-features = false, version = "0.19.0" }
proxy = { package = "abstract-proxy", path = "../../contracts/account/proxy", default-features = false, version = "0.19.0" }
manager = { package = "abstract-manager", path = "../../contracts/account/manager", default-features = false, version = "0.19.0" }

[build-dependencies]
serde_json = "1.0.79"
Expand Down
51 changes: 0 additions & 51 deletions framework/publish/packages.sh

This file was deleted.

51 changes: 40 additions & 11 deletions framework/publish/contracts.sh → framework/publish/publish.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,26 @@ function print_usage() {
echo "Publishes crates to crates.io."
}

publish_crate() {
# Run the cargo publish command, capturing both stdout and stderr
# Check if the command was successful
if output=$(cargo publish 2>&1); then
echo "Successfully published crate. 🎉"
else
# Check for the specific error message
if [[ $output == *"crate version"*"is already uploaded"* ]]; then
echo "Crate version is already uploaded 😱. Proceeding..."
else
echo "Failed to publish crate. Exiting. 😵"
echo "Error: $output"
return 1
fi
fi

# Indicate success
return 0
}

if [ $# = 1 ] && { [ "$1" = "-h" ] || [ "$1" = "--help" ] ; }
then
print_usage
Expand All @@ -23,39 +43,48 @@ NATIVE_CONTRACTS="ans-host account-factory module-factory version-control"
(
cd "packages/$pack"
echo "Publishing base $pack"
cargo publish
publish_crate
)
done

for pack in $UTILS_PACKAGES; do
(
cd "packages/$pack"
echo "Publishing util $pack"
cargo publish
publish_crate
)
done

read -p "Please comment out abstract-adapter and abstract-app in manager/Cargo.toml#dev-dependencies and type 'yes' to continue: " input
if [ "$input" != "yes" ]
then
echo "The script will terminate now. Please run it again after updating the version."
exit 1
fi

for con in $CORE_CONTRACTS; do
(
cd "contracts/account/$con"
echo "Publishing account base $con"
cargo publish --allow-dirty
publish_crate
)
done

for con in $NATIVE_CONTRACTS; do
(
cd "contracts/native/$con"
echo "Publishing native $con"
cargo publish --allow-dirty
publish_crate
)
done

echo "All the contracts are published!"

# Now all the packages and standards

PACKAGES="abstract-interface abstract-adapter abstract-app abstract-ibc-host"

for pack in $PACKAGES; do
(
cd "packages/$pack"
echo "Publishing $pack"
publish_crate
)
done

VERSION=$(grep -A1 "\[workspace.package\]" Cargo.toml | awk -F'"' '/version/ {print $2}');
git tag v"$VERSION"
git push origin v"$VERSION"
5 changes: 5 additions & 0 deletions framework/scripts/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ serde_json = "1.0.79"
reqwest = { version = "0.11.9" }
dotenv = "0.15.0"
env_logger = "0.10.0"
url = "2.4.1"

cosmos-sdk-proto = { version = "0.19.0", features = [
"grpc-transport",
Expand All @@ -36,3 +37,7 @@ cosmos-sdk-proto = { version = "0.19.0", features = [
serde-cw-value = "0.7.0"
sha256 = "1"
clap = { workspace = true }
dirs = "5.0.1"

[patch.crates-io]
cw-orch-networks = { git = "https://github.com/AbstractSDK/cw-orchestrator", branch = "add/chaininfo_eq_derive" }
Loading

0 comments on commit bb56a1a

Please sign in to comment.