diff --git a/polkadot/.gitlab-ci.yml b/polkadot/.gitlab-ci.yml
index 96b6852434c627293d8c04d8c7cb54f42a497394..1c8bf74f56acf3a302c58383fe8fd351f0316a09 100644
--- a/polkadot/.gitlab-ci.yml
+++ b/polkadot/.gitlab-ci.yml
@@ -27,7 +27,7 @@ variables:
   CI_IMAGE:                        "paritytech/ci-linux:production"
   DOCKER_OS:                       "debian:stretch"
   ARCH:                            "x86_64"
-  ZOMBIENET_IMAGE:                 "docker.io/paritytech/zombienet:v1.1.4"
+  ZOMBIENET_IMAGE:                 "docker.io/paritytech/zombienet:v1.2.3"
   VAULT_SERVER_URL:                "https://vault.parity-mgmt-vault.parity.io"
   VAULT_AUTH_PATH:                 "gitlab-parity-io-jwt"
   VAULT_AUTH_ROLE:                 "cicd_gitlab_parity_${CI_PROJECT_NAME}"
@@ -651,6 +651,42 @@ zombienet-tests-parachains-smoke-test:
   tags:
     - zombienet-polkadot-integration-test
 
+zombienet-test-parachains-upgrade-smoke-test:
+  stage:                           deploy
+  image:                           "${ZOMBIENET_IMAGE}"
+  <<:                              *kubernetes-env
+  rules:
+    - if: $CI_PIPELINE_SOURCE == "schedule"
+    - if: $CI_COMMIT_REF_NAME == "master"
+    - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/                         # PRs
+    - if: $CI_COMMIT_REF_NAME == "rococo-v1"
+  needs:
+    - job:                         publish-polkadot-image
+    - job:                         publish-malus-image
+    - job:                         publish-adder-collator-image
+
+  variables:
+    GH_DIR:                        'https://github.com/paritytech/polkadot/tree/${CI_COMMIT_SHORT_SHA}/zombienet_tests/parachains'
+
+  before_script:
+    - echo "ZombieNet Tests Config"
+    - echo "docker.io/parity/polkadot:latest"
+    - echo "docker.io/parity/polkadot-collator:latest"
+    - echo "${ZOMBIENET_IMAGE}"
+    - echo "${GH_DIR}"
+    - export DEBUG=zombie,zombie::network-node
+    - export ZOMBIENET_INTEGRATION_TEST_IMAGE="docker.io/parity/polkadot:latest" # Use polkadot latest image
+    - export COL_IMAGE="docker.io/parity/polkadot-collator:latest" # Use cumulus lastest image
+
+  script:
+    - /home/nonroot/zombie-net/scripts/run-test-env-manager.sh
+        --github-remote-dir="${GH_DIR}"
+        --test="0002-parachains-upgrade-smoke-test.feature"
+  allow_failure:                   true
+  retry: 2
+  tags:
+    - zombienet-polkadot-integration-test
+
 zombienet-tests-malus-dispute-valid:
   stage:                           deploy
   image:                           "${ZOMBIENET_IMAGE}"
diff --git a/polkadot/zombienet_tests/parachains/0002-parachains-upgrade-smoke-test.feature b/polkadot/zombienet_tests/parachains/0002-parachains-upgrade-smoke-test.feature
new file mode 100644
index 0000000000000000000000000000000000000000..ac8f35a6ce5eaf1127a4c40315d47d4ecac6a0b3
--- /dev/null
+++ b/polkadot/zombienet_tests/parachains/0002-parachains-upgrade-smoke-test.feature
@@ -0,0 +1,11 @@
+Description: Smoke Test
+Network: ./0002-parachains-upgrade-smoke-test.toml
+Creds: config
+
+
+alice: is up
+bob: is up
+alice: parachain 100 is registered within 225 seconds
+alice: parachain 100 block height is at least 10 within 400 seconds
+alice: parachain 100 perform dummy upgrade within 200 seconds
+alice: parachain 100 block height is at least 14 within 200 seconds
diff --git a/polkadot/zombienet_tests/parachains/0002-parachains-upgrade-smoke-test.toml b/polkadot/zombienet_tests/parachains/0002-parachains-upgrade-smoke-test.toml
new file mode 100644
index 0000000000000000000000000000000000000000..e0a27799deec5f108c0b76c73fdd9796659196c8
--- /dev/null
+++ b/polkadot/zombienet_tests/parachains/0002-parachains-upgrade-smoke-test.toml
@@ -0,0 +1,36 @@
+[settings]
+timeout = 1000
+
+[relaychain]
+default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}"
+chain = "rococo-local"
+command = "polkadot"
+
+  [[relaychain.nodes]]
+  name = "alice"
+  extra_args = [ "--alice" ]
+
+  [[relaychain.nodes.env]]
+  name = "RUST_LOG"
+  value = "runtime=debug,parachain=trace,cumulus-collator=trace,aura=trace"
+
+  [[relaychain.nodes]]
+  name = "bob"
+  extra_args = [ "--bob" ]
+
+  [[relaychain.nodes.env]]
+  name = "RUST_LOG"
+  value = "runtime=debug,parachain=trace,cumulus-collator=trace,aura=trace"
+
+[[parachains]]
+id = 100
+addToGenesis = true
+
+  [parachains.collator]
+  name = "collator01"
+  image = "{{COL_IMAGE}}"
+  commandWithArgs = "polkadot-collator --collator --alice --force-authoring --tmp --parachain-id 100 --rpc-cors all --unsafe-rpc-external --rpc-methods unsafe --unsafe-ws-external -- --execution wasm --chain /cfg/rococo-local.json --bootnodes /dns/bootnode/tcp/30333/p2p/12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp"
+
+  [[parachains.collator.env]]
+  name = "RUST_LOG"
+  value = "runtime=debug,parachain=trace,cumulus-collator=trace,aura=trace"