From 9a9d3994dacb131c6ff416b044b4e306edc6e877 Mon Sep 17 00:00:00 2001 From: Steve Gravrock Date: Mon, 3 Nov 2025 07:37:11 -0800 Subject: [PATCH] Add Safari 26 to supported browsers --- .circleci/config.yml | 4 ++-- .github/workflows/safari.yml | 21 +++++++++++++++++++ README.md | 2 +- RELEASE.md | 15 ++++++++++--- .../{run-all-browsers => run-sauce-browsers} | 5 +++++ spec/core/EnvSpec.js | 1 - 6 files changed, 41 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/safari.yml rename scripts/{run-all-browsers => run-sauce-browsers} (80%) diff --git a/.circleci/config.yml b/.circleci/config.yml index fe0b2b31..fce54861 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,5 +1,5 @@ # Run tests against supported Node versions, and (except for pull requests) -# against supported browsers. +# against supported browsers that are available on Saucelabs. version: 2.1 @@ -93,7 +93,7 @@ jobs: export SAUCE_TUNNEL_NAME=$CIRCLE_WORKFLOW_JOB_ID scripts/start-sauce-connect set +o errexit - scripts/run-all-browsers + scripts/run-sauce-browsers exitcode=$? set -o errexit scripts/stop-sauce-connect diff --git a/.github/workflows/safari.yml b/.github/workflows/safari.yml new file mode 100644 index 00000000..d22ae3a6 --- /dev/null +++ b/.github/workflows/safari.yml @@ -0,0 +1,21 @@ +name: Test in latest available Safari + +on: + push: + pull_request: + +jobs: + build: + runs-on: macos-latest + + steps: + - name: Report Safari version + run: osascript -e 'get version of application "Safari"' + - uses: actions/checkout@v4 + - name: Use Node.js 22.x + uses: actions/setup-node@v4 + with: + node-version: 22.x + - run: npm install + - run: npm run build + - run: JASMINE_BROWSER=safari npm run ci diff --git a/README.md b/README.md index d61e6b74..64f297e6 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Microsoft Edge) as well as Node. | Environment | Supported versions | |-------------------|----------------------------------| | Node | 18.20.5+*, 20, 22, 24 | -| Safari | 16*, 17* | +| Safari | 16*, 17*, 26* | | Chrome | Evergreen | | Firefox | Evergreen, 102*, 115*, 128*, 140 | | Edge | Evergreen | diff --git a/RELEASE.md b/RELEASE.md index 632a75ee..28c81ee8 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -28,9 +28,18 @@ should also rev to that version. When ready to release - specs are all green and the stories are done: -1. Update the release notes in `release_notes` - use the Anchorman gem to generate the markdown file and edit accordingly. Include a list of supported environments. -1. Update the version in `package.json` -1. Run `npm run build`. +1. Update the release notes in `release_notes` - use the Anchorman gem to + generate the Markdown file and edit accordingly. Include a list of supported + environments. Get that information from these places: + * For Node, see .circleci/config.yml or the README. + * For Firefox ESR and Safari <=17, see scripts/run-sauce-browsers or the README. + * For evergreen browsers, trigger a Circle CI run and check the + [Saucelabs dashboard](https://app.saucelabs.com/dashboard/tests?ownerId=90a771d55857492da3bd5251a2d92457&ownerType=user&ownerName=jasmine-js&start=last7days) + once it's finished. + * For Safari >17, trigger the [Safari action](https://github.com/jasmine/jasmine/actions/workflows/safari.yml) + and get the version from the output. +2. Update the version in `package.json` +3. Run `npm run build`. ### Commit and push core changes diff --git a/scripts/run-all-browsers b/scripts/run-sauce-browsers similarity index 80% rename from scripts/run-all-browsers rename to scripts/run-sauce-browsers index f28619a0..fc6abd7b 100755 --- a/scripts/run-all-browsers +++ b/scripts/run-sauce-browsers @@ -1,5 +1,10 @@ #!/bin/sh +# Run tests in supported browsers that are available on Saucelabs. +# Note: The latest Safari version is tested via GitHub Actions because Saucelabs +# only makes it available to paid enterprise accounts. See +# .github/workflows/safari.yml. + run_browser() { browser=$1 version=$2 diff --git a/spec/core/EnvSpec.js b/spec/core/EnvSpec.js index 39392ce1..5075817a 100644 --- a/spec/core/EnvSpec.js +++ b/spec/core/EnvSpec.js @@ -1,4 +1,3 @@ -// TODO: Fix these unit tests! describe('Env', function() { let env; beforeEach(function() {