adminplugins; Fix reloading admin/plugins #2536
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
# Leave the powered by Sauce Labs bit in as this means we get additional concurrency | |
name: "Frontend admin tests powered by Sauce Labs" | |
on: [push] | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
jobs: | |
withplugins: | |
name: with plugins | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node: [16, 18, 20] | |
steps: | |
- | |
name: Fail if Dependabot | |
if: github.actor == 'dependabot[bot]' | |
run: | | |
cat <<EOF >&2 | |
Frontend tests skipped because Dependabot can't access secrets. | |
Manually re-run the jobs to run the frontend tests. | |
For more information, see: | |
https://github.blog/changelog/2021-02-19-github-actions-workflows-triggered-by-dependabot-prs-will-run-with-read-only-permissions/ | |
EOF | |
exit 1 | |
- | |
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@v3 | |
- | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node }} | |
cache: 'npm' | |
cache-dependency-path: | | |
src/package-lock.json | |
src/bin/doc/package-lock.json | |
- | |
name: Install the ep_etherpad-lite package from ./src | |
run: src/bin/installDeps.sh | |
- | |
name: Install etherpad plugins | |
run: npm install [email protected] | |
- | |
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: 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: increase maxHttpBufferSize | |
run: "sed -i 's/\"maxHttpBufferSize\": 10000/\"maxHttpBufferSize\": 100000/' 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 }} | |
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 |