-
Notifications
You must be signed in to change notification settings - Fork 31
How to create a new release version
Bernhard Thiele edited this page Sep 4, 2017
·
13 revisions
Since release v1.5.1
- Mostly the same as v1.5.0, but using a dedicated `release` branch
- Clone a fresh clean repo from github and do some testing
- Merge relevant master commits into `release` branch, possibly using an delete and replace all strategy similar to the “old way of releasing” at the bottom
cd Modelica_DeviceDrivers
git checkout release
# Check `rm -r Incubate/`
# Check that there is no `Incubate` entry in package.order file
# Check whether versioning information in `package.mo` and librarinfo.mos is adapted
# Check whether UsersGuide.mo (ReleaseNotes) needs update
# ?????Generate help html documentation (in Dymola)
git archive -o Modelica_DeviceDrivers_v1_5_1.zip --prefix="Modelica_DeviceDrivers 1.5.1/" HEAD:Modelica_DeviceDrivers/
git archive -o Modelica_DeviceDrivers_v1_5_1.tar.gz --prefix="Modelica_DeviceDrivers 1.5.1/" HEAD:Modelica_DeviceDrivers/
# Check whether to adapt project README.md
Go to release page on github project site and create a new release. Enter tag, release text, and upload the *.tar.gz and *.zip.
Since release v1.5.0
- Just download zip package from master branch in Github (alternative use git archive …)
cd Modelica_DeviceDrivers-master/Modelica_DeviceDrivers
rm -r Incubate/
# Remove Incubate entry from package.order file
# ?????Generate help html documentation (in Dymola)
# Check whether to adapt UsersGuide.mo (ReleaseNotes) and librarinfo.mos
cd ..
tar czf Modelica_DeviceDrivers_v1_5_0.tar.gz Modelica_DeviceDrivers/
zip -r Modelica_DeviceDrivers_v1_5_0.zip Modelica_DeviceDrivers
# Check whether to adapt project README.md
Go to release page on github project site and create a new release. Enter tag, release text, and upload the *.tar.gz and *.zip.
Since release v1.4.0
- Switched to semantic versioning.
- Migrated to new release process motivated by https://github.com/xogeny/impact/blob/master/resources/docs/modelica2015/paper/impact.md#impact-on-library-developers.
rm build.drone.io.txt
rm .travis.yml
cd Modelica_DeviceDrivers
rm -r Incubate/
# Remove Incubate entry from package.order file
# ?????Generate help html documentation (in Dymola)
# Check whether to adapt README.md, UsersGuide.mo (ReleaseNotes) and librarinfo.mos
tar czf Modelica_DeviceDrivers_v1_4_4.tar.gz Modelica_DeviceDrivers/
zip -r Modelica_DeviceDrivers_v1_4_4.zip Modelica_DeviceDrivers
Go to release page on github project site and create a new release. Enter tag, release text, and upload the *.tar.gz and *.zip.
- Write release script using https://github.com/aktau/github-release?
The old way of releasing. It is outdated now.
This is just a little memo how to create a release version from the master branch. The following shell commands were used to create the v1.1 release:
cd Modelica_DeviceDrivers
mkdir /tmp/MDD; cp -r * /tmp/MDD
git checkout -b tmp
# in case status for cut of release is at an point different from HEAD:
# git reset --hard <hash of where the release should be cut from>
git checkout release
git merge -s ours tmp
rm -r *
mkdir "Modelica_DeviceDrivers 1.1"
cd Modelica_DeviceDrivers\ 1.1/
cp -r /tmp/MDD/* .
rm -r Incubate/
mv README.md screenshot.png ..
# Generate help html documentation (in Dymola)
# Remove Incubate entry from package.order file
# might want to adapt README.md, UsersGuide.mo (ReleaseNotes) and librarinfo.mos
cd ..
git add -A .
git commit --amend -m"Created v1.1 release"
git tag v1.1
git push origin release
git push --tags origin v1.1
git branch -D tmp