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

V1.3.0-release #717

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open

V1.3.0-release #717

wants to merge 9 commits into from

Conversation

downiec
Copy link
Collaborator

@downiec downiec commented Jan 16, 2025

Significant updates to the deployment, build , dev and config process for Metagrid. This PR contains mostly development improvements and updates, including migration from Create React App (which is no longer actively used) to Vite, and updates to the Jest testing package. Docker deployment and application configuration is consolidated and refactored to use a single docker-compose, with overlays for production or local deployments.

  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

  • Local Pre-commit Checks
  • CI/CD Build

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • My changes generate no new warnings
  • If applicable - I have commented my code, particularly in hard-to-understand areas
  • If applicable - I have made corresponding changes to the documentation
  • If applicable - I have added tests that prove my fix is effective or that my feature works
  • If applicable - New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

downiec and others added 2 commits November 19, 2024 12:54
* Harden images and reorg

* fix timezone with package (#680)

* Joyride tutorials update (#679)

* Merged in latest v1.2.1

* Updates to the joyride tutorials and some minor bugfixes.

* Revert Markdown update to fix current jest testing error

* Updated React Markdown library and fixed the jest test errors.

* Some modifications to remove the build and linting errors that came up after the merge with latest branch.

* Load frontend config before rendering App

Stop tests from leaking calls to globus.org

* Some fixes to get the react front-end to build and get the postgres to start up. There are still errors with django session store.

* Fixed some linting errors so frontend should build correctly.

* Updated the local config file used for local testing. The new file .local_config, contains the configuration used when running Metagrid locally. Updated the manage_metagrid script to run Metagrid from the single docker-compose file. Updated some settings to use llnl instead of ornl for local development and testing. Removed some unused environment variable files after after testing that they aren't used. Left the default variables in place because Metagrid fails to build when several of the defaults aren't set, still working to troubeshoot why. Globus transfer steps in the front-end are working, however transfers seem to fail and need to be resolved.

* Switch from CRA to Vite and clean up tests (#692)

* Switch from CRA to Vite and clean up tests

* Fixed issue with loading screen continuing even after cancel button click. Updated local test config. Globus transfers still not working.

---------

Co-authored-by: Zach Price <[email protected]>
Co-authored-by: downiec <[email protected]>

* Staticbuild v1.3 fixes (#697)

* Fix proxy and redirects for globus auth on docker compose

* Various lint and test fixes

* Update yarn.lock

* Some changes made to try and get globus transfers working.

* Update docs to match new config (#707)

* Updated the local config file used for local testing. The new file .local_config, contains the configuration used when running Metagrid locally. Updated the manage_metagrid script to run Metagrid from the single docker-compose file. Updated some settings to use llnl instead of ornl for local development and testing. Removed some unused environment variable files after after testing that they aren't used. Left the default variables in place because Metagrid fails to build when several of the defaults aren't set, still working to troubeshoot why. Globus transfer steps in the front-end are working, however transfers seem to fail and need to be resolved.

* Switch from CRA to Vite and clean up tests (#692)

* Switch from CRA to Vite and clean up tests

* Fixed issue with loading screen continuing even after cancel button click. Updated local test config. Globus transfers still not working.

---------

Co-authored-by: Zach Price <[email protected]>
Co-authored-by: downiec <[email protected]>

* Fix proxy and redirects for globus auth on docker compose

* Various lint and test fixes

* Update yarn.lock

* Some changes made to try and get globus transfers working.

* Update docs to match new config
Auto generate configuration documentation with pre-commit hooks

* Revert yarn.lock, fix more tests

* Includes some updates and minor fixes so that everything builds and runs correctly. Removed the GLOBUS_REDIRECT setting and did some cleanup of the manage_metagrid.sh functions.

* Updated the test files to no longer use the act() functions, as they are deprecated. Cleaned up and fixed some failing tests.

* Fix esgsearch json tests

* Minor test fixes to see if tests will pass on github (they pass locally).

---------

Co-authored-by: downiec <[email protected]>
Co-authored-by: Zach Price <[email protected]>

---------

Co-authored-by: Zach Price <[email protected]>
Co-authored-by: bstrdsmkr <[email protected]>

---------

Co-authored-by: Zach Price <[email protected]>
Co-authored-by: Sasha Ames <[email protected]>
Co-authored-by: bstrdsmkr <[email protected]>
@downiec downiec changed the title Updated version number to 1.3.0 and added changelog file for 1.3.0 V1.3.0-release Jan 16, 2025
…repeated settings-doc-markdown config, to see if that resolves the pre-commit failure.
Copy link

codecov bot commented Jan 16, 2025

Codecov Report

Attention: Patch coverage is 97.47899% with 3 lines in your changes missing coverage. Please review.

Project coverage is 94.99%. Comparing base (2e90dd1) to head (f2fcf4d).
Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
frontend/src/api/routes.ts 78.57% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #717      +/-   ##
==========================================
- Coverage   97.75%   94.99%   -2.76%     
==========================================
  Files          46       49       +3     
  Lines        1823     2216     +393     
  Branches      415      417       +2     
==========================================
+ Hits         1782     2105     +323     
- Misses         41      111      +70     
Flag Coverage Δ
frontend 94.99% <97.47%> (-2.76%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

bstrdsmkr and others added 5 commits January 22, 2025 10:45
* Fix broken link in Globus transfer panel

* Globus link display update (#3)

* Added a warning case for when a transfer request returns no failures or successes in the backend response. No successes indicates no transfer occurred although there wasn't any specified errors provided. Added new test for the added warning case.

* Fix pre-commit prerequisites

---------

Co-authored-by: Zach Price <[email protected]>
Co-authored-by: Carlos Downie <[email protected]>
* Update version number, add version changelog (to be updated with the changes that will be included in this update)

* Updated documentation references to config variables (#706)

* Updated documentation, specifically references to the configuration parameters which have changed over time, to use the latest variable names currently used in configuration. Updated requirements to use the latest readthedocs them of Sphinx

* Update version number, add version changelog (to be updated with the changes that will be included in this update)

* fixed the pagination so that it will reset to page one when doing a new search (#705)

* update for obs4MIPs (#711)

Co-authored-by: Sasha Ames <[email protected]>

* Updated the settings file to autoformat on save to hopefully reduce linting errors. Fixed linting errors for the initial_projects_data update. Fixed the status tooltip to correctly display the node's status. Updated test fixtures to accurately reflect the node status response (the node names included the https:// in front and thats why status tooltip wasn't finding them. (#714)

* Added alert for the case that a collection search fails in the manage collections popup (#710)

* Added alert for the case that a collection search fails in the collection management popup. Added a test to bring the coverage up to 100% for the search table component. Removed some unused code, the get endpoint function is not used.

* Minor linting error fixes.

* Fixed some backend tests based on the removed/unused functions

* Small fix to test.

* Minor update to update summary.

* Made it so the globus ready column does not appear if no globus ready nodes are configured (as it was before). Changed ActiveFacets type to be more strict in order to avoid the issue of calling join on a string which was causing errors. Fixed and updated some tests related to the url to string and string to url functions in the utils file.

* Fixed failing test. Updated the manage_metagrid.sh helper scripts to include commands for pre-commits, backend and frontend tests. Updated setup.cfg to allow backend tests to run correctly. Removed unneeded commands in backend README.md. Removed the autoformat setting on save.

---------

Co-authored-by: Sasha Ames <[email protected]>
* Add dark mode

* Persist theme choice

* Add tests for Dark mode feature

* Merged in the latest changes from v1.3.0-release. Updated the styling to fix issues with the dark-mode rendering of navbar and certain colors. Added custom colors for dark and light version of status icons. Modified how colors are applied to tooltips and node status pages. I'd like to update/improve the way custom colors and styles are applied to make future updates smoother. (#4)

---------

Co-authored-by: Zach Price <[email protected]>
Co-authored-by: downiec <[email protected]>
* Add dark mode

* Persist theme choice

* Add tests for Dark mode feature

* Merged in the latest changes from v1.3.0-release. Updated the styling to fix issues with the dark-mode rendering of navbar and certain colors. Added custom colors for dark and light version of status icons. Modified how colors are applied to tooltips and node status pages. I'd like to update/improve the way custom colors and styles are applied to make future updates smoother.

* Added a new configuration option for setting the footer of the metagrid frontend so that links and text can be displayed as desired. Updated the manage_metagrid script to include more developer actions, including run migrations, and installing packages for local development. Modified styling to better fit the current footer. Will need to add option for adjusting the footer height based on the height of the footer text. Updated tests and documentation for the custom footer options.

* Final updates for the v1.3.0 release. Includes updates to the joyride tutorial to add the theme switch. Updated the manage_metagrid script and created a new configHelper script that sets the proper initial configuration settings for first time deployment or developers. Added tests for the theme buttons in the app.

---------

Co-authored-by: Zach Price <[email protected]>
@downiec downiec self-assigned this Jan 29, 2025
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