docs.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. if [ -z "${VERSION}" ]; then
  13. VERSION=$(git tag | tail -n 1)
  14. VERSION_DIR=v$(crown_version_major).$(crown_version_minor).0
  15. elif [ "${VERSION}" = "master" ]; then
  16. VERSION="master"
  17. VERSION_DIR="master"
  18. else
  19. echo "Invalid version name"
  20. exit 1
  21. fi
  22. echo "Docs \`${VERSION}\` will be released"
  23. echo "Continue? [y/N]"
  24. read -r answer
  25. if [ "${answer}" != "y" ] && [ "${answer}" != "Y" ]; then
  26. echo "Bye."
  27. exit;
  28. fi
  29. # Switch to desired tag.
  30. git checkout "${VERSION}"
  31. # Build docs.
  32. make clean
  33. make docs
  34. # Update gh-pages branch.
  35. git checkout gh-pages
  36. rm -r html/"${VERSION_DIR}"
  37. mkdir html/"${VERSION_DIR}"
  38. cp -r build/docs/html/* html/"${VERSION_DIR}"
  39. # Update 'latest' only in stable releases, excluding patches.
  40. if [ "${VERSION}" != "master" ] && [ "$(crown_version_patch)" -eq 0 ]; then
  41. rm -r html/latest
  42. mkdir html/latest
  43. cp -r build/docs/html/* html/latest
  44. git add html/latest
  45. fi
  46. # Commit changes.
  47. git add html/"${VERSION_DIR}"
  48. git commit -m "Docs ${VERSION}"