The BTP Manager release pipeline creates proper artifacts:
- btp-manager Docker image in the registry
btp-manager.yaml
,btp-btp-operator-default-cr.yaml
To create a release, follow these steps:
- Run GitHub action Create release:
i. Go to the Actions tab
ii. Click Create release workflow
iii. Click Run workflow on the right
iv. Provide a version, for example, 1.2.0
v. Choose real or dummy credentials for Service Manager
vi. Choose whether to bump or not to bump the security scanner config
vii. Choose whether you want to publish the release - The GitHub action, defined in the
create-release
file, validates the release by checking if the GitHub tag already exists, if there are any old Docker images for that GitHub tag, and if merged PRs that are part of this release are labeled correctly. Additionally, it stops the release process if a feature has been added, but only the patch version number has been bumped up. - If you chose in step 1.vi to bump the security scanner config, the GitHub action creates a PR with a new security scanner config that includes the new GitHub tag version.
- A code owner approves the PR.
- The GitHub action creates a GitHub tag and draft release with the provided name.
- The GitHub action asynchronously initiates unit tests and Image Builder.
- The Image Builder uploads the binary image.
- The GitHub action asynchronously initiates stress tests jobs and E2E tests jobs upon Image Builder job success status. E2E upgrade tests run only with real credentials for Service Manager.
- The GitHub action runs E2E tests in parallel on the k3s clusters for the most recent k3s versions and with the specified credentials. The number of the most recent k3s versions to be used is defined in the vars.LAST_K3S_VERSIONS GitHub variable.
- If the unit tests, stress tests, and E2E tests are completed successfully and you have chosen to publish in step 1.vii, the GitHub action publishes the release.
To regenerate an existing release, perform the following steps:
- Delete the GitHub release.
- Delete the GitHub tag.
- Run the Create release pipeline.