Dokku is released in intervals at most three weeks apart, though may be released much quicker.
To propose a release, the following tasks need to be performed:
If you are a maintainer and need the PACKAGECLOUD_API_TOKEN in order to make a release, please contact @josegonzalez to get this information.
As well, the ArchLinux package description must be updated via
vagrant up build-arch (needs to be done after the tag is pushed to GitHub, because it is based on that)
Dokku follows semver standards. As we are not yet at a stable release, breaking changes will require only a minor release, while all other changes only require a patch release. Once we hit stable, breaking changes will require a major release.
At the moment, tags need not be signed, though that may change in the future.
ArchLinux packages are not really build, because all that is needed for an Arch User Repo (AUR) package is the description of how to build the package. To make this process as easy as possible there is a vagrant box called
build-arch that updates the version of this build description (a file called
PKGBUILD), then runs some helper scripts to fill all additional information and does test if the package could be build. Then only those changes need to be pushed to the AUR repo and an updated version of the package is ready for usage for our ArchLinux users. For detailed information see the section below.
The workflow looks like this:
If you are a maintainer and need access to the AUR repositories in order to make a release, please contact @morrisjobke or @josegonzalez to get this co-maintainership.
Detailed information for ArchLinux packages
All of the information to build the ArchLinux package is in the AUR git repository (see dokku AUR page). The release of a AUR package only consists of pushing the package information into the AUR git repo. Then users could use that information to build the package on their machines.
To update the package clone the repository and adjust the files in the repository. Then a helper script -
updpkgsums - to update the SHA sum could be called (check against the original SHA sum). Another helper script -
mksrcinfo - needs to be called to update the meta information of the package in a file called
.SRCINFO. The next step builds the package locally for verification -
makepkg. As last step commit your changes and push the commit.
- dependencies are defined in the
- build steps during package build time are defined in the
- steps that should be executed during install/update/remove time are defined in the file
- detailed information about all attributes in
PKGBUILDcould be found in the ArchLinux wiki
- detailed information about the AUR workflow could be found in the AUR article in the ArchLinux wiki
That is the usual workflow: