72 lines
2.3 KiB
YAML
72 lines
2.3 KiB
YAML
name: "Fan out changes to distinct repositories"
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "main"
|
|
- "develop"
|
|
|
|
concurrency: fanout-${{ github.ref }}
|
|
|
|
jobs:
|
|
fanout:
|
|
strategy:
|
|
matrix:
|
|
parts:
|
|
- dir: "addons/escoria-core"
|
|
repo: "godot-escoria/escoria-core"
|
|
- dir: "addons/escoria-ui-simplemouse"
|
|
repo: "godot-escoria/escoria-ui-simplemouse"
|
|
- dir: "addons/escoria-ui-9verbs"
|
|
repo: "godot-escoria/escoria-ui-9verbs"
|
|
- dir: "addons/escoria-core"
|
|
repo: "godot-escoria/escoria-game-template"
|
|
- dir: "addons/escoria-dialog-simple"
|
|
repo: "godot-escoria/escoria-dialog-simple"
|
|
name: "Fanout ${{ matrix.parts.dir }} to ${{ matrix.parts.repo }}"
|
|
runs-on: "ubuntu-20.04"
|
|
env:
|
|
DIR: "${{matrix.parts.dir}}"
|
|
REPO: "${{matrix.parts.repo}}"
|
|
steps:
|
|
- name: "Configure git"
|
|
run: |
|
|
if ! git --version | grep 2.33 >/dev/null
|
|
then
|
|
sudo add-apt-repository ppa:git-core/ppa -y
|
|
sudo apt-get update
|
|
sudo apt-get install git -y
|
|
fi
|
|
- name: "Checkout"
|
|
uses: "actions/checkout@v3"
|
|
with:
|
|
repository: "godot-escoria/escoria-demo-game"
|
|
ref: "develop"
|
|
path: "demo-game"
|
|
token: "${{ secrets.ESCORIA_DEPLOYMENT_TOKEN }}"
|
|
fetch-depth: 0
|
|
- name: "Filtering out ${{ env.DIR }}"
|
|
run: |
|
|
curl -s https://raw.githubusercontent.com/newren/git-filter-repo/main/git-filter-repo -o git-filter-repo
|
|
chmod +x git-filter-repo
|
|
cd demo-game
|
|
git remote -v
|
|
../git-filter-repo --path $DIR --prune-empty auto --force
|
|
git clean -fd
|
|
git status
|
|
- name: "Checkout"
|
|
uses: "actions/checkout@v3"
|
|
with:
|
|
repository: "${{ env.REPO }}"
|
|
ref: "develop"
|
|
path: "target"
|
|
token: "${{ secrets.ESCORIA_DEPLOYMENT_TOKEN }}"
|
|
fetch-depth: 0
|
|
- name: "Apply changes"
|
|
run: |
|
|
cd target
|
|
git config --global user.email "contact@escoria-framework.org"
|
|
git config --global user.name "Escoria merge bot"
|
|
git pull ../demo-game develop --rebase
|
|
git push --force
|