diff --git a/.github/workflows/test_and_build.yml b/.github/workflows/test_and_build.yml index e2446fc..03417f7 100644 --- a/.github/workflows/test_and_build.yml +++ b/.github/workflows/test_and_build.yml @@ -30,7 +30,7 @@ jobs: set_env_var: true - uses: ruby/setup-ruby@v1 with: - ruby-version: 2.7 + ruby-version: 3.2 - run: git clone git@github.com:QuickPay/klarna-payments-backend.git - run: gem install bundler -v 2.4.22 - name: Tests diff --git a/index.js b/index.js index 9b8caf3..f21e34d 100644 --- a/index.js +++ b/index.js @@ -20,36 +20,24 @@ async function run() { const envVar = getBool("set_env_var") if (chrome) { - // Install Chrome - cp.execSync('wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb') - cp.execSync('sudo apt-get install -y ./google-chrome-stable_current_amd64.deb') + 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 - try { - const chromeVersionOutput = cp.execSync('google-chrome --version').toString() - console.log('Chrome version output:', chromeVersionOutput) + const chromeUrl = downloads.chrome.find(d => d.platform === 'linux64').url + const chromedriverUrl = downloads.chromedriver.find(d => d.platform === 'linux64').url - const chromeVersionMatch = chromeVersionOutput.match(/\d+\.\d+\.\d+\.\d+/) - if (!chromeVersionMatch) { - throw new Error('Could not extract Chrome version from: ' + chromeVersionOutput) - } - const chromeVersion = chromeVersionMatch[0] - console.log('Chrome version:', chromeVersion) - - const chromedriverUrl = `https://storage.googleapis.com/chrome-for-testing-public/${chromeVersion}/linux64/chromedriver-linux64.zip` - console.log('Downloading chromedriver from:', chromedriverUrl) - - cp.execSync(`wget -q -O chromedriver.zip "${chromedriverUrl}"`) - cp.execSync('unzip -q chromedriver.zip') - cp.execSync('sudo mv chromedriver-linux64/chromedriver /usr/local/bin/') - cp.execSync('sudo chmod +x /usr/local/bin/chromedriver') + 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('rm -rf chromedriver.zip chromedriver-linux64 google-chrome-stable_current_amd64.deb') - - console.log('Chromedriver installed successfully') - } catch (error) { - core.setFailed('Failed to install Chromedriver: ' + error.message) - return - } + 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') } if (chrome || prodAptDeps || postgres) { cp.execSync("DEBIAN_FRONTEND=noninteractive sudo apt-get update") diff --git a/integration_test/test/env_var_spec.rb b/integration_test/test/env_var_spec.rb index 251391e..fe5c2ce 100644 --- a/integration_test/test/env_var_spec.rb +++ b/integration_test/test/env_var_spec.rb @@ -7,6 +7,6 @@ end it "has correct values" do - _(YAML.load(ENV["SETTINGS"])["default"][:service_discovery][:reader]).must_equal "tcp://33.33.33.80:22122" + _(YAML.load(ENV["SETTINGS"], aliases: true)["default"][:service_discovery][:reader]).must_equal "tcp://33.33.33.80:22122" end end \ No newline at end of file