feat(packaging): add Debian (.deb) build via nfpm with systemd unit (v2) #7068
Workflow file for this run
This file contains hidden or 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: "Frontend tests" | |
| on: | |
| push: | |
| paths-ignore: | |
| - 'doc/**' | |
| pull_request: | |
| paths-ignore: | |
| - 'doc/**' | |
| permissions: | |
| contents: read | |
| jobs: | |
| playwright-chrome: | |
| env: | |
| PNPM_HOME: ~/.pnpm-store | |
| name: Playwright Chrome | |
| runs-on: ubuntu-latest | |
| steps: | |
| - | |
| name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - uses: actions/cache@v5 | |
| name: Setup gnpm cache | |
| if: always() | |
| with: | |
| path: | | |
| ${{ env.PNPM_HOME }} | |
| ~/.cache/ms-playwright | |
| ~/.local/share/gnpm | |
| /usr/local/bin/gnpm | |
| /usr/local/bin/gnpm-0.0.12 | |
| key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-gnpm-store- | |
| - name: Setup gnpm | |
| uses: SamTV12345/gnpm-setup@main | |
| with: | |
| version: 0.0.12 | |
| - | |
| name: Install all dependencies and symlink for ep_etherpad-lite | |
| run: gnpm install --frozen-lockfile | |
| - | |
| name: Create settings.json | |
| run: cp ./src/tests/settings.json settings.json | |
| - name: Run the frontend tests | |
| shell: bash | |
| run: | | |
| gnpm run prod > /tmp/etherpad-server.log 2>&1 & | |
| connected=false | |
| can_connect() { | |
| curl -sSfo /dev/null http://localhost:9001/ || return 1 | |
| connected=true | |
| } | |
| now() { date +%s; } | |
| start=$(now) | |
| while [ $(($(now) - $start)) -le 15 ] && ! can_connect; do | |
| sleep 1 | |
| done | |
| cd src | |
| gnpm exec playwright install chromium --with-deps | |
| gnpm run test-ui --project=chromium | |
| - name: Upload server log on failure | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: server-log-chrome | |
| path: /tmp/etherpad-server.log | |
| retention-days: 7 | |
| - uses: actions/upload-artifact@v7 | |
| if: always() | |
| with: | |
| name: playwright-report-chrome | |
| path: src/playwright-report/ | |
| retention-days: 30 | |
| playwright-firefox: | |
| env: | |
| PNPM_HOME: ~/.pnpm-store | |
| name: Playwright Firefox | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - uses: actions/cache@v5 | |
| name: Setup gnpm cache | |
| if: always() | |
| with: | |
| path: | | |
| ${{ env.PNPM_HOME }} | |
| ~/.local/share/gnpm | |
| ~/.cache/ms-playwright | |
| /usr/local/bin/gnpm | |
| /usr/local/bin/gnpm-0.0.12 | |
| key: ${{ runner.os }}-gnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-gnpm-store- | |
| - name: Setup gnpm | |
| uses: SamTV12345/gnpm-setup@main | |
| with: | |
| version: 0.0.12 | |
| - name: Install all dependencies and symlink for ep_etherpad-lite | |
| run: gnpm install --frozen-lockfile | |
| - name: Create settings.json | |
| run: cp ./src/tests/settings.json settings.json | |
| - name: Run the frontend tests | |
| shell: bash | |
| run: | | |
| gnpm run prod > /tmp/etherpad-server.log 2>&1 & | |
| connected=false | |
| can_connect() { | |
| curl -sSfo /dev/null http://localhost:9001/ || return 1 | |
| connected=true | |
| } | |
| now() { date +%s; } | |
| start=$(now) | |
| while [ $(($(now) - $start)) -le 15 ] && ! can_connect; do | |
| sleep 1 | |
| done | |
| cd src | |
| gnpm exec playwright install firefox --with-deps | |
| gnpm run test-ui --project=firefox | |
| - name: Upload server log on failure | |
| uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: server-log-firefox | |
| path: /tmp/etherpad-server.log | |
| retention-days: 7 | |
| - uses: actions/upload-artifact@v7 | |
| if: always() | |
| with: | |
| name: playwright-report-firefox | |
| path: src/playwright-report/ | |
| retention-days: 30 |