Файл .github/workflows/docs-to-master.yml
представляет собой GitHub Action workflow, который автоматизирует процесс копирования изменений из ветки docs
в ветку master
. Этот подход позволяет работать над документацией в отдельной ветке, а затем автоматически синхронизировать эти изменения с основной веткой.
Workflow запускается автоматически при следующих событиях:
docs
docs
workflow_dispatch
)docs
docs/
(или другой указанной директории) копируются в целевую локациюmaster
master
Для настройки workflow необходимо указать следующие параметры:
docs/
)master
)name: Docs to Master
on:
push:
branches: [ docs ]
pull_request:
branches: [ docs ]
workflow_dispatch:
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
ref: docs
- name: Setup Git
run: |
git config --global user.name "GitHub Actions"
git config --global user.email "actions@github.com"
- name: Create and switch to new branch
run: |
BRANCH_NAME="docs-sync-$(date +%Y%m%d%H%M%S)"
git checkout -b $BRANCH_NAME
- name: Copy docs changes and commit
run: |
# Копирование изменений
if [ -d "docs/" ]; then
git add docs/
if ! git diff --cached --quiet; then
git commit -m "Sync docs changes from docs branch"
git push origin $BRANCH_NAME
else
echo "No changes to commit"
fi
fi
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
token: $
base: master
title: "Sync docs changes"
body: "Automatically generated PR to sync docs changes from docs branch"
reviewers: "maintainer1,maintainer2"