-
Notifications
You must be signed in to change notification settings - Fork 2
Assertions
yes_ship_it applies assertions on the software to be released to check that all artifacts are correctly created and create them if that hasn't happened yet. Here is what the assertions do.
Assert that a gem can be built and is present.
Assert that there is a change log present and contains an entry for the asserted version.
An example for a change log file is:
# Change log of my program
## Version 0.0.2
* Second release
## Version 0.0.1
* First release
The preferred way to maintain a change log is documented in Keep a CHANGELOG.
Assert that the built gem has been published on RubyGems.org
Assert that the release code has been pushed to the remote repository.
Assert that the tag has been pushed to the remote repository.
Assert that a release archive has been created. The default is a compressed tar archive which contains all the files required to build and run the software.
Assert that the local checkout where yes_ship_it is run is on the release branch. The default release branch is master
.
Assert that the release has been submitted to the Open Build Service.
Assert that a tag corresponding to the version is created in the version control system.
Assert that there is a version defined in the source code and make the version available for other assertions. The version assertion takes a parameter version_file
where you can configure the file, where the version is stored. The default is lib/version.rb
, which is the standard convention for Ruby projects.
An example for a config using a version with parameter is:
assertions:
release_branch:
working_directory:
version:
version_file: src/polkaversion.h
change_log:
tag:
pushed_tag:
pushed_code:
yes_it_shipped:
The preferred version scheme is semantic versioning.
Assert that the local checkout where yes_ship_it is run is in a clean state and doesn't have uncomitted changes or untracked files.
Assert that the release has been announced on yes_ship_it's central server: Yes, It Shipped!.