Skip to content

Merge pull request #3525 from weblate/weblate-easyeffects-main #1306

Merge pull request #3525 from weblate/weblate-easyeffects-main

Merge pull request #3525 from weblate/weblate-easyeffects-main #1306

on:
push:
branches: [ master ]
name: Update translation templates
jobs:
update-templates:
name: Update translation templates
runs-on: ubuntu-22.04
container:
image: archlinux
steps:
# install git first otherwise checkout will not give us an actual git repo
- name: Install git
run: pacman -Syu --noconfirm git
- name: Checkout
uses: actions/[email protected]
- name: Install deps
run: |
# install general build deps
pacman -Syu --noconfirm ninja gcc pkgconf python3 python-pip which
# install easyeffects deps
source ./PKGBUILD && pacman -Syu --noconfirm --needed --asdeps "${makedepends[@]}" "${depends[@]}"
# workaround upstream permissions issue github.com/peter-evans/create-pull-request/issues/1170
- name: Change git permissions
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run meson targets
run: |
meson build
cd build
../util/update_translation_templates.sh
cd ..
- name: Check for non-timestamp diff
run: |
# see https://stackoverflow.com/a/26622262
DIFF_LINES=$(git diff --unified=0 | grep '^[+-]' | grep -Ev '^(--- a/|\+\+\+ b/)')
if [[ $(echo "$DIFF_LINES" | grep "POT-Creation-Date:") != "$DIFF_LINES" ]]; then
echo "The calculated diff includes modifications besides just timestamp changes (POT-Creation-Date)."
echo "Letting the PR continue as this is a valid reason to open a PR."
else
echo "The calculated diff just has timestamp changes (POT-Creation-Date)."
echo "Restoring original files since this is not a valid reason to open a PR."
git restore .
fi
echo "All diff lines count: $(echo "$DIFF_LINES" | wc -l)"
echo "Diff lines count where POT-Creation-Date was changed: $(echo "$DIFF_LINES" | grep "POT-Creation-Date:" | wc -l)"
# TODO it would be ideal to refresh metainfo fully by copying release notes from the upcoming release in NEWS.yaml to metainfo, and then running the above update template script,
# however this is not possible without putting a dummy release in the metainfo with said upcoming release notes which would later have to be adjusted to the real release.
- name: Create Pull Request
uses: peter-evans/[email protected]
with:
title: Update translation templates
body: Ensure to merge all other Pull Requests before merging this. Conflicts here will automatically be resolved in case of changes in master.
commit-message: Update translation templates
# email sets "EasyEffects Bot" user as commit author
committer: EasyEffects Bot <[email protected]>
author: EasyEffects Bot <[email protected]>
branch: automatically-update-translation-templates
# the easyeffects_bot secret/token is only valid for a fork
# note the machine user (easyeffects-bot) must have already forked the repository where the action is running for this to work
push-to-fork: easyeffects-bot/easyeffects
token: ${{ secrets.EASYEFFECTS_BOT }}