# How to Make a `libyaml` Release ## Versioning Update libyaml version in: * announcement.msg * Changes * CMakeLists.txt * `YAML_VERSION_MAJOR`, `YAML_VERSION_MINOR`, `YAML_VERSION_PATCH` * .appveyor.yml * configure.ac * `YAML_MAJOR`, `YAML_MINOR`, `YAML_PATCH`, `YAML_RELEASE`, `YAML_CURRENT`, `YAML_REVISION` Commit and push everything to `release/0.x.y`. ## Test and Create Release Archives ### GitHub Actions Automation The github workflow: .github/workflows/dist.yaml will do this automatically for you. #### .github/workflows/dist.yaml This workflow will create release archives (`tar.gz` and `zip`). ### Manually Make sure you have a clean git repository (no changed files). The following process will clone your current git directory. This will need the docker image `yamlio/libyaml-dev`. You can either pull it, or create it yourself: make docker-build ### Create dist archives Run: make docker-dist It will run `make dist` in the container to create a tarball written to `pkg/docker/output`. It will also create a zipfile. ## Update master git merge release/0.x.y git tag -a 0.x.y # # Paste the corresponding entry from the Changes file # Look at an earlier release for how it should look like: # git show 0.2.3 git push origin master 0.x.y ## Create a GitHub release Go to "Releases" and click on "Draft a new release". Fill in the tag you just created in the previous step. Fill in the release title: v0.x.y Paste the changelog into the description field. Upload the tar.gz and .zip file. You can "Save draft" and publish later, or directly click on "Publish release". ## Update pyyaml.org See .