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

ANW-1727 major dependency and test upgrades (WIP) #3039

Merged
merged 112 commits into from
May 20, 2024

Conversation

donaldjosephsmith
Copy link
Collaborator

This is a replacement of #3033 with a renamed branch to facilitate internal deployment for testing.

The following are comments left by Brian on the current status of the branch:

It contains a number of dependency upgrades:
Updates JRuby to latest in 9.3.x.x series (Ruby 2.6).
Updates Rails to 6.1.
Updates Bootstrap to 4.3.
Updates jQuery from 1 to 3.
Migrates staff application's css from less to sass.
Also updates Nokogiri and Sequel to more recent versions.

In addition, there are lots of changes to the tests, especially the tests in public/spec/features and frontend/spec/features, including:

rout application and test logger output to the ci_logs directory
add ability to capture JS debug messages in the test logger
Unfortunately, I have not been able to get this PR to pass CI. This may in part be explained by existing transient errors appearing more often due to more constrained Github runner resources(?), or there may still be bugs that were introduced by the dependency upgrades. The most problematic area is frontend/spec/selenium/spec - these tests are very old and very time-consuming to debug. Ideally, they should all be ported over toofrontend/spec/features so they can take advantage of the Capybara DSL and helpers (and so their actual utility can be assessed).

Aside from getting the tests to pass, the other significant work to be done will be matching the look and feel of the master branch, as the Bootstrap upgrade has broken much of the styling.

orangewolf and others added 22 commits June 8, 2023 13:06
…2808)

* update jruby to Java 11 compatible version, set up dockerfile for full dev environment, add new docker-compose and readme for dev

* point to additional readme

* dont tromp on the build directory

* set up test dbs, fix backend url

* updated gemfile to rails 6.1.6

* running on rails 6.1.6

* switch out bootstrap files for scss versions and run converter to update a few custom stylesheets to scss

* move bootstrap, add less to sass converter and finish converting all LESS

* add missing mixin

* add mixins that are unavailable with new bootstrap

* move another mixin to make it work

* reorder some css & mixins to make sure everything is importing, fix glyphicons, fix javascript manifest

* fix mixins that are throwing erros

* add demo db and add to the readme about how to use it

* add to the docker dev file

* fix a couple more scss issues

* update jruby to Java 11 compatible version, set up dockerfile for full dev environment, add new docker-compose and readme for dev

* point to additional readme

* dont tromp on the build directory

* set up test dbs, fix backend url

* updated gemfile to rails 6.1.6

* running on rails 6.1.6

* switch out bootstrap files for scss versions and run converter to update a few custom stylesheets to scss

* move bootstrap, add less to sass converter and finish converting all LESS

* add missing mixin

* add mixins that are unavailable with new bootstrap

* move another mixin to make it work

* reorder some css & mixins to make sure everything is importing, fix glyphicons, fix javascript manifest

* fix mixins that are throwing erros

* add demo db and add to the readme about how to use it

* add to the docker dev file

* fix a couple more scss issues

* add a few missing less converted scss files

* code style updates

* prettier

* copy the correct largetree file

* get geckodriver in dev docker

* accesibility test fix

* changes for transition mixin

* prettyup the transitions

* asset pipeline changes and tag helper fix, tmp disable asset file path issue

* more manifest work

* undo webdrive changes

* try w/o modal for a moment

* skip specs that will be fixed by bootstrap upgrade

* tiny spacing fix

* frontend translation overhaul wip

* small translation add

* working on i18n issues

* touch

* get geckodriver in dev docker

* accesibility test fix

* changes for transition mixin

* prettyup the transitions

* asset pipeline changes and tag helper fix, tmp disable asset file path issue

* more manifest work

* undo webdrive changes

* try w/o modal for a moment

* skip specs that will be fixed by bootstrap upgrade

* tiny spacing fix

* frontend translation overhaul wip

* small translation add

* working on i18n issues

* touch readme

* mark translation related failures as pending

* more translation and style fixes

* just unset it for docker dev for now

* job spec fixes

* job spec pending

* fix host denial issue

* more spec work

Co-authored-by: Sara G <sara@notch8.com>
Co-authored-by: GeezyWazHere <platinummix@yahoo.com>
Co-authored-by: summer-cook <summercook@bellsouth.net>
Co-authored-by: Summer <73361970+summer-cook@users.noreply.github.com>
Co-authored-by: Braydon Justice <sephirothkod@users.noreply.github.com>
…rome driver.

Switch to Puma webserver for frontend feature tests for now. (Not totally sure
it matters, but at least we stop seeing huge stacktraces when the browser
hangs up on the Jetty 9 webserver, and in any case Capybara seems to prefer
Puma as it is the default server.

Add some tuning to Capybara helpers to avoid errors arising from
slow JQuery event handlers not being attached in time for clicks

add a tiny bit of proper namespacing to ead importer

reconcile upgrades and master after rebase; upgrade Gemfiles

remove RealtimeIndexer from feature tests

upgrade puma and use single thread

capture db and backend log when test fails on github

capture backend test log without using ant record directive

revert bad change to job schema

debug accessibility tests

debug frontend ci on aws

frontend test log

retry select repo helper

frontend test log

debug bulk import form submission

Revert "debug: log params before protect-from-forgery"

This reverts commit 83d3c83.

Revert "retry select repo helper"

This reverts commit 70fd0a4.

Revert "debug invalid csrf token failure in bulk import test"

This reverts commit b79d4bb.
put ff back in headless
@donaldjosephsmith donaldjosephsmith marked this pull request as ready for review October 20, 2023 19:39
@donaldjosephsmith donaldjosephsmith force-pushed the ANW-1727-softserv-upgrades-final-build branch from ad6d397 to a3f6ca7 Compare October 23, 2023 14:49
Establishing a backend session was being deferred until a factory
instance was created, which assumes all test suites will do so before
doing something that requires a backend session, such as running the
indexer. However, the accessibility test suite, which depends upon a
preloaded database, skips setting up test fixtures. In this case, that
means no factories are used, and therefore there is no backend session
available for the indexer to use, so setup fails with an
AccessDeniedException.

This change will log in during AspaceFactories initialization, so the backend
session will be created regardless of whether any factories are actually
used.
brianzelip and others added 4 commits October 30, 2023 11:36
There is still more to do, namely:
- Fix worker import fail in production env via InfiniteRecords.js
- Finalize the load-all-records UI toggle and copy
@brianzelip brianzelip merged commit d3ed361 into master May 20, 2024
34 of 44 checks passed
@brianzelip
Copy link
Collaborator

Replaced and closed by #3203 !

@brianzelip brianzelip deleted the ANW-1727-softserv-upgrades-final-build branch May 20, 2024 21:00
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.

None yet

5 participants