Skip to content

Release automation script rework#3918

Open
krzywon wants to merge 26 commits intomainfrom
release-automation-script-rework
Open

Release automation script rework#3918
krzywon wants to merge 26 commits intomainfrom
release-automation-script-rework

Conversation

@krzywon
Copy link
Copy Markdown
Contributor

@krzywon krzywon commented Apr 8, 2026

Description

This revamps the release automation script used to create the Zenodo DOI.

Changes:

  • Automates the DOI generation process for sasdata and sasmodels, in addition to sasview.
  • Generalizes most of the functions that were separate for sasview vs. sasmodels. Metadata updates are different, and will likely remain different due to differences in repos.
  • Removes all release note generation routines, in favor of the GitHub automated releases notes generated by the website.
  • Documentation and type hints updated to match the latest functionality.
  • Updates the version number is in many places in the repo. The only outstanding place a version needs changing is in config.py for the LAST_WHATS_NEW_HIDDEN_VERSION and LAST_UPDATE_DISMISSED_VERSION
  • Updates the copyright year is in multiple spots.

Fixes #3489
Refs #3884 (second bullet)
Fixes #1840

How Has This Been Tested?

Tested locally and the majority of files listed in https://github.com/SasView/sasview/wiki/DevNotes_DevGuide_ReleaseChecklistTemplate that need to be updated are updated.

Review Checklist:

Documentation (check at least one)

  • There is nothing that needs documenting
  • Documentation changes are in this PR
  • There is an issue open for the documentation (link?)

Licensing (untick if necessary)

  • The introduced changes comply with SasView license (BSD 3-Clause)

@krzywon krzywon marked this pull request as ready for review April 9, 2026 15:35
@krzywon krzywon changed the title [DRAFT] Release automation script rework Release automation script rework Apr 9, 2026
Copy link
Copy Markdown
Contributor

@llimeht llimeht left a comment

Choose a reason for hiding this comment

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

Great strides forward in fixing things that can confuse in the release process :)

Comment thread build_tools/release_automation.py Outdated
Comment thread build_tools/release_automation.py Outdated
Comment thread build_tools/release_automation.py Outdated
Comment thread build_tools/release_automation.py Outdated
Comment thread build_tools/release_automation.py Outdated
Comment thread docs/sphinx-docs/source/conf.py Outdated
Comment thread build_tools/release_automation.py Outdated
Comment thread docs/sphinx-docs/source/conf.py Outdated
Comment thread build_tools/release_automation.py
Comment thread build_tools/release_automation.py
Comment thread build_tools/release_automation.py Outdated
@krzywon
Copy link
Copy Markdown
Contributor Author

krzywon commented Apr 17, 2026

Part of todays discussion during the technical meeting included this PR and where the Zenodo generation script should live:

  1. Keep this as-is, despite sasmodels and sasdata. Pros: Porting this to other repos would create code duplication and changes in one place would require changes in all others, which no one wants. Cons: SasModels and SasData releases would require something from SasView.
  2. Have this live in sasdata which is imported by both sasmodels and sasdata, but does not import either. This means it would be available for any release of a dependent project. Pros: Single location. Cons: Most people work in sasview, so it might not be obvious this exists.
  3. Move this to a separate repo/package that can be imported by other repos (sasutils...). All codelets and modules that are used by multiple repos, include example files, ruff rules, example data, project templates, etc. could live in this repo. Pros: single location for everything. Cons: Another repo to maintiain.

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.

Release Automation Script: A list of issues must be provided Further develop release automation scripts

2 participants