mirror of
https://gitlab.com/foxixus/neomovies_mobile.git
synced 2025-10-27 23:18:49 +05:00
Compare commits
2 Commits
b167c73699
...
e70c477238
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e70c477238 | ||
|
|
7b8f64842a |
76
.github/workflows/gitlab-mirror.yml
vendored
Normal file
76
.github/workflows/gitlab-mirror.yml
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
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: |
|
||||
# Если нет ветки main на GitLab, пушим всегда
|
||||
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 }}\"
|
||||
}"
|
||||
Reference in New Issue
Block a user