-
-
Notifications
You must be signed in to change notification settings - Fork 9
new release
IMPORTANT: despite the presence of build steps below, the GCC compiler version used is not important; the reason is that the cmonitor_collector binary is just used to regen the examples. The binary that ends up in the RPMs generated by COPR is generated using native GCC compiler for each distribution supported/enabled. The binary used for the docker image instead uses the GCC version of the Alpine distribution.
These steps should be run from a machine where cmonitor does build fine. But they do not require any specific Linux distro/flavor.
-
Bump versions in
Constants.mk -
Regenerate example JSONs and HTMLs: from top-level folder
make conan_install
make -C collector PROMETHEUS_SUPPORT=1
make -C collector cmonitor_musl
make docker_image # the docker image will be used to regen examples
make -C examples regen_all_example_jsons # takes about 20minutes to complete
make -C examples all
-
Git push.
-
From top-level folder run
make docker_image # to regen the docker image to push in the DockerHub with updated version number
docker login && make docker_push
make docker_image DOCKER_LATEST=1 # to regen the docker image to push in the DockerHub with "latest" tag
docker login && make docker_push DOCKER_LATEST=1
Log on COPR page https://copr.fedorainfracloud.org/coprs/f18m/cmonitor/packages/ and then click "Rebuild" next to both packages "cmonitor-collector" and "cmonitor-tools". The integration where COPR will rebuild the RPMs on every single checkin has been disabled because that means removing from the RPM repo any release that was done roughly more than 10 checkins ago.
The reason is that, despite the COPR build page showing a long history, the actual RPM repository contains only the last 10 builds or so (check e.g. https://download.copr.fedorainfracloud.org/results/f18m/cmonitor/epel-7-x86_64/).
From an Ubuntu/Debian machine, from a non-root user account, setup all required tools and keys. This can be a VM or an Ubuntu instance running on physical HW. Docs for debian packaging can be found at debian website
-
Prepare the changelog in a text file
-
About GPG keys please see online guides to help with GPG setup.
apt install debhelper devscripts
# import GPG key required later on
gpg --import private-key-stored-in-safe-place.key
gpg --list-keys
gpg --edit-key {KEY HEX CODE PRINTED BY PREVIOUS COMMAND} trust quit # choose 5
- git clone the cmonitor repo:
git clone https://github.com/f18m/cmonitor.git
cd cmonitor
- then you can actually start the upload procedure:
make clean
make deb_clean
make deb_new_changelog # to update the debian/changelog file following very strict Debian rules
make deb_local_test # try building the binary pkg locally for test
make deb_source_pkg_for_upload # upload a source-only package that Ubuntu PPA will build itself
cd ..
dput ppa:francesco-montorsi/cmonitor cmonitor_ ...
Finally go to the PPA page, choose "View package details" and choose "Copy package" to copy the binaries of the package released for "Bionic" to all other distributions. From a quick test it looks like the binary is compatible will all Ubuntu versions without the need to rebuild it on each distribution!
- go to Releases page and hit "Draft new release" and choose as new tag the version 1.X