Skip to content

Bring changes from v7.12.0.7 to main - #8378

Merged
grantfitzsimmons merged 427 commits into
mainfrom
v7_12_0_7_main
Aug 2, 2026
Merged

Bring changes from v7.12.0.7 to main#8378
grantfitzsimmons merged 427 commits into
mainfrom
v7_12_0_7_main

Conversation

@melton-jason

@melton-jason melton-jason commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Checklist

  • Self-review the PR after opening it to make sure the changes look good and
    self-explanatory (or properly documented)
  • Add relevant issue to release milestone
  • Add pr to documentation list
  • Add automated tests
  • Add a reverse migration if a migration is present in the PR
  • Add migration function to
    def fix_schema_config(stdout: WriteToStdOut | None = None):

Testing instructions

These steps are taken from the v7.12.0.7 testing checklist, with the step for #8181 ommitted as

Creating a new Database using Guided Setup

Discipline Verification Steps (These are referred to in the below General Testing Instructions)

  • Verify all trees are present and populated with the correct data
  • Generally ensure entries in the Schema Config are correct
    • Make sure Tables and Fields have sensible default labels and descriptions
    • Ensure that fields and tables
  • Verify picklists are created in each Collection and have the correct values
  • Verify picklists that should be associated with a field are correctly associated (some examples of relationships are provided below)
    • Preparation -> prepType
    • Discipline -> type
    • CollectionObjectGroup -> cogType
  • Ensure Schema Configuration changes are persistent
    • Make changes to the Discipline's schema in the Schema Config (editing the label/description of tables and fields, modifying a table or field's visibility, changing a field's picklist, etc.)
    • Completely stop the Specify instance
    • Restart the Specify instance
      • On the Test Panel, the above can be accomplished by Removing an instance from the test panel (do not delete/remove the database!) and re-adding the instance to force a restart
    • Ensure the modifications you made are persistent and still present
  • Ensure Tree Configuration changes are persistent
    • Rename, add, and/or remove one or more ranks to one or more Trees
    • Completely stop the Specify instance
    • Restart the Specify instance
    • Ensure the tree configuration changes are persistent and still present

General Testing Instructions

  • Using Guided Setup, create a Specify instance with any non-geology (i.e., biology) discipline and populate trees with defaults
  • Ensure the Discipline passes the above Discipline Verification Steps
  • Using Guided Setup, create a Specify instance with a Geology discipline and populate trees with default values
  • Ensure the Discipline passes the above Discipline Verification Steps
  • Create a new non-geology Discipline and Collection to an existing Specify instance through the System Config tool
  • Ensure the Discipline passes the above Discipline Verification Steps
  • Create a new geology Discipline and Collection to an existing Specify instance through the System Config tool
  • Ensure the Discipline passes the above Discipline Verification Steps
  • Verify the new Chronostrat defaults are populated correctly
  • Verify the new IUGS ICC chart shows up (the chart has a 2026 in the top right of the image)

CarolineDenis and others added 30 commits June 18, 2026 15:24
@specify specify deleted a comment from coderabbitai Bot Jul 29, 2026
@melton-jason

Copy link
Copy Markdown
Contributor Author

@coderabbitai review --dir ./specifyweb/specify

@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

@melton-jason: Reviewing the committed changes in specifyweb/specify, with attention to migration safety and compatibility.

✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

I think ideally we should a take more black-box focused approach to testing.
That is: test the result or output of the functions (or any
composition/aggregation of functions, such as the complete run_key_migrations
suite) rather than implementation specifics such as which functions get
called in which order.

Ultimately, it's the result that matters here and I think these tests that worry
about the implementation might lead to more harm than good (e.g., everytime the
implementation or "wrapper" for the functionality changes then the tests have to
be changed).

Also see #8225 (review)
@melton-jason
melton-jason marked this pull request as ready for review July 29, 2026 19:59
@melton-jason
melton-jason requested review from a team, emenslin and g1rly-c0d3r July 29, 2026 20:00
@melton-jason melton-jason changed the title Merge v7.12.0.7 into main Bring changes from v7.12.0.7 to main Jul 29, 2026

@g1rly-c0d3r g1rly-c0d3r left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testing instructions

These steps are taken from the v7.12.0.7 testing checklist, with the step for #8181 ommitted as

  • Ensure the testing instructions succeed from #8243
  • Ensure the testing instructions succeed from #8181
    • At the time of writing, the attachment relationships should be disabled

Creating a new Database using Guided Setup

Discipline Verification Steps (These are referred to in the below General Testing Instructions)

  • Verify all trees are present and populated with the correct data
  • Generally ensure entries in the Schema Config are correct
    • Make sure Tables and Fields have sensible default labels and descriptions
    • Ensure that fields and tables
  • Verify picklists are created in each Collection and have the correct values
  • Verify picklists that should be associated with a field are correctly associated (some examples of relationships are provided below)
    • Preparation -> prepType
    • Discipline -> type
    • CollectionObjectGroup -> cogType
  • Ensure Schema Configuration changes are persistent
    • Make changes to the Discipline's schema in the Schema Config (editing the label/description of tables and fields, modifying a table or field's visibility, changing a field's picklist, etc.)
    • Completely stop the Specify instance
    • Restart the Specify instance
      • On the Test Panel, the above can be accomplished by Removing an instance from the test panel (do not delete/remove the database!) and re-adding the instance to force a restart
    • Ensure the modifications you made are persistent and still present
  • Ensure Tree Configuration changes are persistent
    • Rename, add, and/or remove one or more ranks to one or more Trees
    • Completely stop the Specify instance
    • Restart the Specify instance
    • Ensure the tree configuration changes are persistent and still present

General Testing Instructions

  • Using Guided Setup, create a Specify instance with any non-geology (i.e., biology) discipline and populate trees with defaults
  • Ensure the Discipline passes the above Discipline Verification Steps
  • Using Guided Setup, create a Specify instance with a Geology discipline and populate trees with default values
  • Ensure the Discipline passes the above Discipline Verification Steps
  • Create a new non-geology Discipline and Collection to an existing Specify instance through the System Config tool
  • Ensure the Discipline passes the above Discipline Verification Steps
  • Create a new geology Discipline and Collection to an existing Specify instance through the System Config tool
  • Ensure the Discipline passes the above Discipline Verification Steps
  • Verify the new Chronostrat defaults are populated correctly
  • Verify the new IUGS ICC chart shows up (the chart has a 2026 in the top right of the image)

Looks good! Nothing I tested was different from last time.

@rijulpoudel
rijulpoudel self-requested a review July 30, 2026 14:54

@rijulpoudel rijulpoudel left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testing instructions

  • Ensure the testing instructions succeed from #8243
  • Ensure the testing instructions succeed from #8181
    • At the time of writing, the attachment relationships should be disabled

Creating a new Database using Guided Setup

Discipline Verification Steps (These are referred to in the below General Testing Instructions)

  • Verify all trees are present and populated with the correct data
  • Generally ensure entries in the Schema Config are correct
    • Make sure Tables and Fields have sensible default labels and descriptions
    • Ensure that fields and tables
  • Verify picklists are created in each Collection and have the correct values
  • Verify picklists that should be associated with a field are correctly associated (some examples of relationships are provided below)
    • Preparation -> prepType
    • Discipline -> type
    • CollectionObjectGroup -> cogType
  • Ensure Schema Configuration changes are persistent
    • Make changes to the Discipline's schema in the Schema Config (editing the label/description of tables and fields, modifying a table or field's visibility, changing a field's picklist, etc.)
    • Completely stop the Specify instance
    • Restart the Specify instance
      • On the Test Panel, the above can be accomplished by Removing an instance from the test panel (do not delete/remove the database!) and re-adding the instance to force a restart
    • Ensure the modifications you made are persistent and still present
  • Ensure Tree Configuration changes are persistent
    • Rename, add, and/or remove one or more ranks to one or more Trees
    • Completely stop the Specify instance
    • Restart the Specify instance
    • Ensure the tree configuration changes are persistent and still present

General Testing Instructions

  • Using Guided Setup, create a Specify instance with any non-geology (i.e., biology) discipline and populate trees with defaults
  • Ensure the Discipline passes the above Discipline Verification Steps
  • Using Guided Setup, create a Specify instance with a Geology discipline and populate trees with default values
  • Ensure the Discipline passes the above Discipline Verification Steps
  • Create a new non-geology Discipline and Collection to an existing Specify instance through the System Config tool
  • Ensure the Discipline passes the above Discipline Verification Steps
  • Create a new geology Discipline and Collection to an existing Specify instance through the System Config tool
  • Ensure the Discipline passes the above Discipline Verification Steps
  • Verify the new Chronostrat defaults are populated correctly
  • Verify the new IUGS ICC chart shows up (the chart has a 2026 in the top right of the image)

Everything passed. I was able to recreate everything like we did the last time.

@grantfitzsimmons
grantfitzsimmons merged commit b5a897d into main Aug 2, 2026
24 checks passed
@github-project-automation github-project-automation Bot moved this from 📋Back Log to ✅Done in General Tester Board Aug 2, 2026
@grantfitzsimmons
grantfitzsimmons deleted the v7_12_0_7_main branch August 2, 2026 02:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅Done

Development

Successfully merging this pull request may close these issues.

7 participants