Skip to content
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
284 commits
Select commit Hold shift + click to select a range
034d733
build(deps): update stable2506 revision
evilrobot-01 Jun 25, 2025
88d4fee
chore: update cargo.lock
evilrobot-01 Jun 25, 2025
5f97631
refactor(runtime): update revive config after revision change
evilrobot-01 Jun 25, 2025
67f6d1f
chore: update toolchain to stable
evilrobot-01 Jul 25, 2025
4f33162
build(deps): update contract-build to branch supporting valid contract
evilrobot-01 Jul 26, 2025
440c27d
build(extension): add missing feature flag to contract
evilrobot-01 Jul 26, 2025
bafbd1f
chore: update cargo.lock
evilrobot-01 Jul 26, 2025
2dc74af
build(deps): update to stable2506 release
evilrobot-01 Jul 26, 2025
54d5eb6
refactor(runtime): address breaking changes
evilrobot-01 Jul 26, 2025
82e64e8
refactor(node): add notification metrics to service
evilrobot-01 Jul 26, 2025
f53f560
chore: update cargo.lock
evilrobot-01 Jul 26, 2025
293b65c
chore(api): update cargo.lock
evilrobot-01 Jul 26, 2025
bbb3645
build(deps): disable default-features for serde
May 8, 2025
eb10b32
feat(api-vnext): new 'pallet' to provide fungible api(s) via precompiles
May 28, 2025
1e3f7cc
feat(devnet): add fungibles precompiles
May 28, 2025
9f97485
build(deps): propagate runtime-benchmarks feature
May 28, 2025
29699a5
build: disable doctest based on incompatible comments in .sol files
May 28, 2025
4f7c95b
fix(precompiles/interfaces): use calldata specifiers for string
Jun 4, 2025
0a5ab34
style(precompiles/interfaces): formatting
Jun 4, 2025
9f31adc
refactor: use upcoming assetidextractor from pallet-assets
Jun 4, 2025
fc12968
refactor(api-vnext): resolve clippy warnings
Jun 4, 2025
e2e748d
style: formatting
Jun 4, 2025
64d6551
feat(pop-api): add initial fungibles api and example
Jun 6, 2025
57bc9f1
chore: rename example directory
Jun 9, 2025
a338e0e
docs: remove trailing slash in comment
Jun 13, 2025
bfa3d99
refactor(pop-api): improvements to implementation
Jun 13, 2025
eeac4e6
test(devnet): improvements to fungibles precompile contract test
Jun 13, 2025
d37aa16
refactor(pop-api): remove redundant code for manual precompile calls
Jun 13, 2025
a721b47
refactor(fungibles): ensure feature parity with prior implementation
Jun 14, 2025
b9996d1
refactor(pop-api): use explicit sol encoding for precompile contract
Jun 16, 2025
19504bd
docs(examples): update parameter description based on review comment
Jun 16, 2025
f941588
docs(api): add public function doc
Jun 16, 2025
f94211e
docs(example): update constructor parameter doc style to match messages
Jun 16, 2025
9d772e2
docs(example): use account instead of address in doc comments
Jun 16, 2025
170d7f3
docs(example): add todo prefix to comment
Jun 16, 2025
cff694a
docs(api): add public function doc
Jun 16, 2025
9ca25d0
test(api): remove additional check deemed unnecessary
Jun 16, 2025
f54ab1f
docs(api): add fungibles doc comments
evilrobot-01 Jun 17, 2025
dc859e8
refactor(precompiles): add license and version requirement
evilrobot-01 Jun 18, 2025
73a4986
refactor(precompiles): update return types after rebase
evilrobot-01 Jun 18, 2025
bd5f22a
test(api): resolve breaking changes after rebase
evilrobot-01 Jun 18, 2025
03f2e26
test(api): improve fungibles precompile tests after rebase
evilrobot-01 Jun 18, 2025
93bb102
test(api): improve erc20 precompile tests after rebase
evilrobot-01 Jun 18, 2025
3d3fe4c
test(api): define precompile constants within mock runtime
evilrobot-01 Jun 18, 2025
ea46cfa
refactor(api): use asset id extractors from pallet-assets
evilrobot-01 Jun 18, 2025
f3df2c6
test(devnet): resolve breaking changes after rebase
evilrobot-01 Jun 18, 2025
f658aee
refactor(api): import soltype
evilrobot-01 Jun 18, 2025
b63cdf3
refactor(api): correct fungibles trait parameter names
evilrobot-01 Jun 18, 2025
d96fbdd
refactor(devnet): simplify selector implementations
evilrobot-01 Jun 18, 2025
a654376
test(api): add initial integration tests
evilrobot-01 Jun 19, 2025
7bedff4
ci: add job for pop-api-vnext integration tests
evilrobot-01 Jun 19, 2025
ab7effc
test(api): minimal implementation of transfer test
evilrobot-01 Jun 19, 2025
ff06010
ci: set rustflags for pop-api-vnext integration tests
evilrobot-01 Jun 19, 2025
6ad029d
test(runtime): disable precompiles with contract test
evilrobot-01 Jun 19, 2025
7263db8
test(api): add transfer_from test
evilrobot-01 Jun 19, 2025
498ca3e
ci: exclude pop-api-integration-tests from test and coverage jobs
evilrobot-01 Jun 19, 2025
af39837
test(api): add approve test
evilrobot-01 Jun 19, 2025
6cf1d43
test(api): add contract.account_id() helper
evilrobot-01 Jun 19, 2025
63e5586
test(api): add increase/decrease allowance tests
evilrobot-01 Jun 19, 2025
32ed48d
refactor(api): separate out fungibles errors module
evilrobot-01 Jun 19, 2025
2a1de1f
feat(api): add fungibles events
evilrobot-01 Jun 19, 2025
df16d6a
test(api): add create test
evilrobot-01 Jun 19, 2025
e4cb38d
test(api): add start_destroy test
evilrobot-01 Jun 19, 2025
941f32d
test(api): make contract instantiation origin explicit to simplify api
evilrobot-01 Jun 19, 2025
b609a9a
test(api): add set_metadata test
evilrobot-01 Jun 19, 2025
8cc45b1
test(api): update expectation message to .polkavm
evilrobot-01 Jun 20, 2025
95eb994
test(api): add clear_metadata test
evilrobot-01 Jun 20, 2025
793078e
test(api): reuse sol types to ease encoding
evilrobot-01 Jun 20, 2025
ef8e505
test(api): add mint test
evilrobot-01 Jun 20, 2025
a5f351b
test(api): add burn test
evilrobot-01 Jun 20, 2025
39ac3ce
test(api): add create with instantiation test
evilrobot-01 Jun 20, 2025
412b82d
feat(api): initial precompile benchmarking
evilrobot-01 Jun 24, 2025
7648a9a
refactor(api): charge weight for increase/decrease allowance calls
evilrobot-01 Jun 24, 2025
36925fc
refactor(api): improve decrease allowance implementation
evilrobot-01 Jun 24, 2025
40fc745
feat(api): add clear_metadata benchmark
evilrobot-01 Jun 24, 2025
2ef674a
feat(api): add set_metadata benchmark
evilrobot-01 Jun 24, 2025
09dcce7
feat(api): add start_destroy benchmark
evilrobot-01 Jun 24, 2025
84d2aaa
feat(api): add create benchmark
evilrobot-01 Jun 25, 2025
4d8cb30
refactor(api): move benchmark assertion into block
evilrobot-01 Jun 25, 2025
1d3f3cf
refactor(api): use call_precompile helper
evilrobot-01 Jun 25, 2025
f208ccf
feat(api): add mint benchmark
evilrobot-01 Jun 25, 2025
c71555a
feat(api): add burn benchmark
evilrobot-01 Jun 25, 2025
16aab05
feat(api): add transfer benchmark
evilrobot-01 Jun 25, 2025
e7d4b5f
feat(api): add transfer_from benchmark
evilrobot-01 Jun 25, 2025
6b1b9a8
refactor(api/fungibles/benchmarking): add copy trait bound to asset id
evilrobot-01 Jun 25, 2025
a69a828
refactor(api/fungibles): refund appropriate burn weight on failure
evilrobot-01 Jun 25, 2025
f1c5958
style(api/fungibles): formatting
evilrobot-01 Jun 25, 2025
e7e0299
refactor(api/fungibles/erc20): charge benchmarked weight
evilrobot-01 Jun 25, 2025
0d7e110
chore(api): add cargo.lock
evilrobot-01 Jun 26, 2025
2957547
test(devnet): set gas limit now that precompiles charge weight
evilrobot-01 Jun 26, 2025
1c1130d
test(devnet): remove contract and selector integration tests as avail…
evilrobot-01 Jun 26, 2025
2c68e93
test(api): add selectors test
evilrobot-01 Jun 26, 2025
7a2357b
test(api): add initial tests
evilrobot-01 Jun 26, 2025
924a87d
test(api): remove unnecessary helper
evilrobot-01 Jun 26, 2025
815e07c
test(api): add increase/decrease tests
evilrobot-01 Jun 26, 2025
eb4564b
test(api): add create test
evilrobot-01 Jun 26, 2025
2b83635
test(api): add start_destroy test
evilrobot-01 Jun 26, 2025
26c56ce
test(api): add set_metadata test
evilrobot-01 Jun 26, 2025
214785c
test(api): add clear_metadata test
evilrobot-01 Jun 26, 2025
692566a
test(api): add mint test
evilrobot-01 Jun 26, 2025
fddd58f
test(api): add burn test
evilrobot-01 Jun 26, 2025
8f06875
test(api): add exists test
evilrobot-01 Jun 26, 2025
cfba766
refactor(api): share total_supply implementation
evilrobot-01 Jun 26, 2025
f7ee106
refactor(api): share balance implementation
evilrobot-01 Jun 26, 2025
3f73be6
refactor(api): share allowance implementation
evilrobot-01 Jun 26, 2025
03daed6
refactor(api): share metadata implementation
evilrobot-01 Jun 26, 2025
059d190
test(api): explicitly endow when more than ed required
evilrobot-01 Jun 26, 2025
89ea8ac
refactor(api): reorganize for versioning
evilrobot-01 Jun 26, 2025
4ee1f94
style: formatting
evilrobot-01 Jun 26, 2025
8a75690
build(deps): update ink after sol-abi improvements merged
evilrobot-01 Jun 26, 2025
ff40d3a
ci: explicitly cache pallet-revive-fixtures output
evilrobot-01 Jun 26, 2025
d567a3f
test(api/integration-tests): fix imports after refactor
evilrobot-01 Jun 27, 2025
edcbcfc
ci: remove cached pallet-revive fixtures
evilrobot-01 Jun 27, 2025
d8bf357
ci: only list if directory exists
evilrobot-01 Jun 27, 2025
fb42af6
ci(init): make crate caching configurable
evilrobot-01 Jun 27, 2025
bdadf06
ci(init): bump rust-cache version
evilrobot-01 Jun 27, 2025
9a75e2c
refactor(pallets/api): address clippy warning
evilrobot-01 Jun 27, 2025
fd2406d
docs(api): add missing precompile index comment
evilrobot-01 Jun 27, 2025
17a8f92
refactor(pallets/api): ensure weight charge updated on both approve s…
evilrobot-01 Jun 27, 2025
9af083f
refactor(pallets-api): update event handling based on reference
evilrobot-01 Jun 27, 2025
0880a73
docs: remove todo comment
evilrobot-01 Jun 27, 2025
7feeed4
test(api/integration-tests): constructor encoding
evilrobot-01 Jun 30, 2025
a1bed0b
docs(api): fix transfer comment
evilrobot-01 Jul 1, 2025
37ab37a
docs(api): port readmes
evilrobot-01 Jul 1, 2025
87a761f
refactor(pallets/api): simplify u256 conversion
evilrobot-01 Jul 10, 2025
1f9d00e
refactor(pallets/api): relocate benchmarking call setup and resolve
evilrobot-01 Jul 10, 2025
cee5279
refactor(api): update ink, eliminating manual encoding/decoding
evilrobot-01 Jul 10, 2025
59a94a3
fix(api): add missing imports after refactor
evilrobot-01 Jul 10, 2025
2988372
refactor: implement initial precompile reverts
evilrobot-01 Jul 11, 2025
8801a08
test(api): add initial error checks
evilrobot-01 Jul 12, 2025
896aa4f
refactor(api): improved fungibles error handling
evilrobot-01 Jul 14, 2025
781cf62
refactor(api): improved erc20 error handling
evilrobot-01 Jul 14, 2025
189dcb1
build(deps): add missing base64 feature
evilrobot-01 Jul 14, 2025
ea37863
refactor: resolve missing imports/trait bounds for runtime-benchmarks
evilrobot-01 Jul 14, 2025
4b4ecc9
refactor(pallets/api): resolve clippy warnings
evilrobot-01 Jul 14, 2025
e8a2a16
test(pallets/api): fix minimum balance consideration with transfer
evilrobot-01 Jul 14, 2025
5477280
test(pallets/api): remove unnecessary println
evilrobot-01 Jul 14, 2025
804d1a6
test(pallets/api): fix minimum balance consideration with transfer
evilrobot-01 Jul 14, 2025
3411f07
fix(api): allow removal of approval with zero value allowance
evilrobot-01 Jul 14, 2025
621db5a
refactor(api): check set_metadata result after refactoring
evilrobot-01 Jul 14, 2025
a31d09f
chore: update cargo.lock after rebase
evilrobot-01 Jul 26, 2025
9372442
style: formatting after rebase
evilrobot-01 Jul 26, 2025
0021908
chore(api): update cargo.lock for contracts
evilrobot-01 Jul 26, 2025
9623a6c
docs(api): remove todos
evilrobot-01 Jul 27, 2025
ea3101f
ci: enable global cache disabling
evilrobot-01 Jul 27, 2025
663e7de
ci: reenable crate caching
evilrobot-01 Jul 27, 2025
71e8abf
docs(pallets/api): remove token id size todo after discussion
evilrobot-01 Jul 28, 2025
181d1ef
test(api): relocate and reduce initial value, gas and storage limits
evilrobot-01 Jul 28, 2025
f031bd2
refactor(pallets/api): ensure all errors apart from insufficient gas
evilrobot-01 Jul 30, 2025
22cd1f7
refactor(api): ensure full error coverage
evilrobot-01 Jul 30, 2025
05295ce
test(api): update expected errors
evilrobot-01 Jul 30, 2025
1ef302d
chore(api): update cargo.lock
evilrobot-01 Jul 30, 2025
daf531a
chore: update cargo.lock
evilrobot-01 Jul 30, 2025
194c9de
refactor(pallets/api): simplify origin
evilrobot-01 Jul 30, 2025
926f447
refactor(pallets/api): fix imports
evilrobot-01 Jul 30, 2025
9f75182
feat(pallets/api): add messaging precompiles
evilrobot-01 Jul 7, 2025
01d46cc
feat(devnet): add messaging pallet
evilrobot-01 Jul 7, 2025
36d3912
feat(api): add initial messaging apis
evilrobot-01 Jul 7, 2025
8365e73
feat(api): add messaging example
evilrobot-01 Jul 7, 2025
ef237b8
refactor(api): update callback encoding
evilrobot-01 Jul 7, 2025
6328d4a
build(pallets/api): add empty ismp feature
evilrobot-01 Jul 8, 2025
97b47c1
refactor: port on_initialize hook implementation
evilrobot-01 Jul 8, 2025
9b26b35
style: formatting
evilrobot-01 Jul 8, 2025
7051189
build(pallets/api): adjust ismp feature
evilrobot-01 Jul 8, 2025
ed8e102
feat(pallets/api): add messaging benchmarks
evilrobot-01 Jul 10, 2025
4a3c8c6
refactor(ismp): use u64 height
evilrobot-01 Jul 10, 2025
46526f1
refactor(api): update imports after rebase
evilrobot-01 Jul 14, 2025
3e468d0
style: formatting after rebase
evilrobot-01 Jul 14, 2025
a77d726
fix: remove duplicate imports after rebase
evilrobot-01 Jul 14, 2025
b3be44a
refactor(api): add initial messaging error handling
evilrobot-01 Jul 14, 2025
6f8c485
test(api): add error tests
evilrobot-01 Jul 15, 2025
a2ee147
test(pallets/api): add remove tests
evilrobot-01 Jul 15, 2025
838580b
test(pallets/api): add new_query tests
evilrobot-01 Jul 17, 2025
3baef17
test(pallets/api): add call tests
evilrobot-01 Jul 17, 2025
640e9a6
test(pallets/api): add process_callback_weight tests
evilrobot-01 Jul 18, 2025
2796c91
test(pallets/api): add deposit_callback_event tests
evilrobot-01 Jul 18, 2025
035a846
test(pallets/api): add fee management test
evilrobot-01 Jul 18, 2025
818358a
test(pallets/api): add xcm_response tests
evilrobot-01 Jul 18, 2025
5b5bb7b
test(pallets/api): add ismp tests
evilrobot-01 Jul 18, 2025
48216b7
refactor: limit ismp_response helper to tests
evilrobot-01 Jul 20, 2025
d90c801
refactor(pallets/api): use try_convert
evilrobot-01 Jul 20, 2025
1a40485
refactor(pallets/api): update messaging weights
evilrobot-01 Jul 20, 2025
ec822ad
refactor(pallets/api): use global message identifier
evilrobot-01 Jul 21, 2025
e8baf0c
refactor(pallets/api): update weights after benchmarking
evilrobot-01 Jul 21, 2025
3564e7b
fix(pallets/api): replace bounded_vec! usage within benchmarks
evilrobot-01 Jul 22, 2025
d5a5849
refactor(pallets/api): callback response interfaces and encoding
evilrobot-01 Jul 24, 2025
b02fdc9
refactor(api): precompile and callback trait and type encoding
evilrobot-01 Jul 24, 2025
938bb7d
feat(devnet): add messaging precompiles
evilrobot-01 Jul 24, 2025
e84e6dc
test(api): add initial messaging integration tests
evilrobot-01 Jul 24, 2025
dbd86fd
test(api): update ink dependency
evilrobot-01 Jul 24, 2025
51116c9
refactor(api): update ink dependency
evilrobot-01 Jul 24, 2025
f239707
test(api): restore onpostresponse handler
evilrobot-01 Jul 24, 2025
fd341ca
test(pallets/api): fix tests after refactor
evilrobot-01 Jul 24, 2025
e83b6a7
test(api): add ismp post integration tests
evilrobot-01 Jul 24, 2025
9d410b6
refactor(pallets/api): rename response handler functions due to selector
evilrobot-01 Jul 24, 2025
bf2eca0
refactor(api): rename response handler functions due to selector clashes
evilrobot-01 Jul 24, 2025
35dd0e0
test(api): add xcm messaging integration tests
evilrobot-01 Jul 24, 2025
ccfeeab
build(api): updating ink to master
evilrobot-01 Jul 25, 2025
bb92631
docs(pallets/api): remove unnecessary todos
evilrobot-01 Jul 28, 2025
13617a5
docs(api): remove unnecessary todos
evilrobot-01 Jul 28, 2025
a4317d3
docs(api): add hashed_account function docs
evilrobot-01 Jul 28, 2025
859bc77
feat(pallets/api): add (para) id getter to messaging precompiles
evilrobot-01 Jul 28, 2025
f647c61
feat(api): add (para) id getter to apis
evilrobot-01 Jul 28, 2025
8291b32
test(api): add (para) id getter integration test
evilrobot-01 Jul 28, 2025
2b163f0
refactor(api): update messaging example with improvements
evilrobot-01 Jul 28, 2025
ba90462
refactor(api): improve return types of xcm execute and send helpers
evilrobot-01 Jul 28, 2025
70f9a08
refactor(api): use ink_abi cfg for callback encoding
evilrobot-01 Jul 28, 2025
1a5c74c
refactor(pallets/api): restore ismp deposits
evilrobot-01 Jul 28, 2025
e07c1e0
test(pallets/api): increase message deposit
evilrobot-01 Jul 28, 2025
b71c53e
docs(pallets/api): update comments on necessary clones of bytes type
evilrobot-01 Jul 28, 2025
d083595
refactor(pallets/api): better handling of invalid callback encoding
evilrobot-01 Jul 28, 2025
6b2e13c
test(api): apply reduced initial value, gas, storage limits
evilrobot-01 Jul 28, 2025
dd70b84
fix(pallets/api): surface storage deposit limit into callback
evilrobot-01 Jul 29, 2025
f76ace4
fix(api): allow specification of storage deposit limit for callback
evilrobot-01 Jul 29, 2025
e4634bc
test(api): ensure storage deposit limit works
evilrobot-01 Jul 29, 2025
24e87f8
refactor(devnet): update callbackexecutor.execute implementation to use
evilrobot-01 Jul 29, 2025
bc66a67
refactor(api): update messaging example contract with storage deposit
evilrobot-01 Jul 29, 2025
3cd2f5a
fix(pallets/api): allow caller to specify ismp post recipient
evilrobot-01 Jul 29, 2025
a9bfc93
fix(api): allow caller to specify ismp post recipient module/address
evilrobot-01 Jul 29, 2025
49caa0c
test(api): specify ismp post recipient mpdule/address
evilrobot-01 Jul 29, 2025
1f5b540
refactor(devnet): configure max ismp post module/address length as 32
evilrobot-01 Jul 29, 2025
c46539a
docs(pallets/api): remove messageid size todo
evilrobot-01 Jul 29, 2025
373e721
refactor(pallets/api): add simple on_accept benchmark for consistency,
evilrobot-01 Jul 29, 2025
b15db2f
refactor(devnet): name ismp module via import alias
evilrobot-01 Jul 29, 2025
9ed2280
refactor(devnet): add ismp weight provider
evilrobot-01 Jul 29, 2025
15a86fc
docs(pallets/api): remove todo after tests added
evilrobot-01 Jul 29, 2025
032ba82
test(pallets/api): add integrity test to ensure maxresponselen
evilrobot-01 Jul 29, 2025
719caa1
refactor(pallets/api): update integrity test to include values
evilrobot-01 Jul 30, 2025
435784e
refactor(pallets/api): update tryconvert usages to dispatcherror after
evilrobot-01 Jul 31, 2025
30e8cb0
chore: update cargo.lock
evilrobot-01 Jul 31, 2025
7abda7b
chore(api): update cargo.lock for messaging contract
evilrobot-01 Jul 31, 2025
28ab13e
refactor(pallets/api): use improved origin
evilrobot-01 Jul 31, 2025
39a6768
refactor(pallets/api): wrap fallible calls in closure to map errors
evilrobot-01 Jul 31, 2025
34b5ae3
refactor(pallets/api): use try_convert to simplify safe conversion
evilrobot-01 Jul 31, 2025
b5bc7ec
refactor(pallets/api): ensure all errors apart from insufficient gas
evilrobot-01 Jul 31, 2025
f4ef8ed
refactor(api): ensure full error coverage
evilrobot-01 Jul 31, 2025
c08c5b9
test(api): update callback gas limits
evilrobot-01 Jul 31, 2025
0e2c0af
docs(api): add readmes
evilrobot-01 Jul 31, 2025
73a696d
docs(api): relocate messaging within readme
evilrobot-01 Jul 31, 2025
5c0bbfb
docs(pallet-api): add weights overview from original pr
evilrobot-01 Jul 31, 2025
db7c4d1
docs(pallets-api): relocate weights.md
evilrobot-01 Jul 31, 2025
3e0e67b
docs(pallet-api): add description to messaging module
evilrobot-01 Jul 31, 2025
c12f33a
docs(pallet-api): add readme
evilrobot-01 Jul 31, 2025
205b2b9
docs(pallet-api): add initial messaging readme
evilrobot-01 Jul 31, 2025
9af7734
docs(pallets/api): add diagrams to messaging readme
evilrobot-01 Jul 31, 2025
fc3418f
messaging
Daanvdplas Aug 21, 2025
2ccf4b3
fmt
Daanvdplas Aug 21, 2025
5377bcd
fix: build
Daanvdplas Aug 21, 2025
47bd4c6
refactor: remove mutability
Daanvdplas Aug 25, 2025
77c763a
refactor: add mut
Daanvdplas Aug 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 18 additions & 5 deletions .github/actions/init/action.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
name: Initialize
description: This action initializes a runner for use in other actions.
inputs:
cache:
description: Whether to enable Rust caching. Defaults to true.
default: "true"
cache-all-crates:
description: Whether all crates should be cached, or only dependent crates. Defaults to true.
default: "true"
cache-directories:
description: Additional non-workspace directories to be cached, separated by newlines.
cache-on-failure:
description: Cache even if the build fails. Defaults to false.
default: "true"
cache-key:
description: "The key to be used for the cache"
description: An additional optional key to be added. Useful for jobs utilizing a matrix.

runs:
using: "composite"
Expand All @@ -25,8 +36,10 @@ runs:
sudo rm -rf "$AGENT_TOOLSDIRECTORY"

- name: Rust Cache
uses: Swatinem/[email protected]
if: ${{ inputs.cache == 'true' }}
uses: Swatinem/[email protected]
with:
cache-on-failure: true
cache-all-crates: true
key: ${{ inputs.cache-key }}
cache-all-crates: ${{ inputs.cache-all-crates }}
cache-directories: ${{ inputs.cache-directories }}
cache-on-failure: ${{ inputs.cache-on-failure }}
key: ${{ inputs.cache-key }}
37 changes: 23 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

on:
push:
branches: [ main ]
branches: [main]
pull_request:
types: [ opened, synchronize, reopened, ready_for_review ]
types: [opened, synchronize, reopened, ready_for_review]

concurrency:
# Cancel any in-progress jobs for the same pull request
Expand Down Expand Up @@ -53,20 +53,20 @@
- uses: "./.github/actions/init"

- name: Check Build
# TODO: restore runtime-benchmarks once revive benchmarks resolved
run: |
cargo check --release --locked --workspace --exclude integration-tests --features=try-runtime
cargo check --release --locked --workspace --exclude integration-tests --features=runtime-benchmarks,try-runtime

check-ismp:
needs: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: "./.github/actions/init"

- name: Check Build with ISMP
# TODO: restore runtime-benchmarks once revive benchmarks resolved
run: |
cargo check --release --locked --workspace --exclude integration-tests --features=ismp,try-runtime
cargo check --release --locked --workspace --exclude integration-tests --features=ismp,runtime-benchmarks,try-runtime

clippy:
needs: lint
Expand All @@ -85,8 +85,7 @@
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
# TODO: restore runtime-benchmarks once revive benchmarks resolved
args: --release --locked --workspace --exclude integration-tests
args: --release --locked --workspace --exclude integration-tests --features=runtime-benchmarks

clippy-ismp:
needs: lint
Expand All @@ -105,8 +104,7 @@
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
# TODO: restore runtime-benchmarks once revive benchmarks resolved
args: --release --locked --workspace --exclude integration-tests --features=ismp
args: --release --locked --workspace --exclude integration-tests --features=runtime-benchmarks,ismp

test:
needs: lint
Expand All @@ -117,8 +115,7 @@
- uses: "./.github/actions/init"

- name: Run tests
# TODO: restore runtime-benchmarks once revive benchmarks resolved
run: cargo test --release --locked --workspace --exclude integration-tests --exclude pop-api-integration-tests
run: cargo test --release --locked --workspace --exclude integration-tests --exclude pop-api-integration-tests --exclude pop-api-vnext-integration-tests --features=runtime-benchmarks

integration-tests:
needs: lint
Expand Down Expand Up @@ -155,7 +152,20 @@
- name: Run API integration tests
run: cargo test -p pop-api-integration-tests --release --locked --features "${{ matrix.features }}"

api-vnext-integration-tests:
needs: lint
runs-on: ubuntu-latest
env:
RUSTFLAGS: '--cfg ink_abi="all"'
steps:
- uses: actions/checkout@v4

- uses: "./.github/actions/init"

- name: Run API integration tests
run: cargo test -p pop-api-vnext-integration-tests --release --locked

api-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -199,8 +209,7 @@
uses: taiki-e/install-action@cargo-llvm-cov

- name: Generate code coverage
# TODO: restore runtime-benchmarks once revive benchmarks resolved
run: cargo llvm-cov --features=try-runtime,ismp --workspace --exclude integration-tests --exclude pop-api-integration-tests --lib --bins --codecov --output-path codecov.json
run: cargo llvm-cov --features=runtime-benchmarks,try-runtime,ismp --workspace --exclude integration-tests --exclude pop-api-integration-tests --exclude pop-api-vnext-integration-tests --lib --bins --codecov --output-path codecov.json

- name: Upload to codecov.io
uses: codecov/codecov-action@v4
Expand Down
Loading
Loading