Edit

kc3-lang/gnulib/top/README-release

Branch :

  • Show log

    Commit

  • Author : Collin Funk
    Date : 2025-07-19 18:08:57
    Hash : 25eaa5a6
    Message : readme-release: Remove link to Hydra autobuilder. * top/README-release: Remove link to Hydra autobuilder since the recipes have not been updated in years.

  • top/README-release
  • Here are most of the steps we (maintainers) follow when making a release.
    
    * Start from a clean, up-to-date git directory on "master":
    
        make -k maintainer-clean || { ./configure && make maintainer-clean; }
        git checkout master
        git pull origin master
    
    * Ensure that the latest stable versions of autoconf, automake, etc.
      are in your PATH.  See the buildreq list in bootstrap.conf for
      the complete list of tools.
    
    * Ensure that you have no uncommitted diffs.  This should produce no
      output:
    
        git diff
    
    * Ensure that you've pushed all changes that belong in the release:
    
        git push origin master
    
    * Run the following command to download any new translations:
    
        ./bootstrap && ./configure
    
    * Pre-release testing: ensure that the following commands succeed:
    
        c=check ve=check-very-expensive; git grep -q "^$ve:\$" && c=$ve
        make $c syntax-check distcheck
    
    * To (i) set the date, version number, and release TYPE on line 3 of
      NEWS, (ii) commit that, and (iii) tag the release, run
    
        # "TYPE" must be stable, beta or alpha
        make release-commit RELEASE='X.Y TYPE'
    
    * Run the following to create release tarballs.  Your choice selects the
      corresponding upload-to destination in the emitted gnupload command.
      The different destinations are specified in cfg.mk.  See the definitions
      of gnu_ftp_host-{alpha,beta,stable}.
    
        make release RELEASE='X.Y TYPE'
    
    * Test the tarball.  Copy it to a few odd-ball systems and ensure that
      it builds and passes all tests.
    
    * While that's happening, write the release announcement that you will
      soon post.  Start with the template, $HOME/announce-@PACKAGE@-X.Y
      that was just created by that "make" command.
    
    Once all the builds and tests have passed,
    
    * Run the gnupload command that was suggested by your "make release"
      run above, or run
    
        make upload RELEASE='X.Y TYPE'
    
    * Wait a few minutes (maybe up to 30?) and then use the release URLs to
      download all tarball/signature pairs and use gpg --verify to ensure
      that they're all valid.
    
    * Push the NEWS-updating changes and the new tag:
    
        v=$(cat .prev-version)
        git push origin master tag v$v
    
    * Announce it on Savannah first, so you can include the savannah.org
      announcement link in the email message.
    
      Go to the news-submission form:
    
        https://savannah.gnu.org/news/submit.php?group=@PACKAGE@
    
      If it does not work, then enable "News" for the project via this link:
    
        https://savannah.gnu.org/project/admin/editgroupfeatures.php?group=@PACKAGE@
    
      Write something like the following:
    
        Subject: @PACKAGE@-X.Y released [stable]
        +verbatim+
        ...paste the announcement here...
        -verbatim-
    
      Then go here to approve it:
    
        https://savannah.gnu.org/news/approve.php?group=@PACKAGE@
    
    * Send the announcement email message.
    
    * After each non-alpha release, run
    
        make web-manual-update
    
      to update the on-line manual accessible at
    
        https://www.gnu.org/software/@PACKAGE@/manual/