Updates for new default branch (#537)

* Update contributing guide for new default branch

Signed-off-by: coleramos425 <colramos@amd.com>

* Add develop target to related workflows

Signed-off-by: coleramos425 <colramos@amd.com>

* Auto sync develop and staging

Signed-off-by: coleramos425 <colramos@amd.com>

* Run sync every night at 12AM

Signed-off-by: coleramos425 <colramos@amd.com>

* Rename sync workflow

Signed-off-by: coleramos425 <colramos@amd.com>

* Update maintainers guide

Signed-off-by: coleramos425 <colramos@amd.com>

* Update readme

Signed-off-by: coleramos425 <colramos@amd.com>

* Auto accept PRs for daily branch sync

Signed-off-by: coleramos425 <colramos@amd.com>

* Direct merge. No PR for merge required

Signed-off-by: coleramos425 <colramos@amd.com>

---------

Signed-off-by: coleramos425 <colramos@amd.com>

[ROCm/rocprofiler-compute commit: 0a52e6f19d]
This commit is contained in:
Cole Ramos
2025-01-28 16:40:41 -06:00
zatwierdzone przez GitHub
rodzic c95cfc9bd8
commit aae2e356ea
8 zmienionych plików z 38 dodań i 40 usunięć
@@ -0,0 +1,25 @@
name: Sync Staging with Develop
on:
workflow_dispatch:
schedule:
- cron: 0 0 * * *
jobs:
promote-dev-to-stg:
if: github.repository == 'ROCm/rocprofiler-compute'
runs-on: ubuntu-latest
name: Promote Develop to Staging
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: develop
fetch-depth: '0'
- name: Merge - Fast Forward Only
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git checkout amd-staging
git merge origin/develop --ff-only
git push origin HEAD
@@ -3,9 +3,9 @@ name: Formatting
on: on:
push: push:
branches: [ amd-mainline, amd-staging, release/** ] branches: [ amd-mainline, amd-staging, release/**, develop ]
pull_request: pull_request:
branches: [ amd-mainline, amd-staging, release/** ] branches: [ amd-mainline, amd-staging, release/**, develop ]
concurrency: concurrency:
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}
@@ -5,9 +5,9 @@ name: RHEL 8
# Controls when the workflow will run # Controls when the workflow will run
on: on:
push: push:
branches: [ amd-mainline, amd-staging, release/** ] branches: [ amd-mainline, amd-staging, release/**, develop ]
pull_request: pull_request:
branches: [ amd-mainline, amd-staging, release/** ] branches: [ amd-mainline, amd-staging, release/**, develop ]
# Allows you to run this workflow manually from the Actions tab # Allows you to run this workflow manually from the Actions tab
workflow_dispatch: workflow_dispatch:
@@ -4,9 +4,9 @@ name: Ubuntu 22.04
on: on:
push: push:
branches: [ amd-mainline, amd-staging, release/** ] branches: [ amd-mainline, amd-staging, release/**, develop ]
pull_request: pull_request:
branches: [ amd-mainline, amd-staging, release/** ] branches: [ amd-mainline, amd-staging, release/**, develop ]
# Allows you to run this workflow manually from the Actions tab # Allows you to run this workflow manually from the Actions tab
workflow_dispatch: workflow_dispatch:
@@ -1,27 +0,0 @@
name: Sync Mainline with Staging
on:
workflow_dispatch:
schedule:
- cron: 0 5 * * sun
jobs:
promote-stg-to-main:
if: github.repository == 'ROCm/rocprofiler-compute'
runs-on: ubuntu-latest
name: Promote Staging to Mainline
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: amd-mainline
fetch-depth: '0'
- name: Merge - Fast Forward Only
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git checkout amd-mainline
git checkout -b promote-staging-$(date +%F)
git merge --ff-only origin/amd-staging
git push -u origin HEAD
gh pr create --base amd-mainline --title "Promote \`amd-staging\` to \`amd-mainline\`" --fill --label "automerge"
@@ -1,12 +1,12 @@
## How to fork from us ## How to fork from us
To keep our development fast and conflict free, we recommend you to [fork](https://github.com/ROCm/rocprofiler-compute/fork) our repository and start your work from our `amd-staging` branch in your private repository. To keep our development fast and conflict free, we recommend you to [fork](https://github.com/ROCm/rocprofiler-compute/fork) our repository and start your work from our `develop` branch in your private repository.
Afterwards, git clone your repository to your local machine. But that is not it! To keep track of the original develop repository, add it as another remote. Afterwards, git clone your repository to your local machine. But that is not it! To keep track of the original develop repository, add it as another remote.
``` ```
git remote add mainline https://github.com/ROCm/rocprofiler-compute.git git remote add mainline https://github.com/ROCm/rocprofiler-compute.git
git checkout amd-staging git checkout develop
``` ```
As always in git, start a new branch with As always in git, start a new branch with
@@ -15,7 +15,7 @@ As always in git, start a new branch with
git checkout -b topic-<yourFeatureName> git checkout -b topic-<yourFeatureName>
``` ```
and apply your changes there. and apply your changes there. For more help reference GitHub's ['About Forking'](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project) page.
## How to contribute to ROCm Compute Profiler ## How to contribute to ROCm Compute Profiler
@@ -31,7 +31,7 @@ and apply your changes there.
- Ensure the PR description clearly describes the problem and solution. If there is an existing GitHub issue open describing this bug, please include it in the description so we can close it. - Ensure the PR description clearly describes the problem and solution. If there is an existing GitHub issue open describing this bug, please include it in the description so we can close it.
- Ensure the PR is based on the `amd-staging` branch of the ROCm Compute Profiler GitHub repository. - Ensure the PR is based on the `develop` branch of the ROCm Compute Profiler GitHub repository.
> [!TIP] > [!TIP]
> To ensure you meet all formatting requirements before publishing, we recommend you utilize our included [*pre-commit hooks*](https://pre-commit.com/#introduction). For more information on how to use pre-commit hooks please see the [section below](#using-pre-commit-hooks). > To ensure you meet all formatting requirements before publishing, we recommend you utilize our included [*pre-commit hooks*](https://pre-commit.com/#introduction). For more information on how to use pre-commit hooks please see the [section below](#using-pre-commit-hooks).
@@ -5,13 +5,13 @@
Before publishing a new ROCm Compute Profiler release, please review this checklist to ensure all prerequisites are met: Before publishing a new ROCm Compute Profiler release, please review this checklist to ensure all prerequisites are met:
1) **Ensure [VERSION](VERSION) file is updated** to reflect your desired release version. 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/rocprofiler-compute/compare/amd-mainline...amd-staging) to begin that process. 2) **Sync `amd-mainline` with `amd-staging`**. Unless major changes were introduced, you should be able to merge using the fast-forward only strategy.
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. 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. 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). 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]
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. 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**. The [packaging action](.github/workflows/packaging.yml) will automatically upload the artifact and generate release notes to the corresponding tag.
Once you've completed the above checklist, you are ready to publish your release. Please ensure you follow formatting from [past ROCm Compute Profiler releases](https://github.com/ROCm/rocprofiler-compute/releases) for consistency. Some important aspects of our release formatting include: Once you've completed the above checklist, you are ready to publish your release. Please ensure you follow formatting from [past ROCm Compute Profiler releases](https://github.com/ROCm/rocprofiler-compute/releases) for consistency. Some important aspects of our release formatting include:
+1 -1
Wyświetl plik
@@ -30,7 +30,7 @@ ROCm Compute Profiler follows a
[main-dev](https://nvie.com/posts/a-successful-git-branching-model/) [main-dev](https://nvie.com/posts/a-successful-git-branching-model/)
branching model. As a result, our latest stable release is shipped branching model. As a result, our latest stable release is shipped
from the `amd-mainline` branch, while new features are developed in our from the `amd-mainline` branch, while new features are developed in our
`amd-staging` branch. `develop` branch.
Users may checkout `amd-staging` to preview upcoming features. Users may checkout `amd-staging` to preview upcoming features.