https://github.com/EGI-FCTF/cloud-bdii-provider
Tip revision: aae350ad05f0837b9fee5475609d8c033ce5481d authored by Enol Fernández on 17 March 2021, 10:24:18 UTC
Avoid failing if endpoint is not available (#218)
Avoid failing if endpoint is not available (#218)
Tip revision: aae350a
RELEASING.md
# Instructions for creating a new release
Once a release and corresponding tag have been created in GitHub, packages will
be built using Travis and attached to the tag.
## Preparing the release
Steps:
1. Open an issue to track the release process
1. Check changes since latest tag (using browser or CLI)
1. Agree release version
1. Prepare changelog
- Provide main changes, with related author(s)
- Document changes impacting deployment/configuration/usage
1. Update AUTHORS as needed
1. Merge a PR for updating CHANGELOG and any other needed
changes for the release
- Version should follow [semver](https://semver.org/) like 0.42.0
1. Push a `release` event to GitHub
- Requires a valid personal token that can be obtained as described
[here](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token)
1. Merge PR created by the event
1. Present release to [EGI UMD Release Team](https://wiki.egi.eu/wiki/URT)
### Doing it from the Command Line Interface
```console
# Using GitHub CLI https://cli.github.com/
# And hub feature: https://hub.github.com/
# git must be an alias to hub
# Create a new issue
gh issue create -t "Release new package version"
# Synchronize fork with upstream
git fetch upstream
git rebase upstream/master master
git checkout master
# Check latest tag
git tag --list --sort version:refname
# Compare latest tag (0.8.3 here) with master
# Using GitHub
git compare EGI-Foundation 0.8.3..master
# Using CLI
git log --abbrev-commit 0.8.3..master
# Prepare a PR to prepare version (0.9.0 here)
git checkout -b prepare-0.9.0
# Prepare the changelog and add it as a new entry to CHANGELOG
vim CHANGELOG
# Take care to changes in dependencies and configuration
# Depending on the changes update relevant packages
# Debian: dependencies in debian/control files
# Debian: debs/cloud-info-provider-opennebula/debian/changelog
# Debian: debs/cloud-info-provider-openstack/debian/changelog
# RHEL: change dependencies at the top
# RHEL: rpm/cloud-info-provider.spec
# RHEL: rpm/cloud-info-provider-opennebula.spec
# RHEL: rpm/cloud-info-provider-openstack.spec
# Update Zenodo configuration if needed
# Update AUTHORS file if needed
vim AUTHORS
# Commit changes
git commit -am 'Prepare release 0.9.0'
# Create pull request
gh pr create
# After PR merging
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: token $GITHUB_TOKEN" \
https://api.github.com/repos/EGI-Foundation/cloud-info-provider/dispatches \
-d '{"event_type":"release"}'
# Merge PR
gh pr merge --squash <pr number>
```
## Submitting the package to EGI Cloud Middleware Distribution (CMD)
To distribute the `cloud-info-provider` as part of
[Cloud Middleware Distribution (CMD)](https://wiki.egi.eu/wiki/EGI_Cloud_Middleware_Distribution),
it's required to follow the
[EGI Software provisioning process](https://wiki.egi.eu/wiki/EGI_Software_Provisioning).
- Submitting a [GGUS ticket](https://ggus.eu/?mode=ticket_submit) to the
`EGI Software provisioning support` Support Unit
- Ticket category: release
- Type of issue: Middleware
- Assign to support unit: `EGI Software Provisioning Support`
- Version number
- Link to release notes (GitHub release pages)
- List of packages to release in CMD