mirror of
https://gitlab.com/foxixus/neomovies_mobile.git
synced 2025-10-27 22:38:50 +05:00
75 lines
2.5 KiB
YAML
75 lines
2.5 KiB
YAML
name: Full Mirror to GitLab
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "**"
|
|
pull_request:
|
|
types: [opened, reopened, closed, edited]
|
|
issues:
|
|
types: [opened, edited, closed, reopened]
|
|
|
|
jobs:
|
|
mirror-code:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repo
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Setup Git
|
|
run: |
|
|
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
|
git config --global user.name "github-actions[bot]"
|
|
|
|
- name: Fetch GitLab branch
|
|
run: |
|
|
git remote add gitlab https://oauth2:${{ secrets.GITLAB_TOKEN }}@gitlab.com/foxixus/neomovies_mobile.git
|
|
git fetch gitlab main || true
|
|
|
|
- name: Check for differences with GitLab
|
|
id: diffcheck
|
|
run: |
|
|
if ! git rev-parse gitlab/main >/dev/null 2>&1; then
|
|
echo "has_diff=true" >> $GITHUB_OUTPUT
|
|
else
|
|
DIFF=$(git rev-list --left-right --count HEAD...gitlab/main | awk '{print $1}')
|
|
if [[ "$DIFF" -gt 0 ]]; then
|
|
echo "has_diff=true" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "has_diff=false" >> $GITHUB_OUTPUT
|
|
fi
|
|
fi
|
|
|
|
- name: Push to GitLab if there are changes
|
|
if: steps.diffcheck.outputs.has_diff == 'true'
|
|
run: git push gitlab HEAD:main
|
|
|
|
mirror-issues:
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name == 'issues'
|
|
steps:
|
|
- name: Sync issue to GitLab
|
|
run: |
|
|
curl --request POST "https://gitlab.com/api/v4/projects/foxixus%2Fneomovies_mobile/issues" \
|
|
--header "PRIVATE-TOKEN: ${{ secrets.GITLAB_TOKEN }}" \
|
|
--header "Content-Type: application/json" \
|
|
--data "{
|
|
\"title\": \"${{ github.event.issue.title }}\",
|
|
\"description\": \"${{ github.event.issue.body }}\"
|
|
}"
|
|
|
|
mirror-prs:
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name == 'pull_request'
|
|
steps:
|
|
- name: Sync PR to GitLab MR
|
|
run: |
|
|
curl --request POST "https://gitlab.com/api/v4/projects/foxixus%2Fneomovies_mobile/merge_requests" \
|
|
--header "PRIVATE-TOKEN: ${{ secrets.GITLAB_TOKEN }}" \
|
|
--header "Content-Type: application/json" \
|
|
--data "{
|
|
\"title\": \"${{ github.event.pull_request.title }}\",
|
|
\"source_branch\": \"${{ github.event.pull_request.head.ref }}\",
|
|
\"target_branch\": \"${{ github.event.pull_request.base.ref }}\",
|
|
\"description\": \"${{ github.event.pull_request.body }}\"
|
|
}" |