Files
home-assistant-addons/.github/workflows/release-addons.yaml
2025-11-05 12:02:15 +01:00

59 lines
1.9 KiB
YAML

name: Release Home-Assistant-Matter-Hub
on:
repository_dispatch:
event_name: release
# client_payload:
# project: "hamh"
# channel: "latest" | "beta" | "alpha"
# version: "3.0.0-alpha.33"
# changelogUrl: "https://..."
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get Version
id: event_parser
run: |
PROJECT="${{ github.event.client_payload.project }}"
CHANNEL="${{ github.event.client_payload.channel }}"
if [ "$CHANNEL" != "latest" ]; then
PROJECT="$PROJECT-$CHANNEL"
fi
echo "project=$PROJECT" >> "$GITHUB_OUTPUT"
echo "channel=$CHANNEL" >> "$GITHUB_OUTPUT"
echo "version=${{ github.event.client_payload.version }}" >> "$GITHUB_OUTPUT"
echo "changelogUrl=${{ github.event.client_payload.changelogUrl }}" >> "$GITHUB_OUTPUT"
if [ ! -d "$PROJECT" ]; then
echo "No Project: $PROJECT"
exit 1
fi
- run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Copy Changelog
env:
CHANGELOG_FILE: ${{steps.event_parser.outputs.project}}/CHANGELOG.md
run: |
curl -L "${{ steps.event_parser.outputs.changelogUrl }}" > $CHANGELOG_FILE
git add $CHANGELOG_FILE
- name: Apply release version
env:
CONFIG_FILE: ${{steps.event_parser.outputs.project}}/config.yaml
run: |
yq -i ".version = \"${{ steps.event_parser.outputs.version }}\"" $CONFIG_FILE
git add $CONFIG_FILE
- name: Publish
run: |
git commit -m "bumb(${{steps.event_parser.outputs.project}}): bumb to version ${{ steps.event_parser.outputs.version }}"
git push origin main