Skip to content

Merge pull request #759 from KudoAI/dependabot/npm_and_yarn/kudoai/ai… #536

Merge pull request #759 from KudoAI/dependabot/npm_and_yarn/kudoai/ai…

Merge pull request #759 from KudoAI/dependabot/npm_and_yarn/kudoai/ai… #536

name: Sync README.md between chatgpt.js/ ⟷ chatgpt.js/docs/, then chatgpt.js/ to KudoAI/chatgpt.js
on:
push:
branches: [main]
paths: [chatgpt.js/**]
jobs:
build:
if: (github.repository == 'adamlui/js-utils') && !contains(github.event.head_commit.message, '[auto-sync')
runs-on: ubuntu-24.04
permissions:
contents: read
env:
TZ: PST8PDT
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
token: ${{ secrets.REPO_SYNC_PAT }}
path: adamlui/js-utils
fetch-depth: 2
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
token: ${{ secrets.REPO_SYNC_PAT }}
repository: KudoAI/chatgpt.js
path: KudoAI/chatgpt.js
- run: |
cd ${{ github.workspace }}/adamlui/js-utils
root_readme="./chatgpt.js/README.md"
root_readme_content=$(git show HEAD:"$root_readme")
root_readme_modified=$(git log -1 --format="%ct" -- "$root_readme")
docs_readme="./chatgpt.js/docs/README.md"
docs_readme_content=$(git show HEAD:"$docs_readme")
docs_readme_modified=$(git log -1 --format="%ct" -- "$docs_readme")
if [[ "$root_readme_content" != "$docs_readme_content" ]] ; then
if (( $root_readme_modified > $docs_readme_modified )) ; then
cp -f "$root_readme" "$docs_readme"
echo "Copied $root_readme to $docs_readme"
src_folder="/chatgpt.js"
elif (( $docs_readme_modified > $root_readme_modified )) ; then
cp -f "$docs_readme" "$root_readme"
echo "Copied $docs_readme to $root_readme"
src_folder="/chatgpt.js/docs"
fi
fi
echo "SYNC_SRC=$src_folder" >> $GITHUB_ENV
- run: |
rsync -avhc --delete --filter='P /.*' \
${{ github.workspace }}/adamlui/js-utils/chatgpt.js/ \
${{ github.workspace }}/KudoAI/chatgpt.js/
- env:
COMMIT_MSG: ${{ github.event.head_commit.message }}
run: |
DELIM="EOF_$(uuidgen)"
echo "ESCAPED_MSG<<$DELIM" >> "$GITHUB_ENV"
echo "$COMMIT_MSG" | sed 's/`/\`/g' >> "$GITHUB_ENV"
echo "$DELIM" >> "$GITHUB_ENV"
- env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
GPG_PRIVATE_ID: ${{ secrets.GPG_PRIVATE_ID }}
run: |
gpg --batch --import <(echo "$GPG_PRIVATE_KEY")
git config --global commit.gpgsign true
git config --global user.name "kudo-sync-bot"
git config --global user.email "auto-sync@kudoai.com"
git config --global user.signingkey "$GPG_PRIVATE_ID"
- if: env.SYNC_SRC
run: |
cd ${{ github.workspace }}/adamlui/js-utils
git add . && git commit -n -m "$ESCAPED_MSG ↞ [auto-sync from $SYNC_SRC]" || true
git pull --rebase
git push
- run: |
cd ${{ github.workspace }}/KudoAI/chatgpt.js
git add . && git commit -n -m \
"$ESCAPED_MSG ↞ [auto-sync from https://github.com/adamlui/js-utils/tree/main/chatgpt.js]" || true
git pull --rebase
git push