From b0ecf6068160abd0e8caf40d4c478211d0a77b66 Mon Sep 17 00:00:00 2001 From: Alex Vandiver Date: Fri, 20 Dec 2024 10:21:28 -0500 Subject: [PATCH 1/3] github: Elevate permisisons to allow creating branches and PRs. --- .github/workflows/update-translations.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/update-translations.yml b/.github/workflows/update-translations.yml index b0e934e287..e47774dd87 100644 --- a/.github/workflows/update-translations.yml +++ b/.github/workflows/update-translations.yml @@ -1,4 +1,7 @@ name: Update translations from Weblate +permissions: + contents: write + pull-requests: write on: schedule: - cron: "0 10 * * 1" From 874242225879f8630eff6b28e25cb41f9cc9de5b Mon Sep 17 00:00:00 2001 From: Alex Vandiver Date: Fri, 20 Dec 2024 10:23:01 -0500 Subject: [PATCH 2/3] github: Add steps to update generated code as well. --- .github/workflows/update-translations.yml | 27 +++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/.github/workflows/update-translations.yml b/.github/workflows/update-translations.yml index e47774dd87..64cf16f217 100644 --- a/.github/workflows/update-translations.yml +++ b/.github/workflows/update-translations.yml @@ -6,17 +6,44 @@ on: schedule: - cron: "0 10 * * 1" workflow_dispatch: + jobs: update-translations: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Fetch and merge from Weblate # The commit message is generated in Weblate; see https://hosted.weblate.org/addon/17163/ run: | git remote add weblate https://hosted.weblate.org/git/zulip/zulip-flutter/ git fetch weblate git merge --ff-only weblate/main + + - name: Clone Flutter SDK + # We can't do a depth-1 clone, because we need the most recent tag + # so that Flutter knows its version and sees the constraint in our + # pubspec is satisfied. It's uncommon for flutter/flutter to go + # more than 100 commits between tags. Fetch 1000 for good measure. + run: | + git clone --depth=1000 -b main https://github.com/flutter/flutter ~/flutter + TZ=UTC git --git-dir ~/flutter/.git log -1 --format='%h | %ci | %s' --date=iso8601-local + echo ~/flutter/bin >> "$GITHUB_PATH" + + # The Flutter tool assumes the tip of tree is "origin/master" + # (or "upstream/master"): + # https://github.com/flutter/flutter/issues/160626 + # TODO(upstream): make workaround unneeded + git --git-dir ~/flutter/.git update-ref refs/remotes/origin/master origin/main + + - name: Update generated code + run: | + mkdir -p build + tools/check l10n --fix + git add lib/generated/l10n/ + GIT_COMMITTER_NAME="Hosted Weblate" GIT_COMMITTER_EMAIL="hosted@weblate.org" \ + git commit --amend -C HEAD + - name: Create Pull Request uses: peter-evans/create-pull-request@v7 with: From 6bbe74f764a006191c61af6f0b3e30203966da26 Mon Sep 17 00:00:00 2001 From: Alex Vandiver Date: Wed, 26 Feb 2025 14:01:34 -0500 Subject: [PATCH 3/3] github: Maybe lag behind main, instead of failing a merge --ff-only. --- .github/workflows/update-translations.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/update-translations.yml b/.github/workflows/update-translations.yml index 64cf16f217..fb676042ff 100644 --- a/.github/workflows/update-translations.yml +++ b/.github/workflows/update-translations.yml @@ -18,7 +18,11 @@ jobs: run: | git remote add weblate https://hosted.weblate.org/git/zulip/zulip-flutter/ git fetch weblate - git merge --ff-only weblate/main + # This may lag behind `main` if weblate is backlogged; this can + # theoretically cause the PR to not be able to auto-merged, though + # re-running the action once weblate has caught up should be + # sufficient to fix that. + git reset --hard weblate/main - name: Clone Flutter SDK # We can't do a depth-1 clone, because we need the most recent tag