docs.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/bin/sh
  2. # SPDX-License-Identifier: GPL-3.0-or-later
  3. # Copyright (c) 2012-2025 Daniele Bartolini et al.
  4. set -eu
  5. . scripts/dist/version.sh
  6. if [ $# -gt 1 ]; then
  7. echo "Usage: $0 [version]"
  8. echo ""
  9. exit;
  10. fi
  11. VERSION=${1-}
  12. VERSION_PATCH=$(crown_version_patch)
  13. if [ -z "${VERSION}" ]; then
  14. VERSION=$(crown_version)
  15. VERSION_DIR=v$(crown_version_major).$(crown_version_minor).0
  16. elif [ "${VERSION}" = "master" ]; then
  17. VERSION="master"
  18. VERSION_DIR="master"
  19. else
  20. echo "Invalid version name"
  21. exit 1
  22. fi
  23. echo "Docs \`${VERSION}\` will be released"
  24. echo "Continue? [y/N]"
  25. read -r answer
  26. if [ "${answer}" != "y" ] && [ "${answer}" != "Y" ]; then
  27. echo "Bye."
  28. exit;
  29. fi
  30. # Build docs.
  31. make clean
  32. make docs
  33. # Update gh-pages branch.
  34. git checkout gh-pages
  35. rm -rf html/"${VERSION_DIR}"
  36. mkdir html/"${VERSION_DIR}"
  37. cp -r build/docs/html/* html/"${VERSION_DIR}"
  38. # Update 'latest' only in stable releases, excluding patches.
  39. if [ "${VERSION}" != "master" ] && [ "${VERSION_PATCH}" -eq 0 ]; then
  40. rm -f html/latest && ln -s html/"${VERSION_DIR}" html/latest
  41. git add html/latest
  42. fi
  43. # Commit changes.
  44. git add html/"${VERSION_DIR}"
  45. git commit -m "Docs ${VERSION}"