Skip to content

Commit

Permalink
Update Release Process (#547)
Browse files Browse the repository at this point in the history
* Add Draft Release Creator with Date & Others

* update discord webhook
  • Loading branch information
donavanbecker authored May 1, 2024
1 parent d73adb7 commit d547740
Show file tree
Hide file tree
Showing 8 changed files with 162 additions and 15 deletions.
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/wiki-change-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Wiki Change Request
description: want change?
labels: ["wiki change request"]
body:
- type: markdown
attributes:
value: |
Please read the following before you start filling out this form:
* This form is for requesting changes to the Homebridge Organization wiki pages only.
- type: textarea
id: proposed-change
attributes:
label: Proposed Change
description: |
Please describe the change you would like to see made to the wiki page.
If you are requesting a new page, please describe the page you would like to see created.
placeholder: |
Tip: You can attach images or files by clicking this area to highlight it and then dragging files in.
validations:
required: true
- type: input
id: wiki-page
attributes:
label: Wiki Page Link
description: |
Please provide a link to the wiki page you would like to see changed.
If you are requesting a new page, please provide details of where you would like to see this page linked from.
validations:
required: true
11 changes: 11 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Add 'beta' label to any PR where the base branch name starts with `beta` or has a `beta` section in the name
beta:
- base-branch: ['^beta', 'beta', 'beta*']

# Add 'beta' label to any PR where the base branch name starts with `beta` or has a `beta` section in the name
alpha:
- base-branch: ['^alpha', 'alpha', 'alpha*']

# Add 'latest' label to any PR where the base branch name starts with `latest` or has a `latest` section in the name
latest:
- base-branch: ['^latest', 'latest', 'latest*']
21 changes: 21 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# The GitHub release configuration file: https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes#configuring-automatically-generated-release-notes

changelog:
categories:
- title: Breaking Changes 🛠
labels:
- 'breaking change'
- title: Featured Changes ✨
labels:
- 'feature'
- 'enhancement'
- title: Bug Fixes 🐛
labels:
- 'fix'
- 'bugfix'
- 'bug'
- title: Other Changes
labels:
- "chore"
- "housekeeping"
- "*"
15 changes: 0 additions & 15 deletions .github/workflows/discord-webhooks.yml

This file was deleted.

12 changes: 12 additions & 0 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Labeler

on:
pull_request_target: # required for auto labeler
types: [opened, reopened, synchronize]
workflow_dispatch:

jobs:
stale:
uses: homebridge/.github/.github/workflows/labeler.yml@latest
secrets:
token: ${{ secrets.GITHUB_TOKEN }}
35 changes: 35 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,3 +89,38 @@ jobs:
homebridge/homebridge:ubuntu
homebridge/homebridge:${{ steps.image_tag.outputs.IMAGE_TAG }}
tag:
name: Verify Release Tag
runs-on: ubuntu-latest
outputs:
version: ${{ steps.get_version.outputs.version }}
steps:
- name: Get Release Tag
id: get_version
uses: jannemattila/get-version-from-tag@v3
- name: Tag Info
run: |
echo "Release Tag: ${{github.ref}}"
echo "Latest Tag: ${{ steps.get_version.outputs.version }}"
- name: Tag Info Matches
if: endsWith(github.ref, steps.get_version.outputs.version )
run: |
echo Latest Tag matches Release tag
- name: Tag Info Doesn't Match
if: ${{ !endsWith(github.ref, steps.get_version.outputs.version ) }}
run: |
echo Latest Tag does not matches Release tag
exit 1
github-releases-to-discord:
name: Discord Webhooks
needs: build
uses: homebridge/.github/.github/workflows/discord-webhooks.yml@latest
with:
title: "Homebridge Docker Release"
description: |
Version `${{ github.event.release.tag_name }}`
url: "https://github.com/homebridge/homebridge-docker/releases/tag/${{ github.event.release.tag_name }}"
secrets:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL_LATEST }}

12 changes: 12 additions & 0 deletions .github/workflows/pr-labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: PR Labeler

on:
pull_request: # required for auto labeler
types: [opened, reopened, synchronize]
workflow_dispatch:

jobs:
stale:
uses: homebridge/.github/.github/workflows/pr-labeler.yml@latest
secrets:
token: ${{ secrets.GITHUB_TOKEN }}
38 changes: 38 additions & 0 deletions .github/workflows/release-creator.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Create Draft Release

on:
push:
branches: [latest]
pull_request: # required for autolabeler
branches: [latest]
types: [opened, reopened, synchronize, ready_for_review, review_requested]
workflow_dispatch:

jobs:
build:
name: Create Release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Get current date
id: date
run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: ${{ steps.date.outputs.date }}
release_name: ${{ steps.date.outputs.date }}
body: |
Homebridge Apt Package Manifest
| Package | Version |
|:-------:|:-------:|
|NodeJS| v*.*.* |
|Homebridge-Config-UI-X| *.*.* |
|Homebridge| *.*.* |
draft: true
prerelease: false

0 comments on commit d547740

Please sign in to comment.