Skip to content

Commit

Permalink
Created .github/workflows/sync-changes.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
adamlui committed Oct 11, 2024
1 parent 6e0f065 commit c23deb2
Showing 1 changed file with 88 additions and 0 deletions.
88 changes: 88 additions & 0 deletions .github/workflows/sync-changes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Sync _locales/* between <chromium|firefox>/extension/, then * to adamlui/ai-apps/you.com-omnibox/*

on:
push:
branches: [main]
paths: ["**", "!.*", "!package*json", "!eslint.config*"]

jobs:
build:
if: (github.repository == 'adamlui/you.com-omnibox') && (github.event.commits[0].committer.username != 'kudo-sync-bot')
runs-on: ubuntu-latest

steps:

- name: Checkout adamlui/you.com-omnibox
uses: actions/checkout@v4
with:
token: ${{ secrets.REPO_SYNC_PAT }}
repository: adamlui/you.com-omnibox
path: adamlui/you.com-omnibox
fetch-depth: 2

- name: Checkout adamlui/ai-apps
uses: actions/checkout@v4
with:
token: ${{ secrets.REPO_SYNC_PAT }}
repository: adamlui/ai-apps
path: adamlui/ai-apps

- name: Sync _locales/* between <chromium|firefox>/extension/
run: |
cd ${{ github.workspace }}/adamlui/you.com-omnibox
ff_dir="firefox/extension/_locales"
chromium_dir="chromium/extension/_locales"
# Loop thru all lang dirs in firefox
for locale in $(find "$ff_dir" -mindepth 1 -maxdepth 1 -type d -exec basename {} \;) ; do
ff_file="$ff_dir/$locale/messages.json"
chromium_file="$chromium_dir/$locale/messages.json"
if [[ -f "$ff_file" && -f "$chromium_file" ]] ; then
# Get the latest commit timestamps for both files
ff_timestamp=$(git log -1 --format="%ct" -- "$ff_file" 2>/dev/null || echo 0)
chromium_timestamp=$(git log -1 --format="%ct" -- "$chromium_file" 2>/dev/null || echo 0)
# Sync the most recently updated file to the other dir
if [[ $ff_timestamp -gt $chromium_timestamp ]] ; then
cp -f "$ff_file" "$chromium_file"
elif [[ $chromium_timestamp -gt $ff_timestamp ]] ; then
cp -f "$chromium_file" "$ff_file"
fi
fi
done
- name: Sync * to adamlui/ai-apps/you.com-omnibox/*
run: |
rsync -avhr --delete --exclude={'.*','eslint*','package*json'} \
${{ github.workspace }}/adamlui/you.com-omnibox/ \
${{ github.workspace }}/adamlui/ai-apps/you.com-omnibox/
- name: Escape backticks in commit msg
env:
COMMIT_MSG: ${{ github.event.head_commit.message }}
run: |
echo "ESCAPED_MSG<<EOF" >> $GITHUB_ENV
echo "$COMMIT_MSG" | sed 's/`/\`/g' >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- name: Config committer
run: |
gpg --batch --import <(echo "${{ secrets.GPG_PRIVATE_KEY }}")
git config --global user.name "kudo-sync-bot"
git config --global user.email "[email protected]"
git config --global user.signingkey "${{ secrets.GPG_PRIVATE_ID }}"
- name: Push changes to adamlui/you.com-omnibox
run: |
cd ${{ github.workspace }}/adamlui/you.com-omnibox
git add .
git commit -S -n -m "$ESCAPED_MSG ↞ [auto-sync from \`adamlui/you.com-omnibox\`]" || true
git push
- name: Push changes to adamlui/ai-apps
run: |
cd ${{ github.workspace }}/adamlui/ai-apps
git add .
git commit -S -n -m "$ESCAPED_MSG ↞ [auto-sync from \`adamlui/you.com-omnibox\`]" || true
git push

0 comments on commit c23deb2

Please sign in to comment.