Skip to content

Commit

Permalink
chore: Update Raise-Release-PR action (#1087)
Browse files Browse the repository at this point in the history
  • Loading branch information
cwli24 authored Jun 26, 2024
1 parent 9bb69da commit 37f8bb0
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 21 deletions.
7 changes: 2 additions & 5 deletions .github/actions/docs-pr/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,7 @@ export const CHANGELOG_FILE_PATH = path.resolve(
CHANGELOG_FILE_NAME
)

export const BROWSER_SUPPORT_LIST_FILE_PATH = path.resolve(
__dirname,
'../../../tools/browsers-lists/browsers-supported.json'
)
export const BROWSER_LASTEST_VERSIONS_FILE_PATH = path.resolve(__dirname, '../../../tools/browsers-lists/lt-desktop-latest-vers.json')
export const MOBILE_VERSIONS_FILE_PATH = path.resolve(__dirname, '../../../tools/browsers-lists/lt-mobile-supported.json')

export const ANDROID_CHROME_VERSION = 100 // for browser target statement; SauceLabs only offers one Android Chrome version
export const RELEASE_NOTES_PATH = 'src/content/docs/release-notes/new-relic-browser-release-notes/browser-agent-release-notes'
5 changes: 2 additions & 3 deletions .github/actions/docs-pr/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
DOCS_SITE_GITHUB_REPO,
DOCS_SITE_REPO_BASE,
CHANGELOG_FILE_PATH,
RELEASE_NOTES_PATH, ANDROID_CHROME_VERSION,
RELEASE_NOTES_PATH,
} from './constants.js'
import { GitCliRunner } from '../shared-utils/git-cli-runner.js'
import Handlebars from 'handlebars'
Expand Down Expand Up @@ -64,8 +64,7 @@ const bodyContent = {
bugs: [],
security: [],
browserVersions: {
...(await getBrowserVersions()),
androidChromeVersion : ANDROID_CHROME_VERSION
...(await getBrowserVersions())
}
}

Expand Down
2 changes: 1 addition & 1 deletion .github/actions/docs-pr/templates/release-notes.handlebars
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@ New Relic recommends that you upgrade the agent regularly to ensure that you're

New browser agent releases are rolled out to customers in small stages over a period of time. Because of this, the date the release becomes accessible to your account may not match the original publish date. Please see this [status dashboard](https://newrelic.github.io/newrelic-browser-agent-release/) for more information.

Consistent with our [browser support policy](https://docs.newrelic.com/docs/browser/new-relic-browser/getting-started/compatibility-requirements-browser-monitoring/#browser-types), {{bodyContent.version}} of the Browser agent was built for and tested against these browsers and version ranges: Chrome {{bodyContent.browserVersions.min.chrome}}-{{bodyContent.browserVersions.max.chrome}}, Edge {{bodyContent.browserVersions.min.edge}}-{{bodyContent.browserVersions.max.edge}}, Safari {{bodyContent.browserVersions.min.safari}}-{{bodyContent.browserVersions.max.safari}}, and Firefox {{bodyContent.browserVersions.min.firefox}}-{{bodyContent.browserVersions.max.firefox}}. For mobile devices, v1.251.1 was built and tested for Android Chrome {{bodyContent.browserVersions.androidChromeVersion}}-{{bodyContent.browserVersions.max.chrome}} and iOS Safari {{bodyContent.browserVersions.min.ios}}-{{bodyContent.browserVersions.max.ios}}.
Consistent with our [browser support policy](https://docs.newrelic.com/docs/browser/new-relic-browser/getting-started/compatibility-requirements-browser-monitoring/#browser-types), {{bodyContent.version}} of the Browser agent was built for and tested against these browsers and version ranges: Chrome {{bodyContent.browserVersions.min.chrome}}-{{bodyContent.browserVersions.max.chrome}}, Edge {{bodyContent.browserVersions.min.edge}}-{{bodyContent.browserVersions.max.edge}}, Safari {{bodyContent.browserVersions.min.safari}}-{{bodyContent.browserVersions.max.safari}}, and Firefox {{bodyContent.browserVersions.min.firefox}}-{{bodyContent.browserVersions.max.firefox}}. For mobile devices, {{bodyContent.version}} was built and tested for Android OS {{bodyContent.browserVersions.min.android}}-{{bodyContent.browserVersions.max.android}} and iOS Safari {{bodyContent.browserVersions.min.ios}}-{{bodyContent.browserVersions.max.ios}}.
27 changes: 16 additions & 11 deletions .github/actions/docs-pr/utils.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import fs from 'fs'
import { BROWSER_SUPPORT_LIST_FILE_PATH } from './constants.js'
import { BROWSER_LASTEST_VERSIONS_FILE_PATH, MOBILE_VERSIONS_FILE_PATH } from './constants.js'

/**
* Strips the conventional commit prefix and Jira issue suffix from a title.
Expand All @@ -19,20 +19,25 @@ export function cleanTitle (rawTitle) {
* @returns {string} The min and max browser versions
*/
export async function getBrowserVersions () {
const browserData = JSON.parse(await fs.promises.readFile(BROWSER_SUPPORT_LIST_FILE_PATH))
const lastVersions = JSON.parse(await fs.promises.readFile(BROWSER_LASTEST_VERSIONS_FILE_PATH))
const mobileVersions = JSON.parse(await fs.promises.readFile(MOBILE_VERSIONS_FILE_PATH))

const min = {}
const max = {}

for (let browser in browserData) {
const browserVersions = browserData[browser]
min[browser] = Infinity
max[browser] = -Infinity
for (let browserVersion of browserVersions) {
const versionNumber = Number(browserVersion.version)
min[browser] = min[browser] > versionNumber ? versionNumber : min[browser]
max[browser] = max[browser] < versionNumber ? versionNumber : max[browser]
}
for (let browser in lastVersions) {
if (browser === 'safari_min') continue // only do 'safari' not both
const curVersion = lastVersions[browser]
max[browser] = Number(curVersion)
// chromium & ff follows major versioning releases, while safari doesn't
if (browser === 'safari') min[browser] = Number(lastVersions['safari_min'])
else min[browser] = max[browser] - 10
}

for (let mobile in mobileVersions) {
const specsArray = mobileVersions[mobile]
max[mobile] = Number(specsArray[0].version)
min[mobile] = Number(specsArray[1].version)
}

return { min, max }
Expand Down
3 changes: 2 additions & 1 deletion tools/browsers-lists/lt-desktop-latest-vers.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
"chrome": 125,
"edge": 126,
"firefox": 126,
"safari": 17
"safari": 17,
"safari_min": 16
}
1 change: 1 addition & 0 deletions tools/browsers-lists/lt-update-supported.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ function updateLatestVersions (deskPlatforms) {
const safaris = macOSes.map(p => p.browsers.find(spec => spec.browser_name === 'Safari'))
safaris.sort((a, b) => Number(a.version) - Number(b.version))
latestVersionsJson.safari = Number(safaris.pop().version)
latestVersionsJson.safari_min = Math.floor(browserslistMinVersion('last 10 Safari versions'))

return latestVersionsJson
}
Expand Down

0 comments on commit 37f8bb0

Please sign in to comment.