Check if the Sumo internal e2e tests are passing.
We can begin the process of creating a release once QE has given a thumbs up for a given package version. We can determine the Workflow Run ID to use for a release using the following steps:
Each package has a build number and it's included in the package version & filename. For example, if the package version that QE validates is 0.108.0-1790 then the build number is 1790.
Each package uses binaries built from this repository. We can find the workflow used to build the binaries by tracing our way back from the package build number.
The build number corresponds directly to the GitHub Run Number for a packaging workflow run in GitHub Actions. Unfortunately, there does not currently appear to be a way to reference a workflow run using the run number. Instead, we can use one of two methods to find the workflow run:
Run the following command (be sure to replace BUILD_NUMBER
with the build
number of the package):
PAGER=""; BUILD_NUMBER="1790"; \
gh run list -R sumologic/sumologic-otel-collector-packaging -s success \
-w build_packages.yml -L 200 -b main --json displayTitle,number,url \
-q ".[] | select(.number == ${BUILD_NUMBER})"
This will output a number of fields, for example:
{
"displayTitle": "Build for Remote Workflow: 11672946742, Version: 0.108.0-sumo-1\n",
"number": 1790,
"url": "https://github.com/SumoLogic/sumologic-otel-collector-packaging/actions/runs/11673248730"
}
We need the number to the right of Build for Remote Workflow
. This number is
the ID of the workflow run that built the binaries used in the package.
The workflow run can be viewed by first running:
PAGER=""; WORKFLOW_ID="11672946742"; \
gh run list -R sumologic/sumologic-otel-collector -s success \
-w dev_builds.yml -L 200 -b main --json displayTitle,databaseId,url \
-q ".[] | select(.databaseId == ${WORKFLOW_ID})"
Which will output the URL of the workflow run:
https://github.com/SumoLogic/sumologic-otel-collector/actions/runs/11672946742
Manually search for the run number on the Build packages workflow page. Search for the build number (e.g. 1790) until you find the corresponding workflow.
Once you've found the packaging workflow run, we need the number to the right of
Build for Remote Workflow
. This number is
the ID of the workflow run that built the binaries used in the package.
Now that we have the Workflow Run ID we can trigger a release. There are two methods of doing this.
A release can be triggered by using the following command (be sure to replace
WORKFLOW_ID
with the Workflow Run ID from the previous step):
PAGER=""; WORKFLOW_ID="11672946742"; \
gh workflow run releases.yml -R sumologic/sumologic-otel-collector \
-f workflow_id=${WORKFLOW_ID}
Navigate to the Publish release workflow in GitHub Actions.
Find and click the Run workflow
button on the right-hand side of the page.
Fill in the Workflow Run ID from the previous step and then click the green
Run workflow
button.
The GitHub release is created as draft by the releases GitHub Action.
After the release draft is created, go to GitHub releases, edit the release draft and fill in missing information:
- Specify versions for upstream OT core and contrib releases
- Copy and paste the Changelog entry for this release from CHANGELOG.md
After verifying that the release text and all links are good, publish the release.
The docs for triggering a package release can be found in the Packaging Release docs in the sumologic-otel-collector-packaging repository.