Skip to content

Commit

Permalink
Improve update_frontend
Browse files Browse the repository at this point in the history
  • Loading branch information
wendevlin committed Dec 16, 2024
1 parent 55ae5d4 commit 8cf3473
Showing 1 changed file with 15 additions and 27 deletions.
42 changes: 15 additions & 27 deletions .github/workflows/update_frontend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,11 @@ on:
workflow_dispatch:

jobs:
check-version-and-create-pr:
check-version:
runs-on: ubuntu-latest
outputs:
skip: ${{ steps.check_version.outputs.skip || steps.check_existing_pr.outputs.skip }}
latest_tag: ${{ steps.latest_frontend_version.outputs.latest_tag }}
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand Down Expand Up @@ -37,45 +40,30 @@ jobs:
echo "Skipping - There is already a PR open for version $LATEST_VERSION"
echo "skip=true" >> $GITHUB_OUTPUT
fi
- name: Get old version PRs
if: steps.check_version.outputs.skip != 'true' && steps.check_existing_pr.outputs.skip != 'true'
id: get_old_prs
run: |
OLD_PRS=$(gh pr list --state open --base main --json number --search "Autoupdate frontend to version")
echo "OLD_PRS=$OLD_PRS" >> $GITHUB_ENV
if [[ "$OLD_PRS" != "[]" ]]; then
echo "old_prs_found=true" >> $GITHUB_OUTPUT
fi
- name: Close existing PRs of older version
if: steps.check_version.outputs.skip != 'true' && steps.check_existing_pr.outputs.skip != 'true' && steps.get_old_prs.outputs.old_prs_found == 'true'
run: |
apt-get install -y jq
for pr_number in $(jq -r '.[] | .number' <<< $OLD_PRS); do
gh pr close $pr_number --delete-branch --comment "Closed automatically because a newer frontend version is available"
done
create-pr:
runs-on: ubuntu-latest
needs: check-version
if: needs.check-version.outputs.skip != 'true'
steps:
- name: Clear www folder
if: steps.check_version.outputs.skip != 'true' && steps.check_existing_pr.outputs.skip != 'true'
run: |
rm -rf rootfs/usr/share/www/*
- name: Update version file
if: steps.check_version.outputs.skip != 'true' && steps.check_existing_pr.outputs.skip != 'true'
run: |
echo "${{ steps.latest_frontend_version.outputs.latest_tag }}" > .ha-frontend-version
echo "${{ needs.check-version.outputs.latest_tag }}" > .ha-frontend-version
- name: Download release assets
if: steps.check_version.outputs.skip != 'true' && steps.check_existing_pr.outputs.skip != 'true'
uses: robinraju/release-downloader@v1
with:
repository: 'home-assistant/frontend'
tag: ${{ steps.latest_frontend_version.outputs.latest_tag }}
fileName: home_assistant_frontend_landingpage-${{ steps.latest_frontend_version.outputs.latest_tag }}.tar.gz
tag: ${{ needs.check-version.outputs.latest_tag }}
fileName: home_assistant_frontend_landingpage-${{ needs.check-version.outputs.latest_tag }}.tar.gz
extract: true
out-file-path: rootfs/usr/share/www/
- name: Create PR
if: steps.check_version.outputs.skip != 'true' && steps.check_existing_pr.outputs.skip != 'true'
uses: peter-evans/create-pull-request@v7
with:
commit-message: "Autoupdate frontend to version ${{ steps.latest_frontend_version.outputs.latest_tag }}"
branch: autoupdate-frontend-${{ steps.latest_frontend_version.outputs.latest_tag }}
commit-message: "Autoupdate frontend to version ${{ needs.check-version.outputs.latest_tag }}"
branch: autoupdate-frontend
base: main
sign-commits: true
title: "Autoupdate frontend to version ${{ steps.latest_frontend_version.outputs.latest_tag }}"
title: "Autoupdate frontend to version ${{ needs.check-version.outputs.latest_tag }}"

0 comments on commit 8cf3473

Please sign in to comment.