-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
119 changed files
with
2,279 additions
and
1,643 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
* text=auto eol=lf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,52 +7,71 @@ jobs: | |
name: with plugins | ||
runs-on: ubuntu-latest | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
node: [10, 12, 14, 15] | ||
|
||
steps: | ||
- name: Generate Sauce Labs strings | ||
id: sauce_strings | ||
run: | | ||
printf %s\\n '::set-output name=name::${{ github.workflow }} - ${{ github.job }} - Node ${{ matrix.node }}' | ||
printf %s\\n '::set-output name=tunnel_id::${{ github.run_id }}-${{ github.run_number }}-${{ github.job }}-node${{ matrix.node }}' | ||
- name: Checkout repository | ||
uses: actions/checkout@v2 | ||
|
||
- uses: actions/setup-node@v2 | ||
with: | ||
node-version: 12 | ||
node-version: ${{ matrix.node }} | ||
|
||
- name: Run sauce-connect-action | ||
shell: bash | ||
env: | ||
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} | ||
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | ||
TRAVIS_JOB_NUMBER: ${{ github.run_id }}-${{ github.run_number }}-${{ github.job }} | ||
run: src/tests/frontend/travis/sauce_tunnel.sh | ||
- name: Install etherpad plugins | ||
# We intentionally install an old ep_align version to test upgrades to the minor version number. | ||
# The --legacy-peer-deps flag is required to work around a bug in npm v7: | ||
# https://github.com/npm/cli/issues/2199 | ||
run: npm install --no-save --legacy-peer-deps [email protected] | ||
|
||
# This must be run after installing the plugins, otherwise npm will try to | ||
# hoist common dependencies by removing them from src/node_modules and | ||
# installing them in the top-level node_modules. As of v6.14.10, npm's hoist | ||
# logic appears to be buggy, because it sometimes removes dependencies from | ||
# src/node_modules but fails to add them to the top-level node_modules. Even | ||
# if npm correctly hoists the dependencies, the hoisting seems to confuse | ||
# tools such as `npm outdated`, `npm update`, and some ESLint rules. | ||
- name: Install all dependencies and symlink for ep_etherpad-lite | ||
run: src/bin/installDeps.sh | ||
|
||
# We intentionally install a much old ep_align version to test update minor versions | ||
- name: Install etherpad plugins | ||
run: npm install [email protected] | ||
|
||
# Nuke plugin tests | ||
# Nuke plugin tests | ||
- name: Install etherpad plugins | ||
run: rm -Rf node_modules/ep_align/static/tests/* | ||
|
||
- name: export GIT_HASH to env | ||
id: environment | ||
run: echo "::set-output name=sha_short::$(git rev-parse --short ${{ github.sha }})" | ||
|
||
- name: Write custom settings.json with loglevel WARN | ||
run: "sed 's/\"loglevel\": \"INFO\",/\"loglevel\": \"WARN\",/' < settings.json.template > settings.json" | ||
- name: Create settings.json | ||
run: cp settings.json.template settings.json | ||
|
||
- name: Write custom settings.json that enables the Admin UI tests | ||
run: "sed -i 's/\"enableAdminUITests\": false/\"enableAdminUITests\": true,\\n\"users\":{\"admin\":{\"password\":\"changeme\",\"is_admin\":true}}/' settings.json" | ||
|
||
- name: Remove standard frontend test files, so only admin tests are run | ||
run: mv src/tests/frontend/specs/* /tmp && mv /tmp/admin*.js src/tests/frontend/specs | ||
|
||
- uses: saucelabs/[email protected] | ||
with: | ||
username: ${{ secrets.SAUCE_USERNAME }} | ||
accessKey: ${{ secrets.SAUCE_ACCESS_KEY }} | ||
tunnelIdentifier: ${{ steps.sauce_strings.outputs.tunnel_id }} | ||
|
||
- name: Run the frontend admin tests | ||
shell: bash | ||
env: | ||
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} | ||
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | ||
TRAVIS_JOB_NUMBER: ${{ github.run_id }}-${{ github.run_number }}-${{ github.job }} | ||
SAUCE_NAME: ${{ steps.sauce_strings.outputs.name }} | ||
TRAVIS_JOB_NUMBER: ${{ steps.sauce_strings.outputs.tunnel_id }} | ||
GIT_HASH: ${{ steps.environment.outputs.sha_short }} | ||
run: | | ||
src/tests/frontend/travis/adminrunner.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,37 +8,46 @@ jobs: | |
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Generate Sauce Labs strings | ||
id: sauce_strings | ||
run: | | ||
printf %s\\n '::set-output name=name::${{ github.workflow }} - ${{ github.job }}' | ||
printf %s\\n '::set-output name=tunnel_id::${{ github.run_id }}-${{ github.run_number }}-${{ github.job }}' | ||
- name: Checkout repository | ||
uses: actions/checkout@v2 | ||
|
||
- uses: actions/setup-node@v2 | ||
with: | ||
node-version: 12 | ||
|
||
- name: Run sauce-connect-action | ||
shell: bash | ||
env: | ||
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} | ||
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | ||
TRAVIS_JOB_NUMBER: ${{ github.run_id }}-${{ github.run_number }}-${{ github.job }} | ||
run: src/tests/frontend/travis/sauce_tunnel.sh | ||
|
||
- name: Install all dependencies and symlink for ep_etherpad-lite | ||
run: src/bin/installDeps.sh | ||
|
||
- name: export GIT_HASH to env | ||
id: environment | ||
run: echo "::set-output name=sha_short::$(git rev-parse --short ${{ github.sha }})" | ||
|
||
- name: Write custom settings.json with loglevel WARN | ||
run: "sed 's/\"loglevel\": \"INFO\",/\"loglevel\": \"WARN\",/' < settings.json.template > settings.json" | ||
- name: Create settings.json | ||
run: cp settings.json.template settings.json | ||
|
||
- name: Disable import/export rate limiting | ||
run: | | ||
sed -e '/^ *"importExportRateLimiting":/,/^ *\}/ s/"max":.*/"max": 0/' -i settings.json | ||
- uses: saucelabs/[email protected] | ||
with: | ||
username: ${{ secrets.SAUCE_USERNAME }} | ||
accessKey: ${{ secrets.SAUCE_ACCESS_KEY }} | ||
tunnelIdentifier: ${{ steps.sauce_strings.outputs.tunnel_id }} | ||
|
||
- name: Run the frontend tests | ||
shell: bash | ||
env: | ||
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} | ||
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | ||
TRAVIS_JOB_NUMBER: ${{ github.run_id }}-${{ github.run_number }}-${{ github.job }} | ||
SAUCE_NAME: ${{ steps.sauce_strings.outputs.name }} | ||
TRAVIS_JOB_NUMBER: ${{ steps.sauce_strings.outputs.tunnel_id }} | ||
GIT_HASH: ${{ steps.environment.outputs.sha_short }} | ||
run: | | ||
src/tests/frontend/travis/runner.sh | ||
|
@@ -48,24 +57,24 @@ jobs: | |
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Generate Sauce Labs strings | ||
id: sauce_strings | ||
run: | | ||
printf %s\\n '::set-output name=name::${{ github.workflow }} - ${{ github.job }}' | ||
printf %s\\n '::set-output name=tunnel_id::${{ github.run_id }}-${{ github.run_number }}-${{ github.job }}' | ||
- name: Checkout repository | ||
uses: actions/checkout@v2 | ||
|
||
- uses: actions/setup-node@v2 | ||
with: | ||
node-version: 12 | ||
|
||
- name: Run sauce-connect-action | ||
shell: bash | ||
env: | ||
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} | ||
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | ||
TRAVIS_JOB_NUMBER: ${{ github.run_id }}-${{ github.run_number }}-${{ github.job }} | ||
run: src/tests/frontend/travis/sauce_tunnel.sh | ||
|
||
- name: Install Etherpad plugins | ||
# The --legacy-peer-deps flag is required to work around a bug in npm v7: | ||
# https://github.com/npm/cli/issues/2199 | ||
run: > | ||
npm install | ||
npm install --no-save --legacy-peer-deps | ||
ep_align | ||
ep_author_hover | ||
ep_cursortrace | ||
|
@@ -94,22 +103,30 @@ jobs: | |
id: environment | ||
run: echo "::set-output name=sha_short::$(git rev-parse --short ${{ github.sha }})" | ||
|
||
- name: Write custom settings.json with loglevel WARN | ||
run: "sed 's/\"loglevel\": \"INFO\",/\"loglevel\": \"WARN\",/' < settings.json.template > settings.json" | ||
- name: Create settings.json | ||
run: cp settings.json.template settings.json | ||
|
||
- name: Write custom settings.json that enables the Admin UI tests | ||
run: "sed -i 's/\"enableAdminUITests\": false/\"enableAdminUITests\": true,\\n\"users\":{\"admin\":{\"password\":\"changeme\",\"is_admin\":true}}/' settings.json" | ||
- name: Disable import/export rate limiting | ||
run: | | ||
sed -e '/^ *"importExportRateLimiting":/,/^ *\}/ s/"max":.*/"max": 0/' -i settings.json | ||
# XXX we should probably run all tests, because plugins could effect their results | ||
- name: Remove standard frontend test files, so only plugin tests are run | ||
run: rm src/tests/frontend/specs/* | ||
|
||
- uses: saucelabs/[email protected] | ||
with: | ||
username: ${{ secrets.SAUCE_USERNAME }} | ||
accessKey: ${{ secrets.SAUCE_ACCESS_KEY }} | ||
tunnelIdentifier: ${{ steps.sauce_strings.outputs.tunnel_id }} | ||
|
||
- name: Run the frontend tests | ||
shell: bash | ||
env: | ||
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }} | ||
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} | ||
TRAVIS_JOB_NUMBER: ${{ github.run_id }}-${{ github.run_number }}-${{ github.job }} | ||
SAUCE_NAME: ${{ steps.sauce_strings.outputs.name }} | ||
TRAVIS_JOB_NUMBER: ${{ steps.sauce_strings.outputs.tunnel_id }} | ||
GIT_HASH: ${{ steps.environment.outputs.sha_short }} | ||
run: | | ||
src/tests/frontend/travis/runner.sh |
Oops, something went wrong.