Tarball on rocm tags and MAINTAINERS guide (#402)
* Package release tarball on rocm tags and add a MAINTAINERS guide to outline release procedure Signed-off-by: coleramos425 <colramos@amd.com> * Apply linting feedback Signed-off-by: coleramos425 <colramos@amd.com> * Update links in MAINTAINERS for new branches Signed-off-by: coleramos425 <colramos@amd.com> * Update MAINTAINERS.md for changelog formatting Signed-off-by: coleramos425 <colramos@amd.com> * Update Omniperf ver checker to allow tags with rocm- prefix Signed-off-by: coleramos425 <colramos@amd.com> * Add step to packaging workflow to upload release tarball to release Signed-off-by: coleramos425 <colramos@amd.com> * Synax change for release name in packaging action Signed-off-by: coleramos425 <colramos@amd.com> * Update MAINTAINERS for instuctions on ROCm releases Signed-off-by: coleramos425 <colramos@amd.com> * Update softprops pluvin to v2 and remove release name Removing the release name enables us to modify an existing release with the matching tag Signed-off-by: coleramos425 <colramos@amd.com> * Remove draft option on softprops plugin Signed-off-by: coleramos425 <colramos@amd.com> --------- Signed-off-by: coleramos425 <colramos@amd.com>
Este commit está contenido en:
@@ -4,6 +4,7 @@ on:
|
||||
push:
|
||||
tags:
|
||||
- "v[1-9].[0-9]+.[0-9]+*"
|
||||
- "rocm-[0-9]+.[0-9]+.[0-9]+*"
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -42,3 +43,19 @@ jobs:
|
||||
with:
|
||||
name: omniperf-${{github.ref_name}}.tar.gz
|
||||
path: build/omniperf-${{github.ref_name}}.tar.gz
|
||||
- name: Set version
|
||||
run: echo "VERSION=$(cat VERSION)" >> $GITHUB_ENV
|
||||
- name: Determine release name
|
||||
run: |
|
||||
if [[ ${{github.ref_name}} == rocm-* ]]; then
|
||||
echo "RELEASE_NAME=Omniperf ${{ env.VERSION }} for ${{github.ref_name}}"
|
||||
else
|
||||
echo "RELEASE_NAME=Omniperf ${{ env.VERSION }}"
|
||||
fi >> $GITHUB_ENV
|
||||
- name: Upload tarball Release Asset
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: startsWith(github.ref, 'refs/tags/') && github.repository == 'ROCm/omniperf'
|
||||
with:
|
||||
fail_on_unmatched: True
|
||||
files: |
|
||||
build/omniperf-${{github.ref_name}}.tar.gz
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# Maintainers Guide to Omniperf
|
||||
|
||||
## Publishing a release
|
||||
|
||||
Before publishing a new Omniperf release, please review this checklist to ensure all prerequisites are met:
|
||||
|
||||
1) **Ensure [VERSION](VERSION) file is updated** to reflect your desired release version.
|
||||
2) **Sync `amd-mainline` with `amd-staging`**. A rebase may be required to pull all the desired patches from the development branch to our stable mainline. Click [here](https://github.com/ROCm/omniperf/compare/amd-mainline...amd-staging) to begin that process.
|
||||
3) **Update [CHANGES](CHANGES)** to reflect all major modifications to the codebase since the last release. When modifying [CHANGES](CHANGES) please ensure formatting is consistent with the rest of the ROCm software stack. See [this template](https://github.com/ROCm/hipTensor/blob/develop/CHANGELOG.md) for reference.
|
||||
4) **Confirm all CI tests are passing**. You can easily confirm this by peeking the passing status of all GitHub continuous integration tests.
|
||||
5) **Create a tag from `amd-mainline`**. More information on tagging can be found at [Git Docs - Tagging](https://git-scm.com/book/en/v2/Git-Basics-Tagging).
|
||||
|
||||
> [!NOTE]
|
||||
Note: A successful tag should trigger the [packaging action](.github/workflows/packaging.yml) which will produce a tarball artifact. **This artifact needs to be included as an asset in your release**. Please find that the [packaging action](.github/workflows/packaging.yml) will automatically create a draft release with your tarball attached.
|
||||
|
||||
Once you've completed the above checklist, you are ready to publish your release. Please ensure you follow formatting from [past Omniperf releases](https://github.com/ROCm/omniperf/releases) for consistency. Some important aspects of our release formatting include:
|
||||
|
||||
- Date of release is included in "Release Title".
|
||||
- Updates are called out in "Release Description". Updates should mirror those listed in [CHANGES](CHANGES).
|
||||
- Links to documentation and associated release tarball are called out in "Release Description".
|
||||
- The tarball artifact from the corresponding tag is added to "Release Assets".
|
||||
|
||||
### Publishing a release for ROCm
|
||||
|
||||
If you are preparing for a new ROCm release, note that the [rocm-ci](https://github.com/rocm-ci) bot managed by DevOps will be triggering a tag automatically. This tag will follow the format `rocm-X.X.X`.
|
||||
|
||||
Traditionally, we will bump the Omniperf [VERSION](VERSION) with a new ROCm release. When we bump the version and reach the prerequisite step (5) above, try tagging with `vX.X.X` to validate the release tarball generated by the [packaging action](.github/workflows/packaging.yml).
|
||||
|
||||
In addition to the prerequisites mentioned above, please make sure that all changes have been merged from `amd-staging` -> `release/rocm-rel-X.X.X` to ensure that the "rocm-ci" bot will capture all your changes. It is easiest to file a single pull request ahead of the ROCm release.
|
||||
@@ -28,6 +28,9 @@ if repoCheck == tag:
|
||||
elif tag.startswith(repoCheck + "-"):
|
||||
print("OK: allowed match with extra delimiter")
|
||||
exit(0)
|
||||
elif tag.startswith("rocm-"):
|
||||
print("OK: allowed match with 'rocm-' prefix")
|
||||
exit(0)
|
||||
else:
|
||||
print("FAIL: no match - double check top-level VERSION file")
|
||||
exit(1)
|
||||
|
||||
Referencia en una nueva incidencia
Block a user