Skip to content

Commit

Permalink
Merge branch '2.x' into backport/backport-3978-to-2.x
Browse files Browse the repository at this point in the history
  • Loading branch information
abbyhu2000 authored May 17, 2023
2 parents 8ebebef + afdb244 commit b93815f
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 8 deletions.
19 changes: 19 additions & 0 deletions .github/workflows/build_and_test_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ env:
TEST_OPENSEARCH_TRANSPORT_PORT: 9403
TEST_OPENSEARCH_PORT: 9400
OSD_SNAPSHOT_SKIP_VERIFY_CHECKSUM: true
# Version 112.0.5615.0
CHROME_VERSION: 1109208

jobs:
build-lint-test:
Expand Down Expand Up @@ -122,6 +124,7 @@ jobs:
functional-tests:
name: Run functional tests on ${{ matrix.name }} (ciGroup${{ matrix.group }})
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
group: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
Expand All @@ -134,6 +137,22 @@ jobs:
steps:
- run: echo Running functional tests for ciGroup${{ matrix.group }}

- name: Setup Chrome
id: setup-chrome
uses: browser-actions/setup-chrome@v1
with:
chrome-version: ${{ env.CHROME_VERSION }}

- name: Set Chrome Path
if: matrix.os != 'windows-latest'
run: |
echo "TEST_BROWSER_BINARY_PATH=${{ steps.setup-chrome.outputs.chrome-path }}" >> $GITHUB_ENV
- name: Set Chrome Path (Windows)
if: matrix.os == 'windows-latest'
run: |
echo "TEST_BROWSER_BINARY_PATH=${{ steps.setup-chrome.outputs.chrome-path }}" >> $env:GITHUB_ENV
- name: Configure git's autocrlf (Windows only)
if: matrix.os == 'windows-latest'
run: |
Expand Down
48 changes: 40 additions & 8 deletions scripts/upgrade_chromedriver.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,34 @@ const versionCheckCommands = [];
switch (process.platform) {
case 'win32':
versionCheckCommands.push(
'powershell "(Get-Item \\"$Env:Programfiles/Google/Chrome/Application/chrome.exe\\").VersionInfo.FileVersion"'
...[
...(process.env.TEST_BROWSER_BINARY_PATH
? [
`powershell "(Get-Item \\"${process.env.TEST_BROWSER_BINARY_PATH}\\").VersionInfo.FileVersion"`,
]
: []),
'powershell "(Get-Item \\"$Env:Programfiles/Google/Chrome/Application/chrome.exe\\").VersionInfo.FileVersion"',
]
);
break;

case 'darwin':
versionCheckCommands.push(
'/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome --version'
...[
...(process.env.TEST_BROWSER_BINARY_PATH
? [`${process.env.TEST_BROWSER_BINARY_PATH} --version`]
: []),
'/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome --version',
]
);
break;

default:
versionCheckCommands.push(
...(process.env.TEST_BROWSER_BINARY_PATH
? [`${process.env.TEST_BROWSER_BINARY_PATH} --version`]
: [])
);
versionCheckCommands.push(
...[
'/usr/bin',
Expand Down Expand Up @@ -71,16 +88,31 @@ versionCheckCommands.some((cmd) => {
const majorVersion = versionCheckOutput?.match?.(/(?:^|\s)(9\d|\d{3})\./)?.[1];

if (majorVersion) {
let targetVersion = `^${majorVersion}`;

// TODO: Temporary fix to install chromedriver 112.0.0 if major version is 112.
// Exit if major version is greater than 112.
// Revert this once node is bumped to 16+.
// https://github.com/opensearch-project/OpenSearch-Dashboards/issues/3975
if (parseInt(majorVersion) === 112) {
targetVersion = '112.0.0';
} else if (parseInt(majorVersion) > 112) {
console.error(
`::error::Chrome version (${majorVersion}) is not supported by this script. The largest chrome version we support is 112.`
);
process.exit(1);
}

if (process.argv.includes('--install')) {
console.log(`Installing chromedriver@^${majorVersion}`);
console.log(`Installing chromedriver@${targetVersion}`);

spawnSync(`yarn add --dev chromedriver@^${majorVersion}`, {
spawnSync(`yarn add --dev chromedriver@${targetVersion}`, {
stdio: 'inherit',
cwd: process.cwd(),
shell: true,
});
} else {
console.log(`Upgrading to chromedriver@^${majorVersion}`);
console.log(`Upgrading to chromedriver@${targetVersion}`);

let upgraded = false;
const writeStream = createWriteStream('package.json.upgrading-chromedriver', { flags: 'w' });
Expand All @@ -92,7 +124,7 @@ if (majorVersion) {
if (line.includes('"chromedriver": "')) {
line = line.replace(
/"chromedriver":\s*"[~^]?\d[\d.]*\d"/,
`"chromedriver": "^${majorVersion}"`
`"chromedriver": "${targetVersion}"`
);
upgraded = true;
}
Expand All @@ -107,11 +139,11 @@ if (majorVersion) {
renameSync('package.json', 'package.json.bak');
renameSync('package.json.upgrading-chromedriver', 'package.json');

console.log(`Backed up package.json and updated chromedriver to ${majorVersion}`);
console.log(`Backed up package.json and updated chromedriver to ${targetVersion}`);
} else {
unlinkSync('package.json.upgrading-chromedriver');
console.error(
`Failed to update chromedriver to ${majorVersion}. Try adding the \`--install\` switch.`
`Failed to update chromedriver to ${targetVersion}. Try adding the \`--install\` switch.`
);
}
});
Expand Down

0 comments on commit b93815f

Please sign in to comment.