Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

Revision df6b902c73682b84b14cd3e9cf8555ef984d6c85 authored by Bryna Hazelton on 22 February 2024, 06:58:30 UTC, committed by Bryna Hazelton on 22 February 2024, 16:34:03 UTC
reduce the grid size per a conversation with Josh
improve docstrings and comments
1 parent c5d03e8
  • Files
  • Changes
  • a990d3d
  • /
  • docs
  • /
  • references
  • /
  • making_release.md
Raw File Download

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • revision
  • directory
  • content
revision badge
swh:1:rev:df6b902c73682b84b14cd3e9cf8555ef984d6c85
directory badge
swh:1:dir:fb573a116e7fe6d192147d8d55be650f9f6c5071
content badge
swh:1:cnt:1b5b0d161780efc99e82fcea1fcd176b4bcc9517

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • revision
  • directory
  • content
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
making_release.md
# How to make a new release on GitHub, PyPI and conda-forge

## Making the release (tag) on GitHub

1. Define the newest version number. Our version numbering approach is:
    - The first number is for very large changes which might happen every couple of years (e.g. 1.0).
    - The second number is for regular releases, our goal is to issue these ~3-4 times per year.
    - The third number is for small patches to fix issues. These happen as needed to
    get critical fixes onto PyPI and conda-forge.
2. Update the changelog to put all the unreleased changes under the new version
(leaving the unreleased section empty).
3. Make a PR for the version change and get it accepted & merged.
4. Iterate the version number as a new tag. This can be accomplished through
the online interface (this is the best approach) or via the cli with:
`git tag <hash> vX.Y.Z` where the hashed commit must be the merge commit from the previous PR.

## PyPI (do this after the GitHub release)

When the tag is made on GitHub, a GitHub Actions workflow automatically publishes the
new release to PyPI. Check that the publish to pypi github action doesn't error. If it
does error, follow the steps below:

To release to PyPI by hand:
1. Checkout the main branch and pull. Ensure that there are no local changes. PyPI
distributions should only be made from a clean main branch!
1. make the distribution: ```python -m build```
2. upload to test site: twine upload --repository testpypi dist/*
3. check that it looks good at https://test.pypi.org/project/pyuvdata
4. upload to real site: twine upload --repository pypi dist/*

## Conda (do this after the PyPI release)

When the PyPI package is updated, a bot will probably make a PR that only changes
the version, build and SHA (plus maybe some re-rendering). If these are the only
required changes, you can just accept the bot's PR. If there are other needed
changes (e.g. dependencies), comment on the PR to stop it being merged by
conda-forge admins without the other fixes. At that point you can either modify
the bot's PR to make the fixes or make your own PR by hand (details below).

To do it fully by hand:

1. Fork the feedstock repo to your personal github account.
2. Make a new branch on your fork for the changes
3. get the new SHA from pypi: Go to the PyPI download page for this release. Next to the
source distribution (.tar.gz file) there's a "view hashes" link. Click that link to see
the SHA256 hash and click the "copy" link next to it to copy the right value to your
clipboard. Or you can just download the file yourself and run `openssl sha256` on it.
4. update recipe/meta.yaml: minimally update the version, build & SHA (if it’s
a new version, reset the build to zero, otherwise bump the build number).
Generally review the whole file for things that should change, particularly any
dependency changes.
5. push your branch to github
6. open a  PR against the feedstock repo from your branch.
7. get a bot to automatically re-render the code by commenting on the PR with
`@conda-forge-admin, please rerender`
8. fix any problems
The diff you're trying to view is too large. Only the first 1000 changed files have been loaded.
Showing with 0 additions and 0 deletions (0 / 0 diffs computed)
swh spinner

Computing file changes ...

back to top

Software Heritage — Copyright (C) 2015–2026, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API