diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d713a2d256..9913196dc5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,47 +91,49 @@ jobs: - name: Build run: pnpm run --filter ${{matrix.workspace}} build - # browserstack-test: - # name: Browserstack ${{matrix.workspace}} ${{ matrix.launcher }} - # runs-on: ubuntu-latest - # timeout-minutes: 20 - # needs: [test] - # strategy: - # fail-fast: false - # max-parallel: 2 - # matrix: - # workspace: - # - frontend - # - test-app - # launcher: - # - BS_OSX_Safari - # - BS_MS_Edge - # - BS_IOS_SAFARI - # - BS_CHROME_ANDROID - # steps: - # - uses: actions/checkout@v4 - # - uses: pnpm/action-setup@v3 - # with: - # version: 8 - # - uses: actions/setup-node@v4 - # with: - # node-version: 20 - # cache: pnpm - # - run: pnpm install - # - name: test:browserstack ${{ matrix.launcher }} - # env: - # BROWSERSTACK_USERNAME: iliosgithub_1UGowwsqE - # # This is in plaintext on purpose. It has no privileged access to anything (this is a free - # # account) and it allows us to run browserstack tests against PRs. - # BROWSERSTACK_ACCESS_KEY: yJjw6sE6izkpUw9oasGT - # # The following is necessary when using browserstack under matrix builds on Github Actions - # # The Job ID + Run ID isn't unique across matrix runs and will fail when run simultaneously - # BROWSERSTACK_LOCAL_ID_SUFFIX: ${{ matrix.launcher }} - # run: | - # pnpm --filter ${{matrix.workspace}} exec ember browserstack:connect - # pnpm --filter ${{matrix.workspace}} exec ember test --test-port=7774 --host=127.0.0.1 --config-file=testem.browserstack.js --launch=${{ matrix.launcher }} - # pnpm --filter ${{matrix.workspace}} exec ember browserstack:disconnect - # pnpm --filter ${{matrix.workspace}} exec ember browserstack:results + browserstack-test: + name: Browserstack ${{matrix.workspace}} ${{ matrix.launcher }} + runs-on: ubuntu-latest + timeout-minutes: 20 + needs: [test] + strategy: + fail-fast: false + max-parallel: 5 + matrix: + workspace: + - frontend + - test-app + - lti-course-manager + - lti-dashboard + launcher: + - BS_OSX_Safari + - BS_MS_Edge + - BS_IOS_SAFARI + - BS_CHROME_ANDROID + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v3 + with: + version: 8 + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: pnpm + - run: pnpm install + - name: test:browserstack ${{ matrix.launcher }} + env: + BROWSERSTACK_USERNAME: iliosgithub_1UGowwsqE + # This is in plaintext on purpose. It has no privileged access to anything (this is a free + # account) and it allows us to run browserstack tests against PRs. + BROWSERSTACK_ACCESS_KEY: yJjw6sE6izkpUw9oasGT + # The following is necessary when using browserstack under matrix builds on Github Actions + # The Job ID + Run ID isn't unique across matrix runs and will fail when run simultaneously + BROWSERSTACK_LOCAL_ID_SUFFIX: ${{ matrix.launcher }} + run: | + pnpm --filter ${{matrix.workspace}} exec ember browserstack:connect + pnpm --filter ${{matrix.workspace}} exec ember test --test-port=7774 --host=127.0.0.1 --config-file=testem.browserstack.js --launch=${{ matrix.launcher }} + pnpm --filter ${{matrix.workspace}} exec ember browserstack:disconnect + pnpm --filter ${{matrix.workspace}} exec ember browserstack:results firefox-test: name: ${{matrix.workspace}} Firefox ${{ matrix.firefox-version }} diff --git a/packages/lti-course-manager/package.json b/packages/lti-course-manager/package.json index 38dba182eb..3b81d6e0ca 100644 --- a/packages/lti-course-manager/package.json +++ b/packages/lti-course-manager/package.json @@ -45,6 +45,7 @@ "ember-cli": "~5.6.0", "ember-cli-app-version": "^6.0.1", "ember-cli-babel": "^8.2.0", + "ember-cli-browserstack": "^3.0.0", "ember-cli-clean-css": "^3.0.0", "ember-cli-dependency-checker": "^3.3.2", "ember-cli-dependency-lint": "2.0.1", diff --git a/packages/lti-dashboard/package.json b/packages/lti-dashboard/package.json index b373e3f066..0afb764ffc 100644 --- a/packages/lti-dashboard/package.json +++ b/packages/lti-dashboard/package.json @@ -44,6 +44,7 @@ "ember-cli": "~5.6.0", "ember-cli-app-version": "^6.0.1", "ember-cli-babel": "^8.2.0", + "ember-cli-browserstack": "^3.0.0", "ember-cli-clean-css": "^3.0.0", "ember-cli-dependency-checker": "^3.3.2", "ember-cli-dependency-lint": "2.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 43ee0fd2f6..4f7ea370e4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -673,6 +673,9 @@ importers: ember-cli-babel: specifier: ^8.2.0 version: 8.2.0(@babel/core@7.24.0) + ember-cli-browserstack: + specifier: ^3.0.0 + version: 3.0.0 ember-cli-clean-css: specifier: ^3.0.0 version: 3.0.0 @@ -856,6 +859,9 @@ importers: ember-cli-babel: specifier: ^8.2.0 version: 8.2.0(@babel/core@7.24.0) + ember-cli-browserstack: + specifier: ^3.0.0 + version: 3.0.0 ember-cli-clean-css: specifier: ^3.0.0 version: 3.0.0