Skip to content

Commit 1693d5f

Browse files
authored
feat(ci): add workflow for creating an EPIC issue for release tracking (#101)
1 parent 04dcff1 commit 1693d5f

File tree

1 file changed

+117
-0
lines changed

1 file changed

+117
-0
lines changed
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
name: Create Release Tracking Epic
2+
3+
# This workflow creates an EPIC for tracking the deployment of a release to
4+
# testnets and mainnet.
5+
#
6+
# Example workflow to be used in repository calling this workflow.
7+
# This would trigger on published releases
8+
#
9+
# name: Release Trigger Issue
10+
# on:
11+
# release:
12+
# types: [published]
13+
# jobs:
14+
# trigger_issue:
15+
# uses: celestiaorg/.github/.github/workflows/reusable_release_tracking_epic.yml
16+
# secrets: inherit
17+
# with:
18+
# release-repo: ${{ github.repository }}
19+
# release-version: ${{ github.event.release.tag_name }}
20+
#
21+
22+
on:
23+
# workflow_dispatch is used to manually test this workflow
24+
workflow_dispatch:
25+
inputs:
26+
release-repo:
27+
required: true
28+
type: string
29+
description: "Which repo is triggering this release?"
30+
release-version:
31+
required: true
32+
type: string
33+
description: "What is the version triggering this release?"
34+
# workflow_call is the primary trigger to be used for this workflow
35+
workflow_call:
36+
inputs:
37+
release-repo:
38+
required: true
39+
type: string
40+
description: "Which repo is triggering this release?"
41+
release-version:
42+
required: true
43+
type: string
44+
description: "What is the version triggering this release?"
45+
46+
jobs:
47+
create_issue:
48+
runs-on: ubuntu-latest
49+
50+
steps:
51+
- name: Checkout repository
52+
uses: actions/checkout@v4
53+
54+
- uses: dacbd/create-issue-action@v2
55+
id: create-issue
56+
with:
57+
# This is an org level secret. No changes needed at the repo level
58+
token: ${{ secrets.CREATE_RELEASE_EPIC }}
59+
owner: celestiaorg
60+
# Create the tracking issue in devops as devops is responsible for
61+
# updating the networks
62+
repo: devops
63+
# Currently unable to assign a group to an issue, so assigning MSevey
64+
# as issue owner.
65+
assignees: MSevey
66+
# Title and body and free to change based on the team's needs
67+
title: ${{inputs.release-repo}} ${{inputs.release-version}} Release Deployment Tracking
68+
body: |
69+
## Release Checklist
70+
```[tasklist]
71+
### Pre-work
72+
- [ ] Confirm release tested on Robusta
73+
- [ ] App and Node compatibility confirmed
74+
- [ ] Release notes reviewed
75+
```
76+
```[tasklist]
77+
### Stage 1: Arabica
78+
- [ ] Prepare deployment to Arabica
79+
- [ ] Prepare announcement for Arabica
80+
- [ ] Deploy to Arabica
81+
- [ ] Verify release on Arabica
82+
- [ ] Docs updated for release for Arabica
83+
- [ ] Announce release for Arabica
84+
```
85+
```[tasklist]
86+
### Stage 2: Mocha
87+
- [ ] Prepare deployment to Mocha
88+
- [ ] Prepare announcement for Mocha
89+
- [ ] Deploy to Mocha
90+
- [ ] Verify release on Mocha
91+
- [ ] Docs updated for release for Mocha
92+
- [ ] Announce release for Mocha
93+
```
94+
```[tasklist]
95+
### Stage 3: Mainnet
96+
- [ ] Prepare deployment for mainnet
97+
- [ ] Prepare announcement for mainnet
98+
- [ ] Deploy to mainnet
99+
- [ ] Verify release on mainnet
100+
- [ ] Docs updated for release for mainnet
101+
- [ ] Announce release for mainnet
102+
```
103+
cc @celestiaorg/devops
104+
105+
- uses: ravsamhq/notify-slack-action@v2
106+
with:
107+
status: ${{ job.status }}
108+
token: ${{ secrets.GITHUB_TOKEN }}
109+
notification_title: "New Release for Deployment"
110+
message_format: "{emoji} *{workflow}* {status_message} in <{repo_url}|{repo}>"
111+
footer: "Linked Issue <${{steps.create-issue.outputs.html_url}}>"
112+
# This is the devops user group
113+
mention_groups: "S04MZ965WQZ"
114+
env:
115+
# This is an org level secret and is currently set to #releases in
116+
# slack
117+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

0 commit comments

Comments
 (0)