Files
sigpro/.github/workflows/sync-github.yml

49 lines
1.4 KiB
YAML

name: Sync selected files to GitHub
on:
workflow_dispatch:
inputs:
commit_message:
description: 'Mensaje del commit en GitHub'
required: false
default: 'Sync selected files from Gitea'
jobs:
sync:
runs-on: ubuntu-latest
container:
image: node:20-bullseye
options: >-
--dns 192.168.1.1
--add-host git.natxocc.com:host-gateway
--add-host gitea:host-gateway
steps:
- name: Clone source from Gitea
run: |
git clone https://git.natxocc.com/natxocc/sigpro.git source
cd source
git checkout main
- name: Clone destination from GitHub
run: |
git clone https://x-access-token:${{ secrets.GH_TOKEN }}@github.com/natxocc/sigpro.git dest
cd dest
git config user.name "Sync Bot"
git config user.email "bot@natxocc.com"
- name: Copy selected files
run: |
FILES="sigpro.js"
for file in $FILES; do
if [ -f "source/$file" ]; then
mkdir -p "dest/$(dirname $file)"
cp "source/$file" "dest/$file"
fi
done
- name: Commit and push to GitHub
run: |
cd dest
git add .
git diff --staged --quiet || (git commit -m "${{ github.event.inputs.commit_message }}" && git push origin main)