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

Fix possible CI errors regarding browser user data isolation and fixed a system test case #42

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

jebediah47
Copy link
Contributor

Πρόσθεσα το browser-actions/setup-chrome@v1 action επειδή εν τέλει το Selenium (το οποίο χρησιμοποιείται για τα system tests) χρειάζεται ένα proprietary Chrome binary μαζί με το ανίστοιχο ChromeDriver τα οποία δεν είναι εγκατεστημένα σε όλα τα act runners του GitHub. Σε μερικές περιπτώσεις όμως μπορεί τα user data να χρησιμοποιούνται από 2 tests ταυτόχρονα και να δημιουργήσει το συγκεκρειμένο error:

Selenium::WebDriver::Error::SessionNotCreatedError: session not created: probably user data directory is already in us

dirconfict.txt για ολόκληρο το logfile.
Για αυτό πρόσθεσα:

run: |
          # Create a unique user data directory for each test run
          export CHROME_USER_DATA_DIR=$(mktemp -d)
          bin/rails db:prepare && bin/rails test:system
Capybara.register_driver :selenium_chrome do |app|
  options = Selenium::WebDriver::Chrome::Options.new
  options.add_argument('--no-sandbox')
  options.add_argument('--disable-dev-shm-usage')
  options.add_argument('--headless') # Run in headless mode for CI
  options.add_argument("--user-data-dir=#{ENV['CHROME_USER_DATA_DIR']}") # Use unique user data directory
  Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end

για να χρησιμοποιηθεί ένα τυχαίο user data directory σε κάθε ξεχωριστό test run.

Επιπλέον σχεδόν όλα τα system tests κάνανε fail όπως φαίνεται από πρηγούμενα CI runs.
Μπόρεσα να φτιάξω το visiting the index system test απλά τοποθετώντας ένα post class στο _post.html.erb
Τα νέα logs: logs.txt

Τώρα όλα τα system tests πρέπει να κάνουν inherit από το ActionDispatch::SystemTestCase αντί για ApplicationSystemTestCase στο προηγούμενα iterations.

@jebediah47 jebediah47 changed the title Fix possible CI errors regarding browser user data isolation and fixed 2 system test cases Fix possible CI errors regarding browser user data isolation and fixed a system test case Jan 4, 2025
…llation errors

Ubuntu 24.04 LTS solves the Year 2038 problem 2.0k that existed on armhf. More than a thousand packages have been updated to handle time using a 64-bit value rather than a 32-bit one, making it possible to handle times up to 292 billion years in the future.

That is the reason for the new name libasound2t64 with t64 at the end.
Turns out install-dependencies might be the issue
@jebediah47
Copy link
Contributor Author

Fixed dep issues associated with setup-chrome action

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.

1 participant