Skip to content

Release Procedure

mcuee edited this page Jul 19, 2023 · 10 revisions

* update version info:

  src/configure.ac
  CMakeLists.txt
  NEWS: "changes since <oldvers>" => "changes in <newvers>"
  git commit -a
``

# * check autotools build:

cd src ./bootstrap ./configure --enable-doc # also prepare for docs

doesn't run with -k; doc build asks for libavrdude.a :-]

make -k distcheck result: avrdude-.tar.gz


# * build docs

cd [src/]doc make -k result: avrdude.pdf, avrdude-html/ keep them somewhere


# * run CMake build

cd ../.. ./build.sh

  this is already tested by CI anyway

# * git tag v<newvers>

git push --tags

  CI should prepare Github release now

# * update version info:

src/configure.ac (add date tag after release name) NEWS: add template lines for "changes since " git commit -a git push ``

* update docs:

  git checkout onlinedocs
  mkdir docs/<newrelease>
  cd docs/<newrelease>
  cp ../../src/doc/avrdude-html/* .
  cp ../../src/doc/avrdude.pdf .
  cd ..
  $EDITOR index.html
  add links to new <newvers>/avrdude.html and <newvers>/avrdude.pdf
  git add <newvers>
  git add index.html
  git commit
  git push

  cd ..
  git checkout main

* download source tarballs from Github release area

  verify they are correct (unpack, and compare against local tree ...)
  gpg --sign --detach for the .zip and .tar.gz
  include GPG signatures in release assets