-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: auto sync min desktop version with last supported version
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
- Loading branch information
Showing
2 changed files
with
124 additions
and
1 deletion.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
# SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors | ||
# SPDX-License-Identifier: MIT | ||
name: Update min supported desktop version | ||
|
||
on: | ||
workflow_dispatch: | ||
schedule: | ||
- cron: "0 0 * * 1" | ||
|
||
jobs: | ||
update-minimum-supported-desktop-version: | ||
runs-on: ubuntu-latest-low | ||
|
||
steps: | ||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 | ||
with: | ||
submodules: true | ||
|
||
- name: Download desktop client version file from 5 years ago | ||
id: download | ||
run: | | ||
# Create a temporary directory for the downloaded file | ||
mkdir -p tmp | ||
# Download the version file from the provided URL | ||
VERSION_FILE_URL="/~https://github.com/nextcloud/desktop/raw/@%7B5.years.ago%7D/VERSION.cmake" | ||
# Download the file using curl | ||
curl -s -L "$VERSION_FILE_URL" -o tmp/VERSION.cmake | ||
if [ ! -f "tmp/VERSION.cmake" ]; then | ||
echo "Failed to download VERSION.cmake file" | ||
exit 1 | ||
fi | ||
echo "VERSION_FILE=tmp/VERSION.cmake" >> $GITHUB_OUTPUT | ||
echo "Downloaded version file to tmp/VERSION.cmake" | ||
- name: Extract version info | ||
id: extract-version | ||
run: | | ||
# Path to the downloaded version file | ||
VERSION_FILE="${{ steps.download.outputs.VERSION_FILE }}" | ||
# Extract major, minor, patch versions | ||
MAJOR=$(grep "VERSION_MAJOR" $VERSION_FILE | grep -o '[0-9]\+') | ||
MINOR=$(grep "VERSION_MINOR" $VERSION_FILE | grep -o '[0-9]\+') | ||
PATCH=$(grep "VERSION_PATCH" $VERSION_FILE | grep -o '[0-9]\+') | ||
# Construct the version string | ||
VERSION="$MAJOR.$MINOR.$PATCH" | ||
# Validate format: xx.xx.xx where each x is a digit | ||
if ! [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then | ||
echo "Error: Extracted version '$VERSION' does not match required format (xx.xx.xx)" | ||
exit 1 | ||
fi | ||
rm -rf tmp | ||
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT | ||
echo "Extracted Version: $VERSION" | ||
- name: Update files with new version ${{ steps.extract-version.outputs.VERSION }} | ||
id: update-files | ||
run: | | ||
VERSION="${{ steps.extract-version.outputs.VERSION }}" | ||
# Define the files to update | ||
DAV_FILE="apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php" | ||
CONFIG_FILE="config/config.sample.php" | ||
# Check if files exist | ||
if [ ! -f "$DAV_FILE" ]; then | ||
echo "Error: DAV file not found at $DAV_FILE" | ||
exit 1 | ||
fi | ||
if [ ! -f "$CONFIG_FILE" ]; then | ||
echo "Error: Config file not found at $CONFIG_FILE" | ||
exit 1 | ||
fi | ||
# Update the DAV file - replace the version in the specific line | ||
sed -i "s/\('minimum\.supported\.desktop\.version', '\)[0-9]\+\.[0-9]\+\.[0-9]\+'/\1$VERSION'/g" "$DAV_FILE" | ||
echo "Updated $DAV_FILE" | ||
# Update the config sample file | ||
PREV_VERSION=$(grep "'minimum.supported.desktop.version'" "$CONFIG_FILE" | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+') | ||
sed -i "s/Defaults to \`\`$PREV_VERSION\`\`/Defaults to \`\`$VERSION\`\`/" "$CONFIG_FILE" | ||
sed -i "s/'minimum\.supported\.desktop\.version' => '[0-9]\+\.[0-9]\+\.[0-9]\+'/'minimum.supported.desktop.version' => '$VERSION'/g" "$CONFIG_FILE" | ||
echo "Updated $CONFIG_FILE" | ||
# Check if any changes were made | ||
if [ -n "$(git diff "$DAV_FILE" "$CONFIG_FILE")" ]; then | ||
echo "CHANGES_MADE=true" >> $GITHUB_OUTPUT | ||
echo "Changes were made to the files" | ||
git diff "$DAV_FILE" "$CONFIG_FILE" | ||
else | ||
echo "CHANGES_MADE=false" >> $GITHUB_OUTPUT | ||
echo "No changes were needed (versions might already be up to date)" | ||
fi | ||
- name: Create Pull Request | ||
uses: peter-evans/create-pull-request@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f | ||
if: steps.update-files.outputs.CHANGES_MADE == 'true' | ||
with: | ||
token: ${{ secrets.COMMAND_BOT_PAT }} | ||
commit-message: "chore: Update minimum supported desktop version" | ||
committer: GitHub <noreply@github.com> | ||
author: nextcloud-command <nextcloud-command@users.noreply.github.com> | ||
signoff: true | ||
branch: "automated/noid/${{ matrix.branches }}-update-min-supported-desktop-version" | ||
title: "chore: Update minimum supported desktop version to ${{ steps.extract-version.outputs.VERSION }}" | ||
base: "master" | ||
body: | | ||
Auto-generated update of the minimum supported desktop version using last supported version. | ||
/~https://github.com/nextcloud/desktop/blob/@%7B5.years.ago%7D/VERSION.cmake | ||
labels: | | ||
client: 💻 desktop | ||
automated | ||
3. to review | ||
reviewers: tobiasKaminsky, camilasan, claucambra |
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