Update Home Assistant appVersion #284
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
name: Update Home Assistant appVersion | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 8 * * *' | |
jobs: | |
update-version: | |
runs-on: ubuntu-22.04 | |
permissions: | |
contents: write | |
pull-requests: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Get stable digest | |
id: get-stable-digest | |
run: | | |
stable_digest=$(curl -s "https://registry.hub.docker.com/v2/repositories/homeassistant/home-assistant/tags/stable" | jq -r .digest) | |
echo "Stable digest: $stable_digest" | |
echo "stable_digest=$stable_digest" >> "$GITHUB_ENV" | |
- name: Get app versions | |
id: get-image-tag | |
run: | | |
tag=$(curl -s "https://registry.hub.docker.com/v2/repositories/homeassistant/home-assistant/tags?page_size=100" | \ | |
jq -r --arg stable_digest "$stable_digest" '.results | map(select(.digest == $stable_digest) | .name) | map(select(test("^[0-9]{4}\\.[0-9]{1,2}\\.[0-9]+$"))) | .[]') | |
echo "App stable tag: $tag" | |
echo "stable_tag=$tag" >> "$GITHUB_ENV" | |
- name: Update Chart.yaml | |
run: | | |
src_file="charts/home-assistant/Chart.yaml" | |
app_version=$(yq '.appVersion' $src_file) | |
chart_version=$(yq '.version' "$src_file") | |
new_version=$(echo $chart_version | awk -F. '{$NF = $NF + 1;} 1' OFS=.) | |
if [ "$app_version" != "$stable_tag" ]; then | |
echo "Updating Chart.yaml with appVersion: $stable_tag chartVersion: $new_version" | |
diff -B <(yq "$src_file") <(yq eval ".appVersion = \"$stable_tag\"" "$src_file") | patch "$src_file" | |
diff -B <(yq "$src_file") <(yq eval ".version = \"$new_version\"" "$src_file") | patch "$src_file" | |
fi | |
- name: Create Pull Request | |
uses: peter-evans/create-pull-request@v5 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
title: 'bump(home-assistant): update app version' | |
body: 'Automatically updated Home Assistant app versions' | |
commit-message: 'bump(home-assistant): appVersion ${{ env.stable_tag }}' | |
branch-suffix: timestamp |