blob: 653226ca57bab219e21fdaa1e26e4785135b4def [file]
name: Admin UI Tests
on:
pull_request:
branches:
- '*'
paths:
- '.github/workflows/admin-ui-test.yml'
# the Admin UI itself, its browser tests and its build
- 'solr/webapp/**'
# the v2 API contract the UI (and its generated js-client) is built against
- 'solr/api/**'
# the v2 API implementations backing the UI screens
- 'solr/core/src/java/org/apache/solr/handler/admin/api/**'
# the embedded-Jetty harness and test-group annotation this suite runs on
- 'solr/test-framework/src/java/org/apache/solr/embedded/**'
- 'solr/test-framework/src/java/org/apache/solr/util/SeleniumTest.java'
- 'gradle/testing/randomization.gradle'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
test:
name: Run Admin UI browser tests
# ubuntu-latest has Chrome preinstalled, which the Selenium tests require
runs-on: ubuntu-latest
timeout-minutes: 40
steps:
- name: Checkout code
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: ./.github/actions/prepare-for-build
- name: Run the Admin UI browser tests
run: ./gradlew :solr:webapp:test -Ptests.selenium=true
- name: Archive test output (screenshots, page sources, browser logs)
if: ${{ failure() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: test-output
path: |
solr/webapp/build/test-results/**
solr/webapp/build/tmp/tests-tmp/**