diff --git a/.github/workflows/selenium.yaml b/.github/workflows/selenium.yaml
new file mode 100644
index 00000000000..8fc027f361e
--- /dev/null
+++ b/.github/workflows/selenium.yaml
@@ -0,0 +1,43 @@
+name: Selenium tests
+on: [push, pull_request]
+env:
+ GALAXY_TEST_DBURI: 'postgres://postgres:postgres@localhost:5432/galaxy?client_encoding=utf8'
+ GALAXY_TEST_SKIP_FLAKEY_TESTS_ON_ERROR: 'true'
+jobs:
+ test:
+ name: Test
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ python-version: ['3.7']
+ chunk: [0, 1, 2]
+ services:
+ postgres:
+ image: postgres:11
+ env:
+ POSTGRES_USER: postgres
+ POSTGRES_PASSWORD: postgres
+ POSTGRES_DB: postgres
+ ports:
+ - 5432:5432
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ path: 'galaxy root'
+ - uses: actions/setup-python@v2
+ with:
+ python-version: ${{ matrix.python-version }}
+ - name: Cache pip dir
+ uses: actions/cache@v2
+ with:
+ path: ~/.cache/pip
+ key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('galaxy root/requirements.txt') }}
+ - uses: nanasess/setup-chromedriver@master
+ - name: Run tests
+ run: ./run_tests.sh -selenium lib/galaxy_test/selenium -- --num-shards=3 --shard-id=${{ matrix.chunk }}
+ working-directory: 'galaxy root'
+ - uses: actions/upload-artifact@v2
+ if: failure()
+ with:
+ name: Selenium test results
+ path: 'galaxy root/database/test_errors'
diff --git a/client/src/components/Sharing.vue b/client/src/components/Sharing.vue
index d9c97a05a04..68ff43031bd 100644
--- a/client/src/components/Sharing.vue
+++ b/client/src/components/Sharing.vue
@@ -11,10 +11,16 @@