-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(ci): add workflow for creating an EPIC issue for release tracking (
#101)
- Loading branch information
Showing
1 changed file
with
117 additions
and
0 deletions.
There are no files selected for viewing
117 changes: 117 additions & 0 deletions
117
.github/workflows/reusable_create_release_tracking_epic.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
name: Create Release Tracking Epic | ||
|
||
# This workflow creates an EPIC for tracking the deployment of a release to | ||
# testnets and mainnet. | ||
# | ||
# Example workflow to be used in repository calling this workflow. | ||
# This would trigger on published releases | ||
# | ||
# name: Release Trigger Issue | ||
# on: | ||
# release: | ||
# types: [published] | ||
# jobs: | ||
# trigger_issue: | ||
# uses: celestiaorg/.github/.github/workflows/reusable_release_tracking_epic.yml | ||
# secrets: inherit | ||
# with: | ||
# release-repo: ${{ github.repository }} | ||
# release-version: ${{ github.event.release.tag_name }} | ||
# | ||
|
||
on: | ||
# workflow_dispatch is used to manually test this workflow | ||
workflow_dispatch: | ||
inputs: | ||
release-repo: | ||
required: true | ||
type: string | ||
description: "Which repo is triggering this release?" | ||
release-version: | ||
required: true | ||
type: string | ||
description: "What is the version triggering this release?" | ||
# workflow_call is the primary trigger to be used for this workflow | ||
workflow_call: | ||
inputs: | ||
release-repo: | ||
required: true | ||
type: string | ||
description: "Which repo is triggering this release?" | ||
release-version: | ||
required: true | ||
type: string | ||
description: "What is the version triggering this release?" | ||
|
||
jobs: | ||
create_issue: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- uses: dacbd/create-issue-action@v2 | ||
id: create-issue | ||
with: | ||
# This is an org level secret. No changes needed at the repo level | ||
token: ${{ secrets.CREATE_RELEASE_EPIC }} | ||
owner: celestiaorg | ||
# Create the tracking issue in devops as devops is responsible for | ||
# updating the networks | ||
repo: devops | ||
# Currently unable to assign a group to an issue, so assigning MSevey | ||
# as issue owner. | ||
assignees: MSevey | ||
# Title and body and free to change based on the team's needs | ||
title: ${{inputs.release-repo}} ${{inputs.release-version}} Release Deployment Tracking | ||
body: | | ||
## Release Checklist | ||
```[tasklist] | ||
### Pre-work | ||
- [ ] Confirm release tested on Robusta | ||
- [ ] App and Node compatibility confirmed | ||
- [ ] Release notes reviewed | ||
``` | ||
```[tasklist] | ||
### Stage 1: Arabica | ||
- [ ] Prepare deployment to Arabica | ||
- [ ] Prepare announcement for Arabica | ||
- [ ] Deploy to Arabica | ||
- [ ] Verify release on Arabica | ||
- [ ] Docs updated for release for Arabica | ||
- [ ] Announce release for Arabica | ||
``` | ||
```[tasklist] | ||
### Stage 2: Mocha | ||
- [ ] Prepare deployment to Mocha | ||
- [ ] Prepare announcement for Mocha | ||
- [ ] Deploy to Mocha | ||
- [ ] Verify release on Mocha | ||
- [ ] Docs updated for release for Mocha | ||
- [ ] Announce release for Mocha | ||
``` | ||
```[tasklist] | ||
### Stage 3: Mainnet | ||
- [ ] Prepare deployment for mainnet | ||
- [ ] Prepare announcement for mainnet | ||
- [ ] Deploy to mainnet | ||
- [ ] Verify release on mainnet | ||
- [ ] Docs updated for release for mainnet | ||
- [ ] Announce release for mainnet | ||
``` | ||
cc @celestiaorg/devops | ||
- uses: ravsamhq/notify-slack-action@v2 | ||
with: | ||
status: ${{ job.status }} | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
notification_title: "New Release for Deployment" | ||
message_format: "{emoji} *{workflow}* {status_message} in <{repo_url}|{repo}>" | ||
footer: "Linked Issue <${{steps.create-issue.outputs.html_url}}>" | ||
# This is the devops user group | ||
mention_groups: "S04MZ965WQZ" | ||
env: | ||
# This is an org level secret and is currently set to #releases in | ||
# slack | ||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} |