ci: монтировать pristine-копию node-config через mktemp + запас по таймауту
Настоящая причина падения integration — не медленный старт, а краш узла: 'plugin_config_exception: Incorrect plugin configuration'. nodeos генерирует protocol_features/*.json в смонтированный config-каталог; при монтировании самого workspace эти untracked root-файлы остаются между прогонами на персистентном раннере и ломают конфиг. Монтируем свежую копию в mktemp-каталог — узел стартует на чистом конфиге. Заодно sleep 4 (бюджет ожидания ~8 мин). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -89,9 +89,17 @@ jobs:
|
||||
# с фиксированным именем blockchain, и следующий docker run падает с
|
||||
# exit 125 (Conflict, name already in use). Сносим остаток перед стартом.
|
||||
docker rm -f blockchain 2>/dev/null || true
|
||||
# nodeos на старте генерирует protocol_features/*.json В смонтированный
|
||||
# config-каталог. Если монтировать сам workspace, эти файлы остаются в нём
|
||||
# (untracked, root-owned — checkout --force их не чистит) и на следующем
|
||||
# прогоне ломают узел: 'plugin_config_exception: Incorrect plugin
|
||||
# configuration'. Монтируем pristine-копию во временном каталоге — узел
|
||||
# пишет сгенерированное туда, workspace остаётся чистым.
|
||||
CONFIG_DIR=$(mktemp -d)
|
||||
cp "${GITHUB_WORKSPACE}/packages/parser2/test/integration/node-config/"* "$CONFIG_DIR/"
|
||||
docker run -d --name blockchain \
|
||||
-p 8888:8888 -p 8080:8080 -p 9876:9876 \
|
||||
-v "${GITHUB_WORKSPACE}/packages/parser2/test/integration/node-config:/mnt/dev/config" \
|
||||
-v "$CONFIG_DIR:/mnt/dev/config" \
|
||||
dicoop/blockchain:v5.1.0-dev \
|
||||
/bin/bash -c '/usr/local/bin/nodeos -d /mnt/dev/data -p eosio --config-dir /mnt/dev/config --genesis-json /mnt/dev/config/genesis.json --disable-replay-opts'
|
||||
sleep 3
|
||||
@@ -106,7 +114,7 @@ jobs:
|
||||
exit 0
|
||||
fi
|
||||
echo " attempt $i/120..."
|
||||
sleep 2
|
||||
sleep 4
|
||||
done
|
||||
echo "ERROR: Chain API did not become ready. Container logs:"
|
||||
docker logs blockchain | tail -100
|
||||
|
||||
Reference in New Issue
Block a user