Skip to content

Development checks before the next production release (after 3.1.0) #548

Closed

Description

@rbruhn

Checks to run on development before releasing development → main. They cover every pull request merged into development after 3.1.0 (#543): so far #544, #547, #549, #562, #563 and #564.

Some of these were checked when each PR was merged. Run them again on the final development deploy, since that's the build that will go to production. Add new checks here as more PRs land in development before the release.

The remaining 3.1.0 follow-ups stay on #538.

Exports, OCR and imports

/efs cleanup

Vite build (#562)

  • The development deploy builds with yarn build and the package check finds public/build/manifest.json. The deploy log shows "Response cache cleared" after the symlink switch. (Move the asset build from Laravel Mix to Vite #562) ✓ Run 38293565292, release 315-1 (2026-10-12): built in 3.7 s, manifest check passed, "Response cache cleared" after deploy:publish.
  • On the server, the new release has its own public/build and public/images (real directories, not links to shared/). (Move the asset build from Laravel Mix to Vite #562) ✓ 315-1: public/build (26 files) and public/images (55) are real directories; Filament published css, js and fonts into the release; only svg and vendor link to shared/; no mix-manifest.json.
  • Front pages load with styles, images and no console errors: home, projects, a project page (charts and map), expeditions (switching to Completed shows confetti), events, a bingo card. (Move the asset build from Laravel Mix to Vite #562) ✓ dev.biospex.org (2026-10-12): home, projects, WeDigFLPlants (3 charts and the map), expeditions (Completed shows confetti), events, a bingo page (DataTables); no broken images or console errors.
  • Live updates arrive over Reverb with laravel-echo 2 (for example a test WeDigBio progress event). (Move the asset build from Laravel Mix to Vite #562) ✓ 315-1 (2026-10-12): a test WeDigBioProgressEvent on wedigbio-progress.vite-check, sent with tinker, reached the browser through Echo 2 about a second later.
  • Admin pages load with no console errors: subjects grid (jqGrid), expedition create and edit, event create (date pickers), project edit (Summernote), group page and project statistics (DataTables), the group invite modal, the export form (multiselect), a confirm dialog, and the reconcile page (zoom buttons). (Move the asset build from Laravel Mix to Vite #562) ✓ Checked on 315-1 (2026-10-12): all plugins register; subjects jqGrid (25 of 139,770 rows), expedition create (jqGrid, Livewire managers), event create (date pickers), project edit (Summernote), group page (3 DataTables) and statistics (DataTables, chart), group invite modal (Livewire responds), a confirm dialog. The jqGrid column chooser (the multiselect, with data-selected-value, 5 selected and 128 available columns) and the expert review page for expedition 454 (Panzoom zoom and reset, subject image, radios, pagination) also work.

Expert review redirects (#563)

  • /admin/reconciles/408a0fd9-0fd4-4fde-8f82-f69f0d0ae33e (expedition 491, no reconcile data on development) lands on that expedition with "Reconcile data for processing is missing." The Mints of Florida expedition (tools → Expert Review Ambiguities) still opens the expert review. (Send expert review redirects to the expedition instead of a Not Found page #563) ✓ Development, run 38298257306 (2026-10-12): lands on Digitization of TN Reservoirs IV with the message; Mints of Florida opens its expert review (68 pages).

Load only where used (#564)

  • Pages without charts (home, projects, expeditions, admin projects) load no amCharts scripts; the project page, events, admin events and project statistics still draw their charts, and the bingo card its map. (Load amCharts and the heavy admin plugins only where they're used #564) ✓ Development, run 38438301651 (2026-10-13): no amCharts on home, projects, expeditions and admin projects; the project page loads all six files and draws 3 charts and the map; events, admin events and statistics load core, charts and theme and draw. The bingo card wasn't opened (joining a game creates a player); it uses the same include with maps as before.
  • The WeDigBio rate chart opens from Past Events → Rates (and from the menu during a live event), fetching amCharts on first open. (Load amCharts and the heavy admin plugins only where they're used #564) ✓ Development (2026-10-13): Past Events → Rates fetched core, charts and theme and drew the chart.
  • Admin pages load only the chunks they need: the subjects grid and column chooser, expedition create and edit (grid), event create (date pickers) and project edit (Summernote) work; the admin projects list loads none of them. No console errors. (Load amCharts and the heavy admin plugins only where they're used #564) ✓ Development (2026-10-13): admin projects loads none of them; subjects loads the grid chunk (25 of 139,770 rows, column chooser with data-selected-value); expedition create the grid (25 rows); event create the date picker (2 fields); project edit Summernote. No console errors.

Before releasing to production

  • After the Composer updates (Laravel 13.35, Filament 5.10.1, Livewire 4.4.7, Reverb 1.12.0, AWS SDK 3.400.0): the Filament admin opens and saves a record, a Livewire list (for example /admin/projects) sorts and loads more, and Reverb accepts a live connection. (Bump the composer-minor-and-patch group with 10 updates #544) ✓ Checked on development release 314-1 (2026-10-12).
  • The development deploy builds the assets without errors after the ws 8.22.0 and proxy-addr 2.0.8 updates. (Update ws to 8.22.0 and proxy-addr to 2.0.8 #549) ✓ Run 38282399426: tests and deploy succeeded (release 314-1).
  • Release while the export and OCR queues are idle. The release is a PR development → main titled "Merge development into production"; add [minor] or [major] if needed, and merge with Create a merge commit. In its description, add a Closes #N line for every issue that the released PRs close: GitHub only closes issues automatically on merges into main, so the Closes lines in PRs into development do nothing. ✓ Released as 3.2.0 in Merge development into production [minor] #565 (2026-10-13).

After releasing to production

  • The production deploy builds with yarn build (with PROD_REVERB_*), and "Response cache cleared" appears after the symlink switch. (Move the asset build from Laravel Mix to Vite #562) ✓ 3.2.0, run 38439989662 (2026-10-13): Vite built in 2.95 s, manifest check passed, Filament assets published, "Response cache cleared" after deploy:publish.
  • The new production release has its own public/build and public/images; only svg and vendor link to shared/. (Move the asset build from Laravel Mix to Vite #562) ✓ Release 318-1: public/build (29 files) and public/images (55) are real directories, no mix-manifest.json; Reverb runs from 318-1; app:health-check passes; no errors since the deploy.
  • biospex.org front and admin pages load from /build/assets with no console errors; Echo connects to production Reverb; pages without charts load no amCharts. (Move the asset build from Laravel Mix to Vite #562, Load amCharts and the heavy admin plugins only where they're used #564) Front ✓ (2026-10-13): home, projects, a project page (3 charts and the map), expeditions (confetti) load from /build/assets with no errors; no amCharts on pages without charts; Echo connected to production Reverb; the home page's own assets arrive as 130 kB instead of 509 kB (gzip). Admin ✓ (2026-10-13): the projects list loads only the core bundle; subjects loads the grid chunk (25 of 139,770 rows, column chooser with data-selected-value); expedition create (grid, Livewire managers), event create (2 date pickers), project edit (Summernote), statistics and admin events (amCharts, charts) all work; no console errors.
  • The first scheduled app:clean-efs-dirs run (00:00 UTC) logs Cleanup completed. Files deleted: N. Directories deleted: N. (Limit the /efs cleanup to BIOSPEX's directories and remove import scratch directories again #547) ✓ Production: logged at 00:00 UTC every night from 2026-10-14 to 2026-10-17 (Files deleted: 0. Directories deleted: 0.), no errors.
  • More than 72 hours after release, the empty /efs/scratch directories from before the release are gone. (Limit the /efs cleanup to BIOSPEX's directories and remove import scratch directories again #547) ✓ Removed by hand on 2026-10-12, together with the unused /efs directories (batch, export, report, geolocate/result, zooniverse, public, ckan-install).

Activity

  1. rbruhn commented on Oct 13, 2026

    @rbruhn
    ContributorAuthor

    Checks for the next release are on #567. This issue only waits on the first scheduled /efs cleanup on production.

  2. rbruhn commented on Oct 17, 2026

    @rbruhn
    ContributorAuthor

    Closing: the last check passed. The new app:clean-efs-dirs has logged Cleanup completed. Files deleted: 0. Directories deleted: 0. at 00:00 UTC every night on production since 3.2.0 (2026-10-14 to 2026-10-17), with no errors. Every 3.2.0 check is done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions