From 4404b8b129e162a61cd470ada5275c0f819b2f09 Mon Sep 17 00:00:00 2001 From: Sylvain Date: Fri, 8 Mar 2024 13:25:29 +0100 Subject: [PATCH] Move to autoupdate strategy --- .github/workflows/updater.sh | 56 ----------------------------------- .github/workflows/updater.yml | 55 ---------------------------------- manifest.toml | 10 ++++++- 3 files changed, 9 insertions(+), 112 deletions(-) delete mode 100644 .github/workflows/updater.sh delete mode 100644 .github/workflows/updater.yml diff --git a/.github/workflows/updater.sh b/.github/workflows/updater.sh deleted file mode 100644 index 94c7567..0000000 --- a/.github/workflows/updater.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash - -#================================================= -# PACKAGE UPDATING HELPER -#================================================= - -# This script is meant to be run by GitHub Actions -# The YunoHost-Apps organisation offers a template Action to run this script periodically -# Since each app is different, maintainers can adapt its contents so as to perform -# automatic actions when a new upstream release is detected. - -# Remove this exit command when you are ready to run this Action -#exit 1 - -#================================================= -# FETCHING LATEST RELEASE AND ITS ASSETS -#================================================= - -# Fetching information -app=$(cat manifest.toml | tomlq -j '.id') -current_version=$(cat manifest.toml | tomlq -j '.version|split("~")[0]') -upstream_version=$(curl -Ls https://pypi.org/pypi/$app/json | jq -r .info.version) - -# Setting up the environment variables -echo "Current version: $current_version" -echo "Latest release from upstream: $upstream_version" -echo "VERSION=$upstream_version" >> $GITHUB_ENV -# For the time being, let's assume the script will fail -echo "PROCEED=false" >> $GITHUB_ENV - -# Proceed only if the retrieved version is greater than the current one -if ! dpkg --compare-versions "$current_version" "lt" "$upstream_version" -then - echo "::warning :: No new version available" - exit 0 -# Proceed only if a PR for this new version does not already exist -elif git ls-remote -q --exit-code --heads https://github.com/$GITHUB_REPOSITORY.git ci-auto-update-v$upstream_version -then - echo "::warning ::A branch already exists for this update" - exit 0 -fi - -#================================================= -# GENERIC FINALIZATION -#================================================= - -# Replace new version in manifest -sed -i "s/^version = .*/version = \"$upstream_version~ynh1\"/" manifest.toml -#DOES NOT WORK BECAUSE IT REORDER ALL THE MANIFEST IN A STRANGE WAY -#echo "$(tomlq --toml-output --slurp --indent 4 ".[] | .version = \"$version~ynh1\"" manifest.toml)" > manifest.toml - -# No need to update the README, yunohost-bot takes care of it - -# The Action will proceed only if the PROCEED environment variable is set to true -echo "PROCEED=true" >> $GITHUB_ENV -exit 0 diff --git a/.github/workflows/updater.yml b/.github/workflows/updater.yml deleted file mode 100644 index d18a9e5..0000000 --- a/.github/workflows/updater.yml +++ /dev/null @@ -1,55 +0,0 @@ -# This workflow allows GitHub Actions to automagically update your app whenever a new upstream release is detected. -# You need to enable Actions in your repository settings, and fetch this Action from the YunoHost-Apps organization. -# This file should be enough by itself, but feel free to tune it to your needs. -# It calls updater.sh, which is where you should put the app-specific update steps. -name: Check for new upstream releases -on: - # Allow to manually trigger the workflow - workflow_dispatch: - # Run it every day at 6:00 UTC - schedule: - - cron: '0 6 */7 * *' -jobs: - updater: - runs-on: ubuntu-latest - steps: - - name: Fetch the source code - uses: actions/checkout@v3 - with: - token: ${{ secrets.GITHUB_TOKEN }} - - name: Install python - uses: actions/setup-python@v4 - - name: Install yq/tomlq - id: install_yq - run: pip install yq - - name: Run the updater script - id: run_updater - run: | - # Setting up Git user - git config --global user.name 'yunohost-bot' - git config --global user.email 'yunohost-bot@users.noreply.github.com' - # Run the updater script - /bin/bash .github/workflows/updater.sh - - name: Commit changes - id: commit - if: ${{ env.PROCEED == 'true' }} - run: | - git commit -am "Upgrade to v$VERSION" - - name: Create Pull Request - id: cpr - if: ${{ env.PROCEED == 'true' }} - uses: peter-evans/create-pull-request@v4 - with: - token: ${{ secrets.GITHUB_TOKEN }} - commit-message: Update to version ${{ env.VERSION }} - committer: 'yunohost-bot ' - author: 'yunohost-bot ' - signoff: false - base: testing - branch: ci-auto-update-v${{ env.VERSION }} - delete-branch: true - title: 'Upgrade to version ${{ env.VERSION }}' - body: | - Upgrade to v${{ env.VERSION }} - [See upstream release page](https://github.com/home-assistant/core/releases/tag/${{ env.VERSION }}) - draft: false diff --git a/manifest.toml b/manifest.toml index c1a406e..beea61d 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Home Assistant" description.en = "Home automation platform" description.fr = "Plateforme domotique" -version = "2024.2.5~ynh1" +version = "2024.2.5~ynh2" maintainers = ["ewilly"] @@ -77,6 +77,14 @@ ram.runtime = "2G" default = "America/Los_Angeles" [resources] + [resources.sources] + + [resources.sources.main] + url = "https://github.com/home-assistant/core/archive/refs/tags/2024.2.5.tar.gz" + sha256 = "cb65a0c60621688eab43b646e545d2a991cd9eacc65e02d3a39d0ddbd5a645d4" + + autoupdate.strategy = "latest_github_release" + [resources.system_user] [resources.install_dir]