Skip to content

ehelms/theforeman-rel-eng

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Foreman Release Engineering scripts

These are the scripts I use while releasing The Foreman. They automate most of the release process.

Typical release flow

Make sure VERSION is correct in settings and FULLVERSION in releases/$PROJECT/$VERSION/settings. This assumes a GPG key is already present.

./tag_project
./release_tarballs
./download_tarballs
./inspect_tarballs
./sign_tarballs
./bump_deb_packaging
./bump_rpm_packaging
./release_packages
# These steps can happen during the build after RPMs have been built but DEBs are still running
./download_rpms
./sign_rpms
./upload_rpm_signatures
./upload_rpms
./process_rpms

When handling non-Foreman releases (currently supported: Katello and Client), set PROJECT to the lowercase name of the project and VERSION to the version of the project (if it differs from the Foreman one).

PROJECT=client ./download_rpms
PROJECT=katello VERSION=3.13 ./download_rpms

GPG keys

This assumes gopass is already set up.

Generating for a new release

When starting a new release, the following scripts can be used to generate a new key:

generate_gpg
# Now set FULLGPGKEY in releases/$VERSION/settings
export_gpg_private
export_gpg_public
sign_gpg
upload_gpg

Importing an existing release

When a key has already been generated, it can be imported from the backups:

import_gpg_private

About

Release engineering scripts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 73.1%
  • Python 26.9%