Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update typesense-js dependency to 2.0.0-14 and fix Ubuntu 24.04 issues on CI #229

Merged
merged 7 commits into from
Jan 16, 2025

Conversation

tharropoulos
Copy link
Contributor

@tharropoulos tharropoulos commented Jan 15, 2025

Change Summary

What is this?

This PR addresses CI failures occurring on ubuntu-latest and ubuntu-24.04 runners. The current Puppeteer setup doesn't work properly on these environments, causing our e2e tests to fail. This update properly configures the necessary system dependencies and Chrome installation to ensure our tests run reliably across all Ubuntu versions.

Changes

CI Environment Setup:

  1. In .github/workflows/tests.yml:

    • Add required system dependencies for Ubuntu 24.04 compatibility
    • Configure proper Chrome browser installation
    • Add missing libraries: libdbus-1-3, libgdk-pixbuf2.0-0, libgtk-3-0
    • Include font and XDG dependencies required by newer Ubuntu versions
    • Set if: always() for screenshot artifacts to capture even on failures
  2. In jest-puppeteer.config.js:

    • Add essential Chrome flags for sandbox configuration
    • Configure custom Chrome executable path for CI environment
    • Remove problematic configuration options that cause issues in newer environments

Dependency Updates:

  1. Package Updates:
    • Upgrade Typesense client to 2.0.0-14 for better compatibility

Context

Our CI pipeline was failing on newer Ubuntu versions due to missing system dependencies and incorrect Chrome configuration. These changes ensure our tests run consistently across all supported Ubuntu versions in GitHub Actions.

PR Checklist

- add system dependencies required for running puppeteer tests
- install chromium-browser for headless testing
- configure artifact upload for screenshots
- replace manual chrome installation with `browser-actions/setup-chrome`
- add `xvfb-run` for headless browser testing
- configure chrome path in `jest-puppeteer.config.js`
- ensure screenshots are always uploaded even on test failure
@tharropoulos tharropoulos changed the title Update typesense-js dependency to 2.0.0-14 Update typesense-js dependency to 2.0.0-14 and fix Ubuntu 24.04 issues on CI Jan 16, 2025
@jasonbosco jasonbosco merged commit f58a529 into typesense:master Jan 16, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants