From 1ab2f6b4936c9246ce95b894fbbd786ae7695f25 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Wed, 22 Apr 2026 15:14:23 +0300 Subject: [PATCH 01/27] chore: add resolutions to smoke tests --- tests/smoke/basic/package.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/smoke/basic/package.json b/tests/smoke/basic/package.json index 3653af547f..f45ad221e6 100644 --- a/tests/smoke/basic/package.json +++ b/tests/smoke/basic/package.json @@ -13,5 +13,8 @@ "redocly-respect": "redocly respect museum-tickets.arazzo.yaml" }, "author": "redocly", - "license": "ISC" + "license": "ISC", + "resolutions": { + "@redocly/config": "latest" + } } From a4fe0f68d33bd4bf4d6f005fa67aa81dbc12e88d Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Wed, 22 Apr 2026 15:18:45 +0300 Subject: [PATCH 02/27] chore: add overrides --- tests/smoke/basic/package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/smoke/basic/package.json b/tests/smoke/basic/package.json index f45ad221e6..9db5a56542 100644 --- a/tests/smoke/basic/package.json +++ b/tests/smoke/basic/package.json @@ -16,5 +16,8 @@ "license": "ISC", "resolutions": { "@redocly/config": "latest" + }, + "overrides": { + "@redocly/config": "latest" } } From 7396cdd07da7639bfcb2a76fd27b3b8ecf77430a Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Wed, 22 Apr 2026 15:22:33 +0300 Subject: [PATCH 03/27] chore: add pnpm overrides --- tests/smoke/basic/package.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/smoke/basic/package.json b/tests/smoke/basic/package.json index 9db5a56542..379700ef7a 100644 --- a/tests/smoke/basic/package.json +++ b/tests/smoke/basic/package.json @@ -19,5 +19,10 @@ }, "overrides": { "@redocly/config": "latest" + }, + "pnpm": { + "overrides": { + "@redocly/config": "latest" + } } } From cb57a7c3bbcc10c47367b2651fb28bbd6339d5e6 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Wed, 22 Apr 2026 15:42:37 +0300 Subject: [PATCH 04/27] feat: add scipt to pull current installed version of config --- tests/smoke/basic/package.json | 13 +------------ tests/smoke/basic/prepare-smoke.sh | 13 +++++++++++++ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/tests/smoke/basic/package.json b/tests/smoke/basic/package.json index 379700ef7a..3653af547f 100644 --- a/tests/smoke/basic/package.json +++ b/tests/smoke/basic/package.json @@ -13,16 +13,5 @@ "redocly-respect": "redocly respect museum-tickets.arazzo.yaml" }, "author": "redocly", - "license": "ISC", - "resolutions": { - "@redocly/config": "latest" - }, - "overrides": { - "@redocly/config": "latest" - }, - "pnpm": { - "overrides": { - "@redocly/config": "latest" - } - } + "license": "ISC" } diff --git a/tests/smoke/basic/prepare-smoke.sh b/tests/smoke/basic/prepare-smoke.sh index b86b57287a..f271bacfa4 100644 --- a/tests/smoke/basic/prepare-smoke.sh +++ b/tests/smoke/basic/prepare-smoke.sh @@ -5,6 +5,19 @@ npm run pack:prepare cp ./redocly-cli.tgz ./openapi-core.tgz ./respect-core.tgz resources/pets.yaml resources/museum.yaml resources/museum-tickets.arazzo.yaml ./tests/smoke/basic/ +# Pin @redocly/config to the exact version used by openapi-core to prevent yarn from resolving an older incompatible version +REDOCLY_CONFIG_VERSION=$(node -e "const fs = require('fs'); const p = JSON.parse(fs.readFileSync('./packages/core/package.json', 'utf8')); console.log(p.dependencies['@redocly/config'].replace(/\^/, ''));") +echo "Pinning @redocly/config to $REDOCLY_CONFIG_VERSION in smoke test overrides" +node -e " + const fs = require('fs'); + const path = './tests/smoke/basic/package.json'; + const pkg = JSON.parse(fs.readFileSync(path, 'utf8')); + pkg.resolutions['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; + pkg.overrides['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; + pkg.pnpm.overrides['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; + fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + '\n'); +" + echo "Current directory:" pwd echo From a120ae331aa4d46564a5f702aa3e50e244be296c Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Wed, 22 Apr 2026 15:48:35 +0300 Subject: [PATCH 05/27] chore: move script into separate file --- tests/smoke/basic/pin-config-version.sh | 15 +++++++++++++++ tests/smoke/basic/prepare-smoke.sh | 13 +------------ 2 files changed, 16 insertions(+), 12 deletions(-) create mode 100755 tests/smoke/basic/pin-config-version.sh diff --git a/tests/smoke/basic/pin-config-version.sh b/tests/smoke/basic/pin-config-version.sh new file mode 100755 index 0000000000..ec6e0b8b04 --- /dev/null +++ b/tests/smoke/basic/pin-config-version.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +REDOCLY_CONFIG_VERSION=$(node -e "const fs = require('fs'); const p = JSON.parse(fs.readFileSync('./packages/core/package.json', 'utf8')); console.log(p.dependencies['@redocly/config'].replace(/\^/, ''));") + +echo "Pinning @redocly/config to $REDOCLY_CONFIG_VERSION in smoke test overrides" + +node -e " + const fs = require('fs'); + const path = './tests/smoke/basic/package.json'; + const pkg = JSON.parse(fs.readFileSync(path, 'utf8')); + pkg.resolutions['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; + pkg.overrides['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; + pkg.pnpm.overrides['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; + fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + '\n'); +" diff --git a/tests/smoke/basic/prepare-smoke.sh b/tests/smoke/basic/prepare-smoke.sh index f271bacfa4..dbc5363a47 100644 --- a/tests/smoke/basic/prepare-smoke.sh +++ b/tests/smoke/basic/prepare-smoke.sh @@ -5,18 +5,7 @@ npm run pack:prepare cp ./redocly-cli.tgz ./openapi-core.tgz ./respect-core.tgz resources/pets.yaml resources/museum.yaml resources/museum-tickets.arazzo.yaml ./tests/smoke/basic/ -# Pin @redocly/config to the exact version used by openapi-core to prevent yarn from resolving an older incompatible version -REDOCLY_CONFIG_VERSION=$(node -e "const fs = require('fs'); const p = JSON.parse(fs.readFileSync('./packages/core/package.json', 'utf8')); console.log(p.dependencies['@redocly/config'].replace(/\^/, ''));") -echo "Pinning @redocly/config to $REDOCLY_CONFIG_VERSION in smoke test overrides" -node -e " - const fs = require('fs'); - const path = './tests/smoke/basic/package.json'; - const pkg = JSON.parse(fs.readFileSync(path, 'utf8')); - pkg.resolutions['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; - pkg.overrides['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; - pkg.pnpm.overrides['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; - fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + '\n'); -" +bash ./tests/smoke/basic/pin-config-version.sh echo "Current directory:" pwd From 3e06e6209c9270474e1f79e0f13eebdcf53ffb98 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Wed, 22 Apr 2026 15:56:55 +0300 Subject: [PATCH 06/27] chore: remove pnpm overrides --- tests/smoke/basic/pin-config-version.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/smoke/basic/pin-config-version.sh b/tests/smoke/basic/pin-config-version.sh index ec6e0b8b04..c23a2f2053 100755 --- a/tests/smoke/basic/pin-config-version.sh +++ b/tests/smoke/basic/pin-config-version.sh @@ -10,6 +10,5 @@ node -e " const pkg = JSON.parse(fs.readFileSync(path, 'utf8')); pkg.resolutions['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; pkg.overrides['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; - pkg.pnpm.overrides['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + '\n'); " From e7827c68c63305d6ef2425c0cb537cb308b647e3 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Wed, 22 Apr 2026 16:12:52 +0300 Subject: [PATCH 07/27] feat: add different fix to pack config from node_modules --- tests/smoke/basic/pin-config-version.sh | 7 ++++--- tests/smoke/basic/prepare-smoke.sh | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/smoke/basic/pin-config-version.sh b/tests/smoke/basic/pin-config-version.sh index c23a2f2053..63e2e3dc19 100755 --- a/tests/smoke/basic/pin-config-version.sh +++ b/tests/smoke/basic/pin-config-version.sh @@ -2,13 +2,14 @@ REDOCLY_CONFIG_VERSION=$(node -e "const fs = require('fs'); const p = JSON.parse(fs.readFileSync('./packages/core/package.json', 'utf8')); console.log(p.dependencies['@redocly/config'].replace(/\^/, ''));") -echo "Pinning @redocly/config to $REDOCLY_CONFIG_VERSION in smoke test overrides" +TARBALL_REF="file:./redocly-config-${REDOCLY_CONFIG_VERSION}.tgz" +echo "Pinning @redocly/config to $TARBALL_REF in smoke test overrides" node -e " const fs = require('fs'); const path = './tests/smoke/basic/package.json'; const pkg = JSON.parse(fs.readFileSync(path, 'utf8')); - pkg.resolutions['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; - pkg.overrides['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; + pkg.resolutions['@redocly/config'] = '$TARBALL_REF'; + pkg.overrides['@redocly/config'] = '$TARBALL_REF'; fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + '\n'); " diff --git a/tests/smoke/basic/prepare-smoke.sh b/tests/smoke/basic/prepare-smoke.sh index dbc5363a47..e883f2a98e 100644 --- a/tests/smoke/basic/prepare-smoke.sh +++ b/tests/smoke/basic/prepare-smoke.sh @@ -5,6 +5,8 @@ npm run pack:prepare cp ./redocly-cli.tgz ./openapi-core.tgz ./respect-core.tgz resources/pets.yaml resources/museum.yaml resources/museum-tickets.arazzo.yaml ./tests/smoke/basic/ +npm pack ./node_modules/@redocly/config --pack-destination ./tests/smoke/basic/ + bash ./tests/smoke/basic/pin-config-version.sh echo "Current directory:" From da20af1748011329d68c9b4db5bf66b892dfffd7 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Wed, 22 Apr 2026 16:26:43 +0300 Subject: [PATCH 08/27] feat: migrate from yarn add to yarn install --- .github/workflows/smoke.yaml | 34 +++++++++++++++++----------------- tests/smoke/basic/package.json | 5 ++++- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index 7be7851659..fc9b0e2d16 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -40,7 +40,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 24 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" run-smoke--npm--node-24--redoc: needs: prepare-smoke @@ -53,7 +53,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 24 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redoc redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install && npm i redoc" "npm run" run-smoke--yarn--node-24: needs: prepare-smoke @@ -70,7 +70,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install --no-lockfile" "yarn" && break done run-smoke--yarn--node-24--redoc: @@ -88,7 +88,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add redoc ./redocly-cli.tgz" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install --no-lockfile && yarn add redoc --no-lockfile" "yarn" && break done run-smoke--pnpm--node-24: needs: prepare-smoke @@ -105,7 +105,7 @@ jobs: uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 with: version: 10 - - run: bash ./tests/smoke/basic/run-smoke.sh "pnpm add ./redocly-cli.tgz" "pnpm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "pnpm install" "pnpm run" # Skipped due to a known Windows + NodeJS v24 issue: https://github.com/nodejs/node/issues/56645 # run-smoke--npm--node-24--windows: @@ -158,7 +158,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 22 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" run-smoke--npm--node-22--redoc: needs: prepare-smoke @@ -171,7 +171,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 22 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redoc redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install && npm i redoc" "npm run" run-smoke--yarn--node-22: needs: prepare-smoke @@ -188,7 +188,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install --no-lockfile" "yarn" && break done run-smoke--yarn--node-22--redoc: @@ -206,7 +206,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add redoc ./redocly-cli.tgz" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install --no-lockfile && yarn add redoc --no-lockfile" "yarn" && break done run-smoke--pnpm--node-22: needs: prepare-smoke @@ -223,7 +223,7 @@ jobs: uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 with: version: 10 - - run: bash ./tests/smoke/basic/run-smoke.sh "pnpm add ./redocly-cli.tgz" "pnpm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "pnpm install" "pnpm run" run-smoke--npm--node-22--windows: needs: prepare-smoke @@ -237,7 +237,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 22 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" run-smoke--yarn--node-22--windows: needs: prepare-smoke @@ -260,7 +260,7 @@ jobs: Start-Sleep -Seconds 20 # workaround for yarn cache issue for ($i = 1; $i -le 3; $i++) { try { - bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz --no-lockfile --network-timeout 100000" "yarn" + bash ./tests/smoke/basic/run-smoke.sh "yarn install --no-lockfile --network-timeout 100000" "yarn" if ($LASTEXITCODE -eq 0) { break } } catch { if ($i -eq 3) { throw } @@ -279,7 +279,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 20 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" run-smoke--npm--node-20--redoc: needs: prepare-smoke @@ -292,7 +292,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 20 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redoc redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install && npm i redoc" "npm run" run-smoke--yarn--node-20: needs: prepare-smoke @@ -309,7 +309,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install --no-lockfile" "yarn" && break done run-smoke--npm--node-20--windows: @@ -324,7 +324,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 20 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" run-smoke--yarn--node-20--windows: needs: prepare-smoke @@ -347,7 +347,7 @@ jobs: Start-Sleep -Seconds 20 # workaround for yarn cache issue for ($i = 1; $i -le 3; $i++) { try { - bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz --no-lockfile --network-timeout 100000" "yarn" + bash ./tests/smoke/basic/run-smoke.sh "yarn install --no-lockfile --network-timeout 100000" "yarn" if ($LASTEXITCODE -eq 0) { break } } catch { if ($i -eq 3) { throw } diff --git a/tests/smoke/basic/package.json b/tests/smoke/basic/package.json index 3653af547f..9588569a4c 100644 --- a/tests/smoke/basic/package.json +++ b/tests/smoke/basic/package.json @@ -13,5 +13,8 @@ "redocly-respect": "redocly respect museum-tickets.arazzo.yaml" }, "author": "redocly", - "license": "ISC" + "license": "ISC", + "dependencies": { + "@redocly/cli": "file:./redocly-cli.tgz" + } } From 1dcd7fbe5442a063ea08833a3a5544bfb16668e5 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Wed, 22 Apr 2026 16:33:48 +0300 Subject: [PATCH 09/27] chore: fix config version script --- tests/smoke/basic/pin-config-version.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/smoke/basic/pin-config-version.sh b/tests/smoke/basic/pin-config-version.sh index 63e2e3dc19..f49fa9818a 100755 --- a/tests/smoke/basic/pin-config-version.sh +++ b/tests/smoke/basic/pin-config-version.sh @@ -9,7 +9,9 @@ node -e " const fs = require('fs'); const path = './tests/smoke/basic/package.json'; const pkg = JSON.parse(fs.readFileSync(path, 'utf8')); - pkg.resolutions['@redocly/config'] = '$TARBALL_REF'; - pkg.overrides['@redocly/config'] = '$TARBALL_REF'; + (pkg.resolutions ??= {})['@redocly/config'] = '$TARBALL_REF'; + (pkg.overrides ??= {})['@redocly/config'] = '$TARBALL_REF'; + ((pkg.pnpm ??= {}).overrides ??= {})['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; + fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + '\n'); " From 9fff599719e96640b7328ada19640289e5043160 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Wed, 22 Apr 2026 16:36:44 +0300 Subject: [PATCH 10/27] fix: failing smoke tests --- tests/smoke/basic/run-smoke.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/smoke/basic/run-smoke.sh b/tests/smoke/basic/run-smoke.sh index 1e128983d1..c1ea334c17 100644 --- a/tests/smoke/basic/run-smoke.sh +++ b/tests/smoke/basic/run-smoke.sh @@ -8,8 +8,8 @@ echo "Directory content:" ls -a echo -# Executing the command provided as the first argument -$1 +# Executing the command provided as the first argument +eval "$1" # Actual smoke test - executing the command provided as the second argument $2 redocly-version From 277180173104bddc97a6aefddd77647e2ecad1f2 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Wed, 22 Apr 2026 16:53:22 +0300 Subject: [PATCH 11/27] chore: remove packing config --- tests/smoke/basic/pin-config-version.sh | 7 +++---- tests/smoke/basic/prepare-smoke.sh | 2 -- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/tests/smoke/basic/pin-config-version.sh b/tests/smoke/basic/pin-config-version.sh index f49fa9818a..a2f3e5f3be 100755 --- a/tests/smoke/basic/pin-config-version.sh +++ b/tests/smoke/basic/pin-config-version.sh @@ -2,15 +2,14 @@ REDOCLY_CONFIG_VERSION=$(node -e "const fs = require('fs'); const p = JSON.parse(fs.readFileSync('./packages/core/package.json', 'utf8')); console.log(p.dependencies['@redocly/config'].replace(/\^/, ''));") -TARBALL_REF="file:./redocly-config-${REDOCLY_CONFIG_VERSION}.tgz" -echo "Pinning @redocly/config to $TARBALL_REF in smoke test overrides" +echo "Pinning @redocly/config to $REDOCLY_CONFIG_VERSION in smoke test overrides" node -e " const fs = require('fs'); const path = './tests/smoke/basic/package.json'; const pkg = JSON.parse(fs.readFileSync(path, 'utf8')); - (pkg.resolutions ??= {})['@redocly/config'] = '$TARBALL_REF'; - (pkg.overrides ??= {})['@redocly/config'] = '$TARBALL_REF'; + (pkg.resolutions ??= {})['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; + (pkg.overrides ??= {})['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; ((pkg.pnpm ??= {}).overrides ??= {})['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + '\n'); diff --git a/tests/smoke/basic/prepare-smoke.sh b/tests/smoke/basic/prepare-smoke.sh index e883f2a98e..dbc5363a47 100644 --- a/tests/smoke/basic/prepare-smoke.sh +++ b/tests/smoke/basic/prepare-smoke.sh @@ -5,8 +5,6 @@ npm run pack:prepare cp ./redocly-cli.tgz ./openapi-core.tgz ./respect-core.tgz resources/pets.yaml resources/museum.yaml resources/museum-tickets.arazzo.yaml ./tests/smoke/basic/ -npm pack ./node_modules/@redocly/config --pack-destination ./tests/smoke/basic/ - bash ./tests/smoke/basic/pin-config-version.sh echo "Current directory:" From 3c5609bca11cad5403f507f0b2b289a4275b4f47 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Thu, 23 Apr 2026 10:13:53 +0300 Subject: [PATCH 12/27] chore: remove --no-lockfile arg --- .github/workflows/smoke.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index fc9b0e2d16..d6caaf4fcd 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -70,7 +70,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install --no-lockfile" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install" "yarn" && break done run-smoke--yarn--node-24--redoc: @@ -88,7 +88,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install --no-lockfile && yarn add redoc --no-lockfile" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install && yarn add redoc" "yarn" && break done run-smoke--pnpm--node-24: needs: prepare-smoke @@ -188,7 +188,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install --no-lockfile" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn installe" "yarn" && break done run-smoke--yarn--node-22--redoc: @@ -206,7 +206,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install --no-lockfile && yarn add redoc --no-lockfile" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install && yarn add redoc" "yarn" && break done run-smoke--pnpm--node-22: needs: prepare-smoke @@ -260,7 +260,7 @@ jobs: Start-Sleep -Seconds 20 # workaround for yarn cache issue for ($i = 1; $i -le 3; $i++) { try { - bash ./tests/smoke/basic/run-smoke.sh "yarn install --no-lockfile --network-timeout 100000" "yarn" + bash ./tests/smoke/basic/run-smoke.sh "yarn install --network-timeout 100000" "yarn" if ($LASTEXITCODE -eq 0) { break } } catch { if ($i -eq 3) { throw } @@ -309,7 +309,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install --no-lockfile" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install" "yarn" && break done run-smoke--npm--node-20--windows: @@ -347,7 +347,7 @@ jobs: Start-Sleep -Seconds 20 # workaround for yarn cache issue for ($i = 1; $i -le 3; $i++) { try { - bash ./tests/smoke/basic/run-smoke.sh "yarn install --no-lockfile --network-timeout 100000" "yarn" + bash ./tests/smoke/basic/run-smoke.sh "yarn install --network-timeout 100000" "yarn" if ($LASTEXITCODE -eq 0) { break } } catch { if ($i -eq 3) { throw } From 64da1cde771557cd1efbc9c01131f72ae983a0bb Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Thu, 23 Apr 2026 10:16:40 +0300 Subject: [PATCH 13/27] chore: remove letter --- .github/workflows/smoke.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index d6caaf4fcd..3b5505190b 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -188,7 +188,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn installe" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install" "yarn" && break done run-smoke--yarn--node-22--redoc: From 0e709bc0b9b9569579bf54b2fd8188a0970620d4 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Thu, 23 Apr 2026 10:27:41 +0300 Subject: [PATCH 14/27] feat: add to npm tests the same retry pattern as for yarn --- .github/workflows/smoke.yaml | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index 3b5505190b..d5500cf302 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -237,7 +237,19 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 22 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" + - name: Clear npm cache + run: npm cache clean --force + - name: Run Smoke Tests + run: | + for ($i = 1; $i -le 3; $i++) { + try { + bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" + if ($LASTEXITCODE -eq 0) { break } + } catch { + if ($i -eq 3) { throw } + Start-Sleep -Seconds 5 + } + } run-smoke--yarn--node-22--windows: needs: prepare-smoke @@ -324,7 +336,19 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 20 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" + - name: Clear npm cache + run: npm cache clean --force + - name: Run Smoke Tests + run: | + for ($i = 1; $i -le 3; $i++) { + try { + bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" + if ($LASTEXITCODE -eq 0) { break } + } catch { + if ($i -eq 3) { throw } + Start-Sleep -Seconds 5 + } + } run-smoke--yarn--node-20--windows: needs: prepare-smoke From 66f5c916d778cc8e5ff463ce1b3803ca32b2e7a1 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Thu, 23 Apr 2026 15:43:14 +0300 Subject: [PATCH 15/27] chore: replace with the main --- .github/workflows/smoke.yaml | 58 +++++++++++------------------------- 1 file changed, 17 insertions(+), 41 deletions(-) diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index d5500cf302..7be7851659 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -40,7 +40,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 24 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" run-smoke--npm--node-24--redoc: needs: prepare-smoke @@ -53,7 +53,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 24 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm install && npm i redoc" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redoc redocly-cli.tgz" "npm run" run-smoke--yarn--node-24: needs: prepare-smoke @@ -70,7 +70,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz" "yarn" && break done run-smoke--yarn--node-24--redoc: @@ -88,7 +88,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install && yarn add redoc" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add redoc ./redocly-cli.tgz" "yarn" && break done run-smoke--pnpm--node-24: needs: prepare-smoke @@ -105,7 +105,7 @@ jobs: uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 with: version: 10 - - run: bash ./tests/smoke/basic/run-smoke.sh "pnpm install" "pnpm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "pnpm add ./redocly-cli.tgz" "pnpm run" # Skipped due to a known Windows + NodeJS v24 issue: https://github.com/nodejs/node/issues/56645 # run-smoke--npm--node-24--windows: @@ -158,7 +158,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 22 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" run-smoke--npm--node-22--redoc: needs: prepare-smoke @@ -171,7 +171,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 22 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm install && npm i redoc" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redoc redocly-cli.tgz" "npm run" run-smoke--yarn--node-22: needs: prepare-smoke @@ -188,7 +188,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz" "yarn" && break done run-smoke--yarn--node-22--redoc: @@ -206,7 +206,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install && yarn add redoc" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add redoc ./redocly-cli.tgz" "yarn" && break done run-smoke--pnpm--node-22: needs: prepare-smoke @@ -223,7 +223,7 @@ jobs: uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 with: version: 10 - - run: bash ./tests/smoke/basic/run-smoke.sh "pnpm install" "pnpm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "pnpm add ./redocly-cli.tgz" "pnpm run" run-smoke--npm--node-22--windows: needs: prepare-smoke @@ -237,19 +237,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 22 - - name: Clear npm cache - run: npm cache clean --force - - name: Run Smoke Tests - run: | - for ($i = 1; $i -le 3; $i++) { - try { - bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" - if ($LASTEXITCODE -eq 0) { break } - } catch { - if ($i -eq 3) { throw } - Start-Sleep -Seconds 5 - } - } + - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" run-smoke--yarn--node-22--windows: needs: prepare-smoke @@ -272,7 +260,7 @@ jobs: Start-Sleep -Seconds 20 # workaround for yarn cache issue for ($i = 1; $i -le 3; $i++) { try { - bash ./tests/smoke/basic/run-smoke.sh "yarn install --network-timeout 100000" "yarn" + bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz --no-lockfile --network-timeout 100000" "yarn" if ($LASTEXITCODE -eq 0) { break } } catch { if ($i -eq 3) { throw } @@ -291,7 +279,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 20 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" run-smoke--npm--node-20--redoc: needs: prepare-smoke @@ -304,7 +292,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 20 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm install && npm i redoc" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redoc redocly-cli.tgz" "npm run" run-smoke--yarn--node-20: needs: prepare-smoke @@ -321,7 +309,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz" "yarn" && break done run-smoke--npm--node-20--windows: @@ -336,19 +324,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 20 - - name: Clear npm cache - run: npm cache clean --force - - name: Run Smoke Tests - run: | - for ($i = 1; $i -le 3; $i++) { - try { - bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" - if ($LASTEXITCODE -eq 0) { break } - } catch { - if ($i -eq 3) { throw } - Start-Sleep -Seconds 5 - } - } + - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" run-smoke--yarn--node-20--windows: needs: prepare-smoke @@ -371,7 +347,7 @@ jobs: Start-Sleep -Seconds 20 # workaround for yarn cache issue for ($i = 1; $i -le 3; $i++) { try { - bash ./tests/smoke/basic/run-smoke.sh "yarn install --network-timeout 100000" "yarn" + bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz --no-lockfile --network-timeout 100000" "yarn" if ($LASTEXITCODE -eq 0) { break } } catch { if ($i -eq 3) { throw } From 8ff38ce23bad57d4dd1fa65f52b3ab060746fc33 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Thu, 23 Apr 2026 15:58:44 +0300 Subject: [PATCH 16/27] feat: add pining versions for config and ajv and use only for failed jobs --- .github/workflows/smoke.yaml | 34 +++++++++++----------- tests/smoke/basic/pin-config-version.sh | 16 ---------- tests/smoke/basic/pin-intersecting-deps.sh | 20 +++++++++++++ tests/smoke/basic/prepare-smoke.sh | 2 -- 4 files changed, 37 insertions(+), 35 deletions(-) delete mode 100755 tests/smoke/basic/pin-config-version.sh create mode 100755 tests/smoke/basic/pin-intersecting-deps.sh diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index 7be7851659..d6caaf4fcd 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -40,7 +40,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 24 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" run-smoke--npm--node-24--redoc: needs: prepare-smoke @@ -53,7 +53,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 24 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redoc redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install && npm i redoc" "npm run" run-smoke--yarn--node-24: needs: prepare-smoke @@ -70,7 +70,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install" "yarn" && break done run-smoke--yarn--node-24--redoc: @@ -88,7 +88,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add redoc ./redocly-cli.tgz" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install && yarn add redoc" "yarn" && break done run-smoke--pnpm--node-24: needs: prepare-smoke @@ -105,7 +105,7 @@ jobs: uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 with: version: 10 - - run: bash ./tests/smoke/basic/run-smoke.sh "pnpm add ./redocly-cli.tgz" "pnpm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "pnpm install" "pnpm run" # Skipped due to a known Windows + NodeJS v24 issue: https://github.com/nodejs/node/issues/56645 # run-smoke--npm--node-24--windows: @@ -158,7 +158,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 22 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" run-smoke--npm--node-22--redoc: needs: prepare-smoke @@ -171,7 +171,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 22 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redoc redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install && npm i redoc" "npm run" run-smoke--yarn--node-22: needs: prepare-smoke @@ -188,7 +188,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn installe" "yarn" && break done run-smoke--yarn--node-22--redoc: @@ -206,7 +206,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add redoc ./redocly-cli.tgz" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install && yarn add redoc" "yarn" && break done run-smoke--pnpm--node-22: needs: prepare-smoke @@ -223,7 +223,7 @@ jobs: uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 with: version: 10 - - run: bash ./tests/smoke/basic/run-smoke.sh "pnpm add ./redocly-cli.tgz" "pnpm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "pnpm install" "pnpm run" run-smoke--npm--node-22--windows: needs: prepare-smoke @@ -237,7 +237,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 22 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" run-smoke--yarn--node-22--windows: needs: prepare-smoke @@ -260,7 +260,7 @@ jobs: Start-Sleep -Seconds 20 # workaround for yarn cache issue for ($i = 1; $i -le 3; $i++) { try { - bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz --no-lockfile --network-timeout 100000" "yarn" + bash ./tests/smoke/basic/run-smoke.sh "yarn install --network-timeout 100000" "yarn" if ($LASTEXITCODE -eq 0) { break } } catch { if ($i -eq 3) { throw } @@ -279,7 +279,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 20 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" run-smoke--npm--node-20--redoc: needs: prepare-smoke @@ -292,7 +292,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 20 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redoc redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install && npm i redoc" "npm run" run-smoke--yarn--node-20: needs: prepare-smoke @@ -309,7 +309,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install" "yarn" && break done run-smoke--npm--node-20--windows: @@ -324,7 +324,7 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 20 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm i redocly-cli.tgz" "npm run" + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" run-smoke--yarn--node-20--windows: needs: prepare-smoke @@ -347,7 +347,7 @@ jobs: Start-Sleep -Seconds 20 # workaround for yarn cache issue for ($i = 1; $i -le 3; $i++) { try { - bash ./tests/smoke/basic/run-smoke.sh "yarn add ./redocly-cli.tgz --no-lockfile --network-timeout 100000" "yarn" + bash ./tests/smoke/basic/run-smoke.sh "yarn install --network-timeout 100000" "yarn" if ($LASTEXITCODE -eq 0) { break } } catch { if ($i -eq 3) { throw } diff --git a/tests/smoke/basic/pin-config-version.sh b/tests/smoke/basic/pin-config-version.sh deleted file mode 100755 index a2f3e5f3be..0000000000 --- a/tests/smoke/basic/pin-config-version.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -REDOCLY_CONFIG_VERSION=$(node -e "const fs = require('fs'); const p = JSON.parse(fs.readFileSync('./packages/core/package.json', 'utf8')); console.log(p.dependencies['@redocly/config'].replace(/\^/, ''));") - -echo "Pinning @redocly/config to $REDOCLY_CONFIG_VERSION in smoke test overrides" - -node -e " - const fs = require('fs'); - const path = './tests/smoke/basic/package.json'; - const pkg = JSON.parse(fs.readFileSync(path, 'utf8')); - (pkg.resolutions ??= {})['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; - (pkg.overrides ??= {})['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; - ((pkg.pnpm ??= {}).overrides ??= {})['@redocly/config'] = '$REDOCLY_CONFIG_VERSION'; - - fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + '\n'); -" diff --git a/tests/smoke/basic/pin-intersecting-deps.sh b/tests/smoke/basic/pin-intersecting-deps.sh new file mode 100755 index 0000000000..7c05036525 --- /dev/null +++ b/tests/smoke/basic/pin-intersecting-deps.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +node -e " + const fs = require('fs'); + const core = JSON.parse(fs.readFileSync('./packages/core/package.json', 'utf8')); + const pkgPath = './tests/smoke/basic/package.json'; + const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8')); + + const PINNED = ['@redocly/config', '@redocly/ajv']; + + for (const name of PINNED) { + const version = core.dependencies[name].replace(/^[\^~]/, ''); + console.log('Pinning ' + name + ' to ' + version + ' in smoke test overrides'); + (pkg.resolutions ??= {})[name] = version; + (pkg.overrides ??= {})[name] = version; + ((pkg.pnpm ??= {}).overrides ??= {})[name] = version; + } + + fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n'); +" diff --git a/tests/smoke/basic/prepare-smoke.sh b/tests/smoke/basic/prepare-smoke.sh index dbc5363a47..b86b57287a 100644 --- a/tests/smoke/basic/prepare-smoke.sh +++ b/tests/smoke/basic/prepare-smoke.sh @@ -5,8 +5,6 @@ npm run pack:prepare cp ./redocly-cli.tgz ./openapi-core.tgz ./respect-core.tgz resources/pets.yaml resources/museum.yaml resources/museum-tickets.arazzo.yaml ./tests/smoke/basic/ -bash ./tests/smoke/basic/pin-config-version.sh - echo "Current directory:" pwd echo From 54aa7391d012d8addbf6de874980f5cb211e7a45 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Thu, 23 Apr 2026 16:01:54 +0300 Subject: [PATCH 17/27] chore: remove letter --- .github/workflows/smoke.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index d6caaf4fcd..3b5505190b 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -188,7 +188,7 @@ jobs: run: yarn cache clean - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn installe" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install" "yarn" && break done run-smoke--yarn--node-22--redoc: From df6eff921bad8562253d57fd9abd91be258e3793 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Thu, 23 Apr 2026 16:12:27 +0300 Subject: [PATCH 18/27] feat: add per job invocation --- .github/workflows/smoke.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index 3b5505190b..9eafa3145c 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -77,6 +77,7 @@ jobs: needs: prepare-smoke runs-on: ubuntu-latest steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: tests/smoke/basic/ @@ -86,6 +87,8 @@ jobs: node-version: 24 - name: Clear Yarn Cache run: yarn cache clean + - name: Pin intersecting deps + run: bash ./tests/smoke/basic/pin-intersecting-deps.sh - run: | for i in {1..2}; do # workaround for yarn cache issue sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install && yarn add redoc" "yarn" && break @@ -243,6 +246,7 @@ jobs: needs: prepare-smoke runs-on: windows-latest steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: tests/smoke/basic/ @@ -255,6 +259,8 @@ jobs: run: | yarn cache clean npm cache clean --force + - name: Pin intersecting deps + run: bash ./tests/smoke/basic/pin-intersecting-deps.sh - name: Run Smoke Tests run: | Start-Sleep -Seconds 20 # workaround for yarn cache issue @@ -330,6 +336,7 @@ jobs: needs: prepare-smoke runs-on: windows-latest steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: tests/smoke/basic/ @@ -342,6 +349,8 @@ jobs: run: | yarn cache clean npm cache clean --force + - name: Pin intersecting deps + run: bash ./tests/smoke/basic/pin-intersecting-deps.sh - name: Run Smoke Tests run: | Start-Sleep -Seconds 20 # workaround for yarn cache issue From af87090500b1104ea2299f4fa7c99b6908b00e2f Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Thu, 23 Apr 2026 16:20:04 +0300 Subject: [PATCH 19/27] feat: add missing pin --- .github/workflows/smoke.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index 9eafa3145c..5e3339d7d8 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -198,6 +198,7 @@ jobs: needs: prepare-smoke runs-on: ubuntu-latest steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: tests/smoke/basic/ @@ -207,6 +208,8 @@ jobs: node-version: 22 - name: Clear Yarn Cache run: yarn cache clean + - name: Pin intersecting deps + run: bash ./tests/smoke/basic/pin-intersecting-deps.sh - run: | for i in {1..2}; do # workaround for yarn cache issue sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install && yarn add redoc" "yarn" && break From b523925a0995068c8e796febd29e64f8ab3c50f6 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Thu, 23 Apr 2026 16:35:02 +0300 Subject: [PATCH 20/27] feat: add pining to failed smoke --- .github/workflows/smoke.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index 5e3339d7d8..06467397f6 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -180,6 +180,7 @@ jobs: needs: prepare-smoke runs-on: ubuntu-latest steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: tests/smoke/basic/ @@ -189,6 +190,8 @@ jobs: node-version: 22 - name: Clear Yarn Cache run: yarn cache clean + - name: Pin intersecting deps + run: bash ./tests/smoke/basic/pin-intersecting-deps.sh - run: | for i in {1..2}; do # workaround for yarn cache issue sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install" "yarn" && break From 41e177e06620a0035af4af8f8bf8e4b1f8c93ef5 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Thu, 23 Apr 2026 16:38:30 +0300 Subject: [PATCH 21/27] feat: add to failed smoke test pinning --- .github/workflows/smoke.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index 06467397f6..1ead6a019f 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -310,6 +310,7 @@ jobs: needs: prepare-smoke runs-on: ubuntu-latest steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: tests/smoke/basic/ @@ -319,6 +320,8 @@ jobs: node-version: 20 - name: Clear Yarn Cache run: yarn cache clean + - name: Pin intersecting deps + run: bash ./tests/smoke/basic/pin-intersecting-deps.sh - run: | for i in {1..2}; do # workaround for yarn cache issue sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install" "yarn" && break From 388d798eb74e1362a480fa3a502c02966cdda172 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Thu, 23 Apr 2026 17:01:31 +0300 Subject: [PATCH 22/27] feat: add pining to the failed smoke test --- .github/workflows/smoke.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index 1ead6a019f..b29d7ccd4b 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -59,6 +59,7 @@ jobs: needs: prepare-smoke runs-on: ubuntu-latest steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: tests/smoke/basic/ @@ -68,6 +69,8 @@ jobs: node-version: 24 - name: Clear Yarn Cache run: yarn cache clean + - name: Pin intersecting deps + run: bash ./tests/smoke/basic/pin-intersecting-deps.sh - run: | for i in {1..2}; do # workaround for yarn cache issue sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install" "yarn" && break From bde52ede1c902dcf31f0ed12956de97dacc566e8 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Thu, 23 Apr 2026 17:21:44 +0300 Subject: [PATCH 23/27] feat: remove workaround to test if it works --- .github/workflows/smoke.yaml | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index b29d7ccd4b..eb30bd6489 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -271,17 +271,7 @@ jobs: - name: Pin intersecting deps run: bash ./tests/smoke/basic/pin-intersecting-deps.sh - name: Run Smoke Tests - run: | - Start-Sleep -Seconds 20 # workaround for yarn cache issue - for ($i = 1; $i -le 3; $i++) { - try { - bash ./tests/smoke/basic/run-smoke.sh "yarn install --network-timeout 100000" "yarn" - if ($LASTEXITCODE -eq 0) { break } - } catch { - if ($i -eq 3) { throw } - Start-Sleep -Seconds 5 - } - } + run: bash ./tests/smoke/basic/run-smoke.sh "yarn install --network-timeout 100000" "yarn" run-smoke--npm--node-20: needs: prepare-smoke @@ -364,17 +354,7 @@ jobs: - name: Pin intersecting deps run: bash ./tests/smoke/basic/pin-intersecting-deps.sh - name: Run Smoke Tests - run: | - Start-Sleep -Seconds 20 # workaround for yarn cache issue - for ($i = 1; $i -le 3; $i++) { - try { - bash ./tests/smoke/basic/run-smoke.sh "yarn install --network-timeout 100000" "yarn" - if ($LASTEXITCODE -eq 0) { break } - } catch { - if ($i -eq 3) { throw } - Start-Sleep -Seconds 5 - } - } + run: bash ./tests/smoke/basic/run-smoke.sh "yarn install --network-timeout 100000" "yarn" run-smoke--docker-image: runs-on: ubuntu-latest From 801cb4ac8674e014c3b56e63cc20c4cdd7e7f835 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Thu, 23 Apr 2026 18:21:17 +0300 Subject: [PATCH 24/27] feat: add to missing smoke test retry pattern --- .github/workflows/smoke.yaml | 38 ++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index eb30bd6489..27d1329c6f 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -249,7 +249,16 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 22 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" + - name: Clear npm cache + run: npm cache clean --force + - name: Run Smoke Tests + run: | + for ($i = 1; $i -le 3; $i++) { + bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" + if ($LASTEXITCODE -eq 0) { break } + if ($i -eq 3) { exit $LASTEXITCODE } + Start-Sleep -Seconds 5 + } run-smoke--yarn--node-22--windows: needs: prepare-smoke @@ -271,7 +280,13 @@ jobs: - name: Pin intersecting deps run: bash ./tests/smoke/basic/pin-intersecting-deps.sh - name: Run Smoke Tests - run: bash ./tests/smoke/basic/run-smoke.sh "yarn install --network-timeout 100000" "yarn" + run: | + for ($i = 1; $i -le 3; $i++) { + bash ./tests/smoke/basic/run-smoke.sh "yarn install --network-timeout 100000" "yarn" + if ($LASTEXITCODE -eq 0) { break } + if ($i -eq 3) { exit $LASTEXITCODE } + Start-Sleep -Seconds 5 + } run-smoke--npm--node-20: needs: prepare-smoke @@ -332,7 +347,16 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 20 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" + - name: Clear npm cache + run: npm cache clean --force + - name: Run Smoke Tests + run: | + for ($i = 1; $i -le 3; $i++) { + bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" + if ($LASTEXITCODE -eq 0) { break } + if ($i -eq 3) { exit $LASTEXITCODE } + Start-Sleep -Seconds 5 + } run-smoke--yarn--node-20--windows: needs: prepare-smoke @@ -354,7 +378,13 @@ jobs: - name: Pin intersecting deps run: bash ./tests/smoke/basic/pin-intersecting-deps.sh - name: Run Smoke Tests - run: bash ./tests/smoke/basic/run-smoke.sh "yarn install --network-timeout 100000" "yarn" + run: | + for ($i = 1; $i -le 3; $i++) { + bash ./tests/smoke/basic/run-smoke.sh "yarn install --network-timeout 100000" "yarn" + if ($LASTEXITCODE -eq 0) { break } + if ($i -eq 3) { exit $LASTEXITCODE } + Start-Sleep -Seconds 5 + } run-smoke--docker-image: runs-on: ubuntu-latest From 82104c869b8892126cadc6df8b322fe78caf51d4 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Thu, 23 Apr 2026 18:47:39 +0300 Subject: [PATCH 25/27] chore: remove unused overrides --- tests/smoke/basic/pin-intersecting-deps.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/smoke/basic/pin-intersecting-deps.sh b/tests/smoke/basic/pin-intersecting-deps.sh index 7c05036525..e8fb64dd3d 100755 --- a/tests/smoke/basic/pin-intersecting-deps.sh +++ b/tests/smoke/basic/pin-intersecting-deps.sh @@ -10,10 +10,8 @@ node -e " for (const name of PINNED) { const version = core.dependencies[name].replace(/^[\^~]/, ''); - console.log('Pinning ' + name + ' to ' + version + ' in smoke test overrides'); + console.log('Pinning ' + name + ' to ' + version + ' in smoke test resolutions'); (pkg.resolutions ??= {})[name] = version; - (pkg.overrides ??= {})[name] = version; - ((pkg.pnpm ??= {}).overrides ??= {})[name] = version; } fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n'); From 9fa6b3c3968408d67ce0ca84a2ef8518408a1375 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Fri, 24 Apr 2026 11:26:29 +0300 Subject: [PATCH 26/27] feat: add script to add redoc in packages and use for specific steps --- .github/workflows/smoke.yaml | 20 +++++++++++++++----- tests/smoke/basic/add-redoc.sh | 10 ++++++++++ 2 files changed, 25 insertions(+), 5 deletions(-) create mode 100755 tests/smoke/basic/add-redoc.sh diff --git a/.github/workflows/smoke.yaml b/.github/workflows/smoke.yaml index 27d1329c6f..61cac620eb 100644 --- a/.github/workflows/smoke.yaml +++ b/.github/workflows/smoke.yaml @@ -53,7 +53,9 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 24 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm install && npm i redoc" "npm run" + - name: Add redoc to deps + run: bash ./tests/smoke/basic/add-redoc.sh + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" run-smoke--yarn--node-24: needs: prepare-smoke @@ -92,9 +94,11 @@ jobs: run: yarn cache clean - name: Pin intersecting deps run: bash ./tests/smoke/basic/pin-intersecting-deps.sh + - name: Add redoc to deps + run: bash ./tests/smoke/basic/add-redoc.sh - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install && yarn add redoc" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install" "yarn" && break done run-smoke--pnpm--node-24: needs: prepare-smoke @@ -177,7 +181,9 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 22 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm install && npm i redoc" "npm run" + - name: Add redoc to deps + run: bash ./tests/smoke/basic/add-redoc.sh + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" run-smoke--yarn--node-22: needs: prepare-smoke @@ -216,9 +222,11 @@ jobs: run: yarn cache clean - name: Pin intersecting deps run: bash ./tests/smoke/basic/pin-intersecting-deps.sh + - name: Add redoc to deps + run: bash ./tests/smoke/basic/add-redoc.sh - run: | for i in {1..2}; do # workaround for yarn cache issue - sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install && yarn add redoc" "yarn" && break + sleep 5 && bash ./tests/smoke/basic/run-smoke.sh "yarn install" "yarn" && break done run-smoke--pnpm--node-22: needs: prepare-smoke @@ -312,7 +320,9 @@ jobs: - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version: 20 - - run: bash ./tests/smoke/basic/run-smoke.sh "npm install && npm i redoc" "npm run" + - name: Add redoc to deps + run: bash ./tests/smoke/basic/add-redoc.sh + - run: bash ./tests/smoke/basic/run-smoke.sh "npm install" "npm run" run-smoke--yarn--node-20: needs: prepare-smoke diff --git a/tests/smoke/basic/add-redoc.sh b/tests/smoke/basic/add-redoc.sh new file mode 100755 index 0000000000..33b37a16b2 --- /dev/null +++ b/tests/smoke/basic/add-redoc.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +node -e " + const fs = require('fs'); + const pkgPath = './tests/smoke/basic/package.json'; + const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8')); + (pkg.dependencies ??= {}).redoc = 'latest'; + fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n'); + console.log('Added redoc@latest to smoke test dependencies'); +" From d39f863d7864666de1a2878866058a243fb891d4 Mon Sep 17 00:00:00 2001 From: Albina Blazhko Date: Fri, 24 Apr 2026 11:50:59 +0300 Subject: [PATCH 27/27] chore: remove eval --- tests/smoke/basic/run-smoke.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/smoke/basic/run-smoke.sh b/tests/smoke/basic/run-smoke.sh index c1ea334c17..1e128983d1 100644 --- a/tests/smoke/basic/run-smoke.sh +++ b/tests/smoke/basic/run-smoke.sh @@ -8,8 +8,8 @@ echo "Directory content:" ls -a echo -# Executing the command provided as the first argument -eval "$1" +# Executing the command provided as the first argument +$1 # Actual smoke test - executing the command provided as the second argument $2 redocly-version