Skip to content

Commit

Permalink
feat(ci): add workflow for creating an EPIC issue for release tracking (
Browse files Browse the repository at this point in the history
  • Loading branch information
MSevey authored Apr 3, 2024
1 parent 04dcff1 commit 1693d5f
Showing 1 changed file with 117 additions and 0 deletions.
117 changes: 117 additions & 0 deletions .github/workflows/reusable_create_release_tracking_epic.yml
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 }}

0 comments on commit 1693d5f

Please sign in to comment.