Je reviens sur cette idée avec plus de connaissances docker, et voici ce que je propose :
# monter le code dans /build, mais un volume dans /build/runtime/gtest/target
$ podman run --rm -i \
-e PACKAGE=gtest-runtime \
-e RUNTIME_DIR=runtime/gtest \
-v $PWD:/build \
-v srtooloutput:/build/runtime/gtest/target \
docker.io/paritytech/srtool:1.88.0 build --app --json -cM
Si vous voulez récupérer le binaire wasm pour l’uploader par exemple, il est dans le volume srtooloutput :
# utiliser la même image en montant le volume conservé
$ podman run --rm -i -v srtooloutput:/srtooloutput --entrypoint bash docker.io/paritytech/srtool:1.88.0
# regarder ce qu'il y a dedans
$ ls -lh /srtooloutput/srtool/release/wbuild/gtest-runtime/gtest_runtime.compact.compressed.wasm
-rw-r--r-- 1 builder builder 743K Mar 4 13:21 /srtooloutput/srtool/release/wbuild/gtest-runtime/gtest_runtime.compact.compressed.wasm
Le résultat en json ressemble à ça :
{
"gen": "srtool v0.18.3",
"src": "git",
"version": "1.0.0",
"commit": "e205c35a0aa985167289e963bd1d8d57e0bf45cc",
"tag": "runtime-1100",
"branch": "hugo/local",
"rustc": "rustc 1.88.0 (6b00bc388 2025-06-23)",
"pkg": "gtest-runtime",
"tmsp": "2026-03-04T13:23:00Z",
"size": "760816",
"prop": "0x2cdca5ab77fc8afdeaea8297cdb03e77a50fabfb84d599713a5a9255aa300060",
"authorize_upgrade_prop": "0x26c01e9b4311b6e8fd35bf8fd41d86207ae42618bde587c346ff73183c7f13b1",
"ipfs": "QmZQvnwkFLor5dKuyxGbj1A7nWvDf57cXLhCgZNbG3otjG",
"sha256": "0x68f4e31e3a197979a5525e1bd868e2a1d268b7015db71880cc6696a30bdf8ac3",
"wasm": "runtime/gtest/target/srtool/release/wbuild/gtest-runtime/gtest_runtime.compact.compressed.wasm",
"info": {
"generator": {
"name": "srtool",
"version": "0.18.3"
},
"src": "git",
"version": "1.0.0",
"git": {
"commit": "e205c35a0aa985167289e963bd1d8d57e0bf45cc",
"tag": "",
"branch": "hugo/local"
},
"rustc": "rustc 1.88.0 (6b00bc388 2025-06-23)",
"pkg": "gtest-runtime",
"profile": "release"
},
"context": {
"package": "gtest-runtime",
"runtime_dir": "runtime/gtest",
"docker": {
"image": "paritytech/srtool",
"tag": "1.88.0"
},
"profile": "release"
},
"runtimes": {
"compact": {
"tmsp": "2026-03-04T13:22:55Z",
"size": "3308717",
"prop": "0x887dbc60298bb5eba24215a3c0cf90e124822a439998aaf849bcf9da05f0efe5",
"authorize_upgrade_prop": "0xb5a2df88f3d27ab0933232f4d94a349ba3bf675ccef2a166e8839ba8f4d11caa",
"blake2_256": "0x1ae8b409f8e1fd11f013d5f3dd73ea6b97fae4e19cf2791580aa9f163c83a3f4",
"ipfs": "QmSV2bYAQX441hVchPgQe4YY36FCjRzbfd8My9GUF2y2bX",
"sha256": "0x3fa041ba398a5cd09f9e7ef6f07d015c1b65b53a73f83bed5855d1a97f2db7e6",
"wasm": "runtime/gtest/target/srtool/release/wbuild/gtest-runtime/gtest_runtime.compact.wasm",
"subwasm": {
"size": 3308717,
"compression": {
"size_compressed": 3308717,
"size_decompressed": 3308717,
"compressed": false
},
"reserved_meta": [
109,
101,
116,
97
],
"reserved_meta_valid": true,
"metadata_version": 14,
"core_version": {
"specName": "gtest",
"implName": "duniter-gtest",
"authoringVersion": 1,
"specVersion": 1100,
"implVersion": 1,
"apis": [
[
"0x687ad44ad37f03c2",
1
],
[
"0xcbca25e39f142387",
2
],
[
"0xdf6acb689907609b",
5
],
[
"0x37e397fc7c91f5e4",
2
],
[
"0x40fe3ad401f8959a",
6
],
[
"0xd2bc9897eed08f15",
3
],
[
"0xf78b278be53f454c",
2
],
[
"0xab3c0572291feb8b",
1
],
[
"0xed99c5acb25eedf5",
3
],
[
"0xbc9d89904f5b923f",
1
],
[
"0x37c8bb1350a9a2a8",
4
],
[
"0x507611b657f74689",
1
],
[
"0xe777217989a89d9e",
1
],
[
"0xfbc577b9d747efd6",
1
]
],
"transactionVersion": 1,
"stateVersion": 1
},
"proposal_hash": "0x887dbc60298bb5eba24215a3c0cf90e124822a439998aaf849bcf9da05f0efe5",
"parachain_authorize_upgrade_hash": "0xb5a2df88f3d27ab0933232f4d94a349ba3bf675ccef2a166e8839ba8f4d11caa",
"ipfs_hash": "QmSV2bYAQX441hVchPgQe4YY36FCjRzbfd8My9GUF2y2bX",
"blake2_256": "0x1ae8b409f8e1fd11f013d5f3dd73ea6b97fae4e19cf2791580aa9f163c83a3f4"
}
},
"compressed": {
"tmsp": "2026-03-04T13:21:52Z",
"size": "760816",
"prop": "0x2cdca5ab77fc8afdeaea8297cdb03e77a50fabfb84d599713a5a9255aa300060",
"authorize_upgrade_prop": "0x26c01e9b4311b6e8fd35bf8fd41d86207ae42618bde587c346ff73183c7f13b1",
"blake2_256": "0x87592e7a3f47558f2bb2194e236629bab8fbe894675a5d3e91662499c07c9cf8",
"ipfs": "QmZQvnwkFLor5dKuyxGbj1A7nWvDf57cXLhCgZNbG3otjG",
"sha256": "0x68f4e31e3a197979a5525e1bd868e2a1d268b7015db71880cc6696a30bdf8ac3",
"wasm": "runtime/gtest/target/srtool/release/wbuild/gtest-runtime/gtest_runtime.compact.compressed.wasm",
"subwasm": {
"size": 760816,
"compression": {
"size_compressed": 760816,
"size_decompressed": 3308717,
"compressed": true
},
"reserved_meta": [
109,
101,
116,
97
],
"reserved_meta_valid": true,
"metadata_version": 14,
"core_version": {
"specName": "gtest",
"implName": "duniter-gtest",
"authoringVersion": 1,
"specVersion": 1100,
"implVersion": 1,
"apis": [
[
"0x687ad44ad37f03c2",
1
],
[
"0xcbca25e39f142387",
2
],
[
"0xdf6acb689907609b",
5
],
[
"0x37e397fc7c91f5e4",
2
],
[
"0x40fe3ad401f8959a",
6
],
[
"0xd2bc9897eed08f15",
3
],
[
"0xf78b278be53f454c",
2
],
[
"0xab3c0572291feb8b",
1
],
[
"0xed99c5acb25eedf5",
3
],
[
"0xbc9d89904f5b923f",
1
],
[
"0x37c8bb1350a9a2a8",
4
],
[
"0x507611b657f74689",
1
],
[
"0xe777217989a89d9e",
1
],
[
"0xfbc577b9d747efd6",
1
]
],
"transactionVersion": 1,
"stateVersion": 1
},
"proposal_hash": "0x2cdca5ab77fc8afdeaea8297cdb03e77a50fabfb84d599713a5a9255aa300060",
"parachain_authorize_upgrade_hash": "0x26c01e9b4311b6e8fd35bf8fd41d86207ae42618bde587c346ff73183c7f13b1",
"ipfs_hash": "QmZQvnwkFLor5dKuyxGbj1A7nWvDf57cXLhCgZNbG3otjG",
"blake2_256": "0x87592e7a3f47558f2bb2194e236629bab8fbe894675a5d3e91662499c07c9cf8"
}
}
}
}