tests: Upgrade sendkeys, fix some bugs #1061
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
name: "Windows Build" | |
# any branch is useful for testing before a PR is submitted | |
on: [push, pull_request] | |
permissions: | |
contents: read | |
jobs: | |
build-zip: | |
# run on pushes to any branch | |
# run on PRs from external forks | |
if: | | |
(github.event_name != 'pull_request') | |
|| (github.event.pull_request.head.repo.id != github.event.pull_request.base.repo.id) | |
name: Build .zip | |
runs-on: windows-latest | |
steps: | |
- | |
uses: msys2/setup-msys2@v2 | |
with: | |
path-type: inherit | |
install: >- | |
zip | |
- | |
name: Checkout repository | |
uses: actions/checkout@v4 | |
- | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'npm' | |
cache-dependency-path: | | |
src/package-lock.json | |
src/bin/doc/package-lock.json | |
- | |
name: Install all dependencies and symlink for ep_etherpad-lite | |
shell: msys2 {0} | |
run: src/bin/installDeps.sh | |
- | |
name: Run the backend tests | |
shell: msys2 {0} | |
run: cd src && npm test | |
- | |
name: Build the .zip | |
shell: msys2 {0} | |
run: src/bin/buildForWindows.sh | |
- | |
name: Archive production artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: etherpad-win.zip | |
path: etherpad-win.zip | |
build-exe: | |
if: | | |
(github.event_name != 'pull_request') | |
|| (github.event.pull_request.head.repo.id != github.event.pull_request.base.repo.id) | |
name: Build .exe | |
needs: build-zip | |
runs-on: windows-latest | |
steps: | |
- | |
name: Checkout repository | |
uses: actions/checkout@v4 | |
- | |
name: Download .zip | |
uses: actions/download-artifact@v3 | |
with: | |
name: etherpad-win.zip | |
path: .. | |
- | |
name: Extract .zip | |
working-directory: .. | |
run: 7z x etherpad-win.zip -oetherpad-zip | |
- | |
name: Create installer | |
uses: joncloud/[email protected] | |
with: | |
script-file: 'src/bin/nsis/etherpad.nsi' | |
- | |
name: Archive production artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: etherpad-win.exe | |
path: etherpad-win.exe | |
deploy-zip: | |
# run on pushes to any branch | |
# run on PRs from external forks | |
permissions: | |
contents: write | |
if: | | |
(github.event_name != 'pull_request') | |
|| (github.event.pull_request.head.repo.id != github.event.pull_request.base.repo.id) | |
name: Deploy | |
needs: build-zip | |
runs-on: windows-latest | |
steps: | |
- | |
name: Download zip | |
uses: actions/download-artifact@v3 | |
with: | |
name: etherpad-win.zip | |
- | |
name: Extract Etherpad | |
run: 7z x etherpad-win.zip -oetherpad | |
- | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
cache: 'npm' | |
cache-dependency-path: | | |
etherpad/src/package-lock.json | |
etherpad/src/bin/doc/package-lock.json | |
- | |
name: Install Cypress | |
run: cd etherpad && cd src && npm install cypress | |
- | |
name: Run Etherpad | |
run: | | |
cd etherpad | |
node node_modules\ep_etherpad-lite\node\server.js & | |
curl --connect-timeout 10 --max-time 20 --retry 5 --retry-delay 10 --retry-max-time 60 --retry-connrefused http://127.0.0.1:9001/p/test | |
src\node_modules\cypress\bin\cypress run --config-file src\tests\frontendcypress\cypress.config.js | |
# On release, upload windows zip to GitHub release tab | |
- | |
name: Rename to etherpad-lite-win.zip | |
shell: powershell | |
run: mv etherpad-win.zip etherpad-lite-win.zip | |
- name: upload binaries to release | |
uses: softprops/action-gh-release@v1 | |
if: ${{startsWith(github.ref, 'refs/tags/') }} | |
with: | |
files: etherpad-lite-win.zip |