How to create a service release

See also release-process for more general guidance.

  • Fetch pristine source tree, best do a new local clone, e.g.
    git clone git@git.openwrt.org:openwrt/openwrt.git
    git checkout openwrt-24.10
    • Replace branch name with appropriate one
  • Place maketag.sh script from maintainer repo into the clone
  • Execute ./maketag.sh -k 818021EBB6C9ECDA -v 24.10.0
    • Replace key ID and version number with appropriate values
  • Review auto generated commits with git log -p -2
    • Should show one setting adjustment and one setting revert commit
  • Review auto generated tag with git show v24.10.0
    • Should show a git tag with associated GPG info and commit references
    • Replace version number accordingly
  • Compare the files changed automatically with a previous tag
    • git diff v24.10.0-rc7 v24.10.0 -- feeds.conf.default include/version.mk package/base-files/image-config.in version version.date
  • Check the signature on the tag with git verify-tag -v v24.10.0
    • Should show “Good signature from <your name>
  • Push auto generated commits and tag to the remote:
    git push origin openwrt-24.10
    git push --follow-tags origin refs/tags/v24.10.0:refs/tags/v24.10.0
    • Use credentials provided by admin
  • Open the “Builds → Builders” page
    • Select 00_force_build builder
    • Click on Force builds button at the top of the page
  • Fill out the form
    • Enter your name at Your name input box :-)
    • Enter for example “Trigger release builds” as reason
    • Select Git tag you want to build from Build tag list
    • Click “Force Build”
  • Review buildbot activity in waterfall view

Once per branch

  • If this is the first build on a new branch, then updates to the ASU server config must be made as follows. (If this is a release candidate or maintenance release on an existing branch, just skip down to the “Every release build” section.)
    1. Find the commit for the branch:
      $ git log --oneline ^main origin/openwrt-25.12 | grep 'set branch defaults'
      12316d0280c5 OpenWrt v25.12: set branch defaults
    2. Convert the branch to the OpenWrt rev number:
      $ scripts/getver.sh 12316d0280c5
      r32295+1-c25265953b9c
    3. Add the branch-name:rev-number entry to the ASU config, should be somewhere around:
      https://github.com/openwrt/asu/blob/main/asu/config.py#L86
      ...
              },
              "25.12": release(32295),
              "24.10": release(27990),
              "23.05": release(23069),

Every release build

  • Copy make-changelog.pl from maintainer repo into the local clone
    • The script needs the perl module JSON.pm, install libjson-perl and libtext-csv-perl on Debian
  • Execute ./make-changelog.pl v24.10.0..v24.10.1
    • Replace version numbers accordingly
    • Revision range should cover all commits since last release
    • Suggest to redirect stdout to a file
    • Replace base and minor versions accordingly
    • Take care to preserve the first introductory paragraph in the wiki pages
    • Ideally use a prior change log page as template
  • Last modified: 2026/01/06 16:24
  • by efahlgren