From 8070a338c8d28615b5bbf0fa52db966d31eca827 Mon Sep 17 00:00:00 2001 From: vinay Date: Tue, 31 Mar 2026 14:39:53 +0530 Subject: [PATCH 1/5] fixed chrome binaries issues --- .github/workflows/test_and_build.yml | 12 ++++++++++ index.js | 33 ++++++++++++++++++++-------- 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index 03417f7..30227be 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -37,6 +37,18 @@ jobs: run: cd integration_test && bundle install && bundle exec rake test - run: cd klarna-payments-backend && bundle install + - name: Clone payment + run: git clone git@github.com:QuickPay/payment.git + + - uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.7 + + - run: gem install bundler -v 2.4.22 + + - run: bundle install && bundle exec rspec + working-directory: payment + - uses: s0/git-publish-subdir-action@develop env: REPO: self diff --git a/index.js b/index.js index f21e34d..f0f1614 100644 --- a/index.js +++ b/index.js @@ -28,16 +28,31 @@ async function run() { const chromedriverUrl = downloads.chromedriver.find(d => d.platform === 'linux64').url console.log(`Downloading Chrome version: ${stableChannel.version}`) - cp.execSync(`wget -q -O /tmp/chrome-linux64.zip "${chromeUrl}"`) - cp.execSync('unzip -q /tmp/chrome-linux64.zip -d /tmp/chrome-linux64') - cp.execSync('sudo mv /tmp/chrome-linux64/chrome-linux64/chrome /usr/local/bin/google-chrome') - cp.execSync('sudo chmod +x /usr/local/bin/google-chrome') + cp.execSync(`wget -q -O /tmp/chrome.zip "${chromeUrl}"`); + cp.execSync('rm -rf /tmp/chrome'); + cp.execSync('sudo rm -rf /opt/chrome'); + cp.execSync('unzip -q /tmp/chrome.zip -d /tmp/chrome'); - console.log(`Downloading Chromedriver version: ${stableChannel.version}`) - cp.execSync(`wget -q -O /tmp/chromedriver-linux64.zip "${chromedriverUrl}"`) - cp.execSync('unzip -q /tmp/chromedriver-linux64.zip -d /tmp/chromedriver-linux64') - cp.execSync('sudo mv /tmp/chromedriver-linux64/chromedriver-linux64/chromedriver /usr/local/bin/chromedriver') - cp.execSync('sudo chmod +x /usr/local/bin/chromedriver') + // Move full directory + cp.execSync('sudo mkdir -p /opt/chrome'); + cp.execSync('sudo mv /tmp/chrome/chrome-linux64 /opt/chrome/'); + + // Symlink + cp.execSync('sudo ln -sf /opt/chrome/chrome-linux64/chrome /usr/local/bin/google-chrome'); + cp.execSync('sudo chmod +x /opt/chrome/chrome-linux64/chrome'); + + console.log(`Downloading Chromedriver version: ${stableChannel.version}`); + cp.execSync(`wget -q -O /tmp/chromedriver.zip "${chromedriverUrl}"`); + cp.execSync('rm -rf /tmp/chromedriver'); + cp.execSync('sudo rm -rf /opt/chromedriver'); + cp.execSync('unzip -q /tmp/chromedriver.zip -d /tmp/chromedriver'); + + cp.execSync('sudo mkdir -p /opt/chromedriver'); + cp.execSync('sudo mv /tmp/chromedriver/chromedriver-linux64 /opt/chromedriver/'); + + // Symlink + cp.execSync('sudo ln -sf /opt/chromedriver/chromedriver-linux64/chromedriver /usr/local/bin/chromedriver'); + cp.execSync('sudo chmod +x /opt/chromedriver/chromedriver-linux64/chromedriver'); } if (chrome || prodAptDeps || postgres) { cp.execSync("DEBIAN_FRONTEND=noninteractive sudo apt-get update") From fb7ee8d446955c7a111a2820f7b886fed8301073 Mon Sep 17 00:00:00 2001 From: vinay Date: Tue, 31 Mar 2026 14:56:53 +0530 Subject: [PATCH 2/5] payment test bunlde should be from local path --- .github/workflows/test_and_build.yml | 12 +++++++++--- index.js | 10 +++++----- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index 30227be..e73f577 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -40,13 +40,19 @@ jobs: - name: Clone payment run: git clone git@github.com:QuickPay/payment.git - - uses: ruby/setup-ruby@v1 + - name: Setup Ruby for payment + uses: ruby/setup-ruby@v1 with: ruby-version: 2.7 - - run: gem install bundler -v 2.4.22 + - name: Install Bundler for payment + run: gem install bundler -v 2.4.22 - - run: bundle install && bundle exec rspec + - name: Test payment + run: | + bundle config set --local path vendor/bundle + bundle install + bundle exec rspec working-directory: payment - uses: s0/git-publish-subdir-action@develop diff --git a/index.js b/index.js index f0f1614..50afcf4 100644 --- a/index.js +++ b/index.js @@ -21,13 +21,13 @@ async function run() { if (chrome) { cp.execSync('wget -q -O /tmp/chrome-versions.json "https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json"') - const stableChannel = JSON.parse(fs.readFileSync('/tmp/chrome-versions.json', 'utf8')).channels.Stable - const downloads = stableChannel.downloads + const stableChannel = JSON.parse(fs.readFileSync('/tmp/chrome-versions.json', 'utf8')).channels.Stable; + const downloads = stableChannel.downloads; - const chromeUrl = downloads.chrome.find(d => d.platform === 'linux64').url - const chromedriverUrl = downloads.chromedriver.find(d => d.platform === 'linux64').url + const chromeUrl = downloads.chrome.find(d => d.platform === 'linux64').url; + const chromedriverUrl = downloads.chromedriver.find(d => d.platform === 'linux64').url; - console.log(`Downloading Chrome version: ${stableChannel.version}`) + console.log(`Downloading Chrome version: ${stableChannel.version}`); cp.execSync(`wget -q -O /tmp/chrome.zip "${chromeUrl}"`); cp.execSync('rm -rf /tmp/chrome'); cp.execSync('sudo rm -rf /opt/chrome'); From 259e3ffd04ce09aa889c600bcf55d208eaa4cb64 Mon Sep 17 00:00:00 2001 From: vinay Date: Tue, 31 Mar 2026 15:04:52 +0530 Subject: [PATCH 3/5] added keystore keys link for payment tests --- .github/workflows/test_and_build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index e73f577..0065be4 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -50,6 +50,7 @@ jobs: - name: Test payment run: | + ln -sf keystore_ekeys.yml-devbox config/keystore_ekeys.yml bundle config set --local path vendor/bundle bundle install bundle exec rspec From 5e79afa7d183c492ab98d11cf70123a38898cce9 Mon Sep 17 00:00:00 2001 From: vinay Date: Tue, 31 Mar 2026 15:41:38 +0530 Subject: [PATCH 4/5] changing the chrome path to what selenium is looking for --- index.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/index.js b/index.js index 50afcf4..ca7d22d 100644 --- a/index.js +++ b/index.js @@ -30,16 +30,16 @@ async function run() { console.log(`Downloading Chrome version: ${stableChannel.version}`); cp.execSync(`wget -q -O /tmp/chrome.zip "${chromeUrl}"`); cp.execSync('rm -rf /tmp/chrome'); - cp.execSync('sudo rm -rf /opt/chrome'); + cp.execSync('sudo rm -rf /opt/google/chrome'); cp.execSync('unzip -q /tmp/chrome.zip -d /tmp/chrome'); - // Move full directory - cp.execSync('sudo mkdir -p /opt/chrome'); - cp.execSync('sudo mv /tmp/chrome/chrome-linux64 /opt/chrome/'); + // Install Chrome where Selenium is already finding it + cp.execSync('sudo mkdir -p /opt/google/chrome'); + cp.execSync('sudo mv /tmp/chrome/chrome-linux64/* /opt/google/chrome/'); // Symlink - cp.execSync('sudo ln -sf /opt/chrome/chrome-linux64/chrome /usr/local/bin/google-chrome'); - cp.execSync('sudo chmod +x /opt/chrome/chrome-linux64/chrome'); + cp.execSync('sudo ln -sf /opt/google/chrome/chrome /usr/local/bin/google-chrome'); + cp.execSync('sudo chmod +x /opt/google/chrome/chrome'); console.log(`Downloading Chromedriver version: ${stableChannel.version}`); cp.execSync(`wget -q -O /tmp/chromedriver.zip "${chromedriverUrl}"`); @@ -53,6 +53,11 @@ async function run() { // Symlink cp.execSync('sudo ln -sf /opt/chromedriver/chromedriver-linux64/chromedriver /usr/local/bin/chromedriver'); cp.execSync('sudo chmod +x /opt/chromedriver/chromedriver-linux64/chromedriver'); + + // Debug + cp.execSync('/opt/google/chrome/chrome --version', { stdio: 'inherit' }); + cp.execSync('google-chrome --version', { stdio: 'inherit' }); + cp.execSync('chromedriver --version', { stdio: 'inherit' }); } if (chrome || prodAptDeps || postgres) { cp.execSync("DEBIAN_FRONTEND=noninteractive sudo apt-get update") From e49ae3ff82c9642e1ef3f745b2e65bd58922b7ff Mon Sep 17 00:00:00 2001 From: vinay Date: Tue, 31 Mar 2026 15:54:47 +0530 Subject: [PATCH 5/5] removing payment tests now as chrome is stable for it --- .github/workflows/test_and_build.yml | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index 0065be4..03417f7 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -37,25 +37,6 @@ jobs: run: cd integration_test && bundle install && bundle exec rake test - run: cd klarna-payments-backend && bundle install - - name: Clone payment - run: git clone git@github.com:QuickPay/payment.git - - - name: Setup Ruby for payment - uses: ruby/setup-ruby@v1 - with: - ruby-version: 2.7 - - - name: Install Bundler for payment - run: gem install bundler -v 2.4.22 - - - name: Test payment - run: | - ln -sf keystore_ekeys.yml-devbox config/keystore_ekeys.yml - bundle config set --local path vendor/bundle - bundle install - bundle exec rspec - working-directory: payment - - uses: s0/git-publish-subdir-action@develop env: REPO: self