- Regenerate source for
vulkan
andVulkanMemoryAllocator
- Clean submodules and regenerate documentation first to ensure it's up to date.
./scripts/regenerate.sh
will do this for you
- If there are any changes commit those before proceeding
-
Bump versions
- Bump version on
vulkan
inpackage.yaml
- Bump version on
VulkanMemoryAllocator
- Bump version on
utils
- Bump version on
openxr
- Bump version on
-
Bump dependency versions
- Bump version bounds of
vulkan
dependency inVulkanMemoryAllocator
- Bump version bounds of
vulkan
dependency inutils
- Bump version bounds of
vulkan
dependency inopenxr
- Bump version bounds of
-
Run hpack in
.
./VulkanMemoryAllocator
./utils
./openxr
-
Make sure changelogs are up to date
./changelog.md
./VulkanMemoryAllocator/changelog.md
./utils/changelog.md
./openxr/changelog.md
- Build documentation (So doc building for VMA works correctly)
cabal haddock --haddock-option="--hyperlinked-source"
- Build documentation for Hackage
cabal haddock --haddock-for-hackage --haddock-option="--hyperlinked-source"
- sdist
- unpack sdist elsewhere
- build sdl-triangle
- Observe it running
- Build documentation
cabal haddock --haddock-for-hackage --haddock-option="--hyperlinked-source" VulkanMemoryAllocator
- sdist
- unpack sdist elsewhere
- build
This is done automatically on merge to the main branch
(on my machine)
rm -rf ../vulkan-docs/*
cp -r $(nix-build --no-link nix/release.nix -A docs-combined)/* ../vulkan-docs
cd ../vulkan-docs
git add .
git commit -m 'vXXX'
git push
This will upload the release artifacts:
tag=v3.8
hub release download "refs/tags/$tag" |
cut -d' ' -f2 |
sort -r |
while read f; do
if [[ "$f" =~ "-docs.tar.gz" ]]; then
cabal upload --publish --doc "$f"
else
cabal upload --publish "$f"
fi
rm "$f"
done