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

v0.14.1 point release #1657

Open
32 of 36 tasks
sk1p opened this issue Jun 18, 2024 · 9 comments
Open
32 of 36 tasks

v0.14.1 point release #1657

sk1p opened this issue Jun 18, 2024 · 9 comments

Comments

@sk1p
Copy link
Member

sk1p commented Jun 18, 2024

Issues/PRs that should be included:

@uellue @matbryan52 would any of you like to take charge of this release?

Release checklist

Issues and pull requests to be considered for this release:

Step 0: before cutting the release candidate

  • Document point release with version downgrade, while we are at it.
  • Review open issues and pull requests
  • Confirm that pull requests and issues are handled as intended, i.e. milestoned and merged
    in appropriate branch.
  • [N/A] License review: no import of GPL code from MIT code
    pydeps --only "libertem" --show-deps --noshow src\libertem | python scripts\licensecheck.py
  • Run full CI pipeline, including slow tests, on Azure DevOps and run the Thorough workflow on GitHub Actions
  • [N/A] Handle deprecation, search the code base for DeprecationWarning
    that are supposed to be removed in that release.
  • [N/A] GUI dependency update with npm install
  • [N/A] Review https://github.com/LiberTEM/LiberTEM/security/dependabot and update dependencies
  • [N/A] Full documentation review and update, including link check using
    sphinx-build -b linkcheck "docs/source" "docs/build/html"
  • Update the expected version in notes on changes, i.e. from 0.3.0.dev0
    to 0.3.0 when releasing version 0.3.0.
  • Update and review change log in docs/source/changelog.rst, merging
    snippets in docs/source/changelog/*/ as appropriate.
  • [N/A] Edit pytest.ini to exclude flaky tests temporarily from release
    builds, if there are currently any flaky tests
  • [N/A] Update the JSON files in the packaging/ folder with author and project information

Step 1

  • Create a release candidate using scripts/release. See
    scripts/release --help for details. Example command:
    ./scripts/release bump v0.3.0rc1 --tag, then push to GitHub
  • Confirm that wheel, tar.gz, and AppImage are built for the release candidate on
    GitHub
  • Confirm that a new version with the most recent release candidate is created on
    Zenodo.org that is ready for submission.

Step 2: using the release candidate package

  • [fix any fallout after point release] Run tests for related packages w/ new LiberTEM version
    • LiberTEM-live
    • LiberTEM-holo
    • LiberTEM-blobfinder
    • ptychography40
    • LiberTEM-iCoM
  • Run complete test suite, including slow tests that are deactivated by default
    and tests that require sample files or CUDA support.
  • Install release candidate packages in a clean environment
    (for example:
    python -m pip install 'libertem==0.2.0rc11')
  • Test the release candidate docker image
  • Quick GUI QA: open in an incognito window to start from a clean slate
    • Correct version info displayed in info dialogue?
    • Run a couple of analyses to verify it is not entirely broken

Step 3: bump version and let release pipeline run

  • Final version bump: ./scripts/release bump v0.3.0 --tag, push to github
  • After pipeline finishes, write minimal release notes for the release and publish the GitHub release

Step 4: after releasing on GitHub

  • Confirm that all release packages are built and release notes are up-to-date
  • Install release package
  • Confirm correct version info
  • Confirm package upload to PyPI
  • Confirm images and tags on https://ghcr.io/libertem/libertem
  • Publish new version on zenodo.org
  • Update documentation with new links, if necessary
    • Add zenodo badge for the new release to Changelog page
  • Conda packaging: review PRs on https://github.com/conda-forge/libertem-feedstock/pulls
  • Send announcement message on mailing list
  • Edit pytest.ini to include flaky tests again
  • Bump version in master branch to next .dev0 (./scripts/release bump v0.X.0.dev0 --commit)
  • Add to institutional publication databases
  • [skip] Add the current LiberTEM version to CVL - add both the singularity and the .desktop file!
@sk1p sk1p pinned this issue Jun 18, 2024
@uellue
Copy link
Member

uellue commented Jun 18, 2024

@sk1p sorry to bother, but what were the steps for a point release again? Sth about setting the version by hand?

We didn't merge anything of importance since the last release, so no need for a stable branch.

@sk1p
Copy link
Member Author

sk1p commented Jun 18, 2024

@sk1p sorry to bother, but what were the steps for a point release again? Sth about setting the version by hand?

Yup, either setting the version to 0.14.1.dev0 by hand, or using the release script to "bump backwards" with --force (IIRC)

We didn't merge anything of importance since the last release, so no need for a stable branch.

👍

@matbryan52
Copy link
Member

@uellue @matbryan52 would any of you like to take charge of this release?

I am happy to test and help but I haven't ever been close to the active part of release cutting before, would be coming from a ways behind. If @uellue you want to look at it together I am there.

@uellue
Copy link
Member

uellue commented Jun 18, 2024

Yes, --force made it downgrade. Thx! Now waiting for the thorough tests.

@uellue
Copy link
Member

uellue commented Jun 18, 2024

Cluster analysis doesn't like NumPy 2 on 3.9: https://github.com/LiberTEM/LiberTEM/actions/runs/9567900368/job/26376754929

--> #1658

@matbryan52
Copy link
Member

Cluster analysis doesn't like NumPy 2 on 3.9: https://github.com/LiberTEM/LiberTEM/actions/runs/9567900368/job/26376754929

--> #1658

Looks like the scikit-image release fixed the cluster analysis problem on py39 : https://github.com/LiberTEM/LiberTEM/actions/runs/9567900368/job/26404990589

@uellue
Copy link
Member

uellue commented Jun 19, 2024

I also confirmed that LiberTEM still works with NumPy < 2, since we recommend it. In a call until 11:00, then I will do short docs update.

@matbryan52
Copy link
Member

Just a warning for now, I imagine this predates numpy2.

src\libertem\io\dataset\npy.py:11
  ~\Workspace\libertem_fork\src\libertem\io\dataset\npy.py:11: DeprecationWarning: `np.compat`, which was used during the Python 2 to 3 transition, is deprecated since 1.26.0, and will be removed
    from numpy.compat import long, asstr

@uellue
Copy link
Member

uellue commented Jun 19, 2024

Just a warning for now, I imagine this predates numpy2.

src\libertem\io\dataset\npy.py:11
  ~\Workspace\libertem_fork\src\libertem\io\dataset\npy.py:11: DeprecationWarning: `np.compat`, which was used during the Python 2 to 3 transition, is deprecated since 1.26.0, and will be removed
    from numpy.compat import long, asstr

I'm preparing a PR to integrate the upstream changes which fix this. :-)

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

No branches or pull requests

3 participants