mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-07-21 16:16:31 +00:00
Add frontend auto update workflow (#5501)
* Remove git submodule * Add frontend auto update workflow * Update .github/workflows/update_frontend.yml Co-authored-by: Stefan Agner <stefan@agner.ch> --------- Co-authored-by: Stefan Agner <stefan@agner.ch>
This commit is contained in:
parent
5928a31fc4
commit
b07236b544
74
.github/workflows/update_frontend.yml
vendored
Normal file
74
.github/workflows/update_frontend.yml
vendored
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
name: Update frontend
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule: # once a day
|
||||||
|
- cron: "0 0 * * *"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
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
|
||||||
|
- name: Get latest frontend release
|
||||||
|
id: latest_frontend_version
|
||||||
|
uses: abatilo/release-info-action@v1.3.3
|
||||||
|
with:
|
||||||
|
owner: home-assistant
|
||||||
|
repo: frontend
|
||||||
|
- name: Check if version is up to date
|
||||||
|
id: check_version
|
||||||
|
run: |
|
||||||
|
SUPERVISOR_VERSION=$(cat .ha-frontend-version)
|
||||||
|
LATEST_VERSION=${{ steps.latest_frontend_version.outputs.latest_tag }}
|
||||||
|
echo "SUPERVISOR_VERSION=$SUPERVISOR_VERSION" >> $GITHUB_ENV
|
||||||
|
echo "LATEST_VERSION=$LATEST_VERSION" >> $GITHUB_ENV
|
||||||
|
if [[ ! "$SUPERVISOR_VERSION" < "$LATEST_VERSION" ]]; then
|
||||||
|
echo "Frontend version is up to date"
|
||||||
|
echo "skip=true" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
- name: Check if there is no open PR with this version
|
||||||
|
if: steps.check_version.outputs.skip != 'true'
|
||||||
|
id: check_existing_pr
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ github.token }}
|
||||||
|
run: |
|
||||||
|
PR=$(gh pr list --state open --base main --json title --search "Autoupdate frontend to version $LATEST_VERSION")
|
||||||
|
if [[ "$PR" != "[]" ]]; then
|
||||||
|
echo "Skipping - There is already a PR open for version $LATEST_VERSION"
|
||||||
|
echo "skip=true" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
create-pr:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: check-version
|
||||||
|
if: needs.check-version.outputs.skip != 'true'
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Clear www folder
|
||||||
|
run: |
|
||||||
|
rm -rf supervisor/api/panel/*
|
||||||
|
- name: Update version file
|
||||||
|
run: |
|
||||||
|
echo "${{ needs.check-version.outputs.latest_tag }}" > .ha-frontend-version
|
||||||
|
- name: Download release assets
|
||||||
|
uses: robinraju/release-downloader@v1
|
||||||
|
with:
|
||||||
|
repository: 'home-assistant/frontend'
|
||||||
|
tag: ${{ needs.check-version.outputs.latest_tag }}
|
||||||
|
fileName: home_assistant_frontend_supervisor-${{ needs.check-version.outputs.latest_tag }}.tar.gz
|
||||||
|
extract: true
|
||||||
|
out-file-path: supervisor/api/panel/
|
||||||
|
- name: Create PR
|
||||||
|
uses: peter-evans/create-pull-request@v7
|
||||||
|
with:
|
||||||
|
commit-message: "Autoupdate frontend to version ${{ needs.check-version.outputs.latest_tag }}"
|
||||||
|
branch: autoupdate-frontend
|
||||||
|
base: main
|
||||||
|
draft: true
|
||||||
|
sign-commits: true
|
||||||
|
title: "Autoupdate frontend to version ${{ needs.check-version.outputs.latest_tag }}"
|
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -1,4 +0,0 @@
|
|||||||
[submodule "home-assistant-polymer"]
|
|
||||||
path = home-assistant-polymer
|
|
||||||
url = https://github.com/home-assistant/home-assistant-polymer
|
|
||||||
branch = dev
|
|
1
.ha-frontend-version
Normal file
1
.ha-frontend-version
Normal file
@ -0,0 +1 @@
|
|||||||
|
20241127.8
|
@ -1 +0,0 @@
|
|||||||
Subproject commit 46f0e0212dc93ffaf2992b64aa8fa1b54fde7e0e
|
|
@ -1,27 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
source "/etc/supervisor_scripts/common"
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Update frontend
|
|
||||||
git submodule update --init --recursive --remote
|
|
||||||
|
|
||||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
|
||||||
cd home-assistant-polymer
|
|
||||||
nvm install
|
|
||||||
script/bootstrap
|
|
||||||
|
|
||||||
# Download translations
|
|
||||||
./script/translations_download
|
|
||||||
|
|
||||||
# build frontend
|
|
||||||
cd hassio
|
|
||||||
./script/build_hassio
|
|
||||||
|
|
||||||
# Copy frontend
|
|
||||||
rm -rf ../../supervisor/api/panel/*
|
|
||||||
cp -rf build/* ../../supervisor/api/panel/
|
|
||||||
|
|
||||||
# Reset frontend git
|
|
||||||
cd ..
|
|
||||||
git reset --hard HEAD
|
|
Loading…
x
Reference in New Issue
Block a user