Skip to content

Merge pull request #1402 from hydephp/update-internal-ci-script #1584

Merge pull request #1402 from hydephp/update-internal-ci-script

Merge pull request #1402 from hydephp/update-internal-ci-script #1584

# Split the monorepo into readonly repositories
name: 🪓 Split monorepo
on:
push:
branches: [ "master" ]
# Cancels all previous workflow runs for the same branch that have not yet completed.
concurrency:
# The concurrency group contains the workflow name and the branch name.
group: ${{ github.workflow }}-${{ github.ref_type }}-${{ github.ref }}-${{ github.sha }}
cancel-in-progress: true
jobs:
hyde:
runs-on: ubuntu-latest
continue-on-error: true
environment:
name: hydephp/hyde
url: https://github.com/hydephp/hyde/tree/master
steps:
- name: Checkout hydephp/develop
uses: actions/checkout@v3
with:
path: develop
persist-credentials: false
- name: Checkout hydephp/hyde
uses: actions/checkout@v3
with:
repository: hydephp/hyde
path: hyde
ref: develop
fetch-depth: 0
persist-credentials: false
- name: Download base files
run: wget https://github.com/hydephp/develop/zipball/${{ github.sha }} -O hyde.zip
- name: Unzip archive
run: unzip hyde.zip
- name: Empty the hyde directory
run: rm -rf hyde/*
- name: Copy over base files
run: cp -rf hydephp-develop-*/* hyde -v
- name: Copy over persisted files
run: cp -rf develop/packages/hyde/. hyde -v
- name: Remove monorepo support files
run: |
rm -rf hyde/monorepo -v
rm hyde/CHANGELOG.md -v
rm hyde/phpunit.dusk.xml -v
rm hyde/phpunit.xml.dist -v
rm hyde/psalm.xml -v
rm hyde/psalm-baseline.xml -v
rm hyde/rector.php -v
rm hyde/ide.json -v
rm hyde/_ide_helper.php -v
- name: Commit and push changes
env:
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
run: |
cd hyde
if ! [[ `git status --porcelain` ]]; then
echo "No changes to this package. Exiting gracefully.";
exit 0;
fi
git config user.name github-actions
git config user.email [email protected]
git remote add upstream https://oauth2:${{ secrets.SPLIT_MONOREPO_TOKEN }}@github.com/hydephp/hyde.git
git add .
git commit -m "$COMMIT_MESSAGE https://github.com/hydephp/develop/commit/${{ github.sha }}"
git push upstream develop
echo "No changes to this package. Exiting gracefully."
framework:
runs-on: ubuntu-latest
continue-on-error: true
environment:
name: hydephp/framework
url: https://github.com/hydephp/framework/tree/master
steps:
- name: Checkout hydephp/develop
uses: actions/checkout@v3
with:
path: develop
persist-credentials: false
- name: Checkout hydephp/framework
uses: actions/checkout@v3
with:
repository: hydephp/framework
path: framework
ref: develop
fetch-depth: 0
persist-credentials: false
- name: Empty the destination directory
run: rm -rf framework/*
- name: Copy over files
run: cp -rf develop/packages/framework/. framework -v
- name: Commit and push changes
env:
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
run: |
cd framework
if ! [[ `git status --porcelain` ]]; then
echo "No changes to this package. Exiting gracefully.";
exit 0;
fi
git config user.name github-actions
git config user.email [email protected]
git remote add upstream https://oauth2:${{ secrets.SPLIT_MONOREPO_TOKEN }}@github.com/hydephp/framework.git
git add .
git commit -m "$COMMIT_MESSAGE https://github.com/hydephp/develop/commit/${{ github.sha }}"
git push upstream develop
echo "No changes to this package. Exiting gracefully."
realtime-compiler:
runs-on: ubuntu-latest
continue-on-error: true
environment:
name: hydephp/realtime-compiler
url: https://github.com/realtime-compiler/hyde/tree/master
steps:
- name: Checkout hydephp/develop
uses: actions/checkout@v3
with:
path: develop
persist-credentials: false
- name: Checkout hydephp/realtime-compiler
uses: actions/checkout@v3
with:
repository: hydephp/realtime-compiler
path: realtime-compiler
ref: master
fetch-depth: 0
persist-credentials: false
- name: Empty the destination directory
run: rm -rf realtime-compiler/*
- name: Copy over files
run: cp -rf develop/packages/realtime-compiler/. realtime-compiler -v
- name: Commit and push changes
env:
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
run: |
cd realtime-compiler
if ! [[ `git status --porcelain` ]]; then
echo "No changes to this package. Exiting gracefully.";
exit 0;
fi
git config user.name github-actions
git config user.email [email protected]
git remote add upstream https://oauth2:${{ secrets.SPLIT_MONOREPO_TOKEN }}@github.com/hydephp/realtime-compiler.git
git add .
git commit -m "$COMMIT_MESSAGE https://github.com/hydephp/develop/commit/${{ github.sha }}"
git push upstream master
hydefront:
runs-on: ubuntu-latest
continue-on-error: true
environment:
name: hydephp/hydefront
url: https://github.com/hydephp/hydefront/tree/master
steps:
- name: Checkout hydephp/develop
uses: actions/checkout@v3
with:
path: develop
persist-credentials: false
- name: Checkout hydephp/hydefront
uses: actions/checkout@v3
with:
repository: hydephp/hydefront
path: hydefront
ref: master
fetch-depth: 0
persist-credentials: false
- name: Empty the destination directory
run: rm -rf hydefront/*
- name: Copy over files
run: cp -rf develop/packages/hydefront/. hydefront -v
- name: Commit and push changes
env:
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
run: |
cd hydefront
if ! [[ `git status --porcelain` ]]; then
echo "No changes to this package. Exiting gracefully.";
exit 0;
fi
git config user.name github-actions
git config user.email [email protected]
git remote add upstream https://oauth2:${{ secrets.SPLIT_MONOREPO_TOKEN }}@github.com/hydephp/hydefront.git
git add .
git commit -m "$COMMIT_MESSAGE https://github.com/hydephp/develop/commit/${{ github.sha }}"
git push upstream master
docs:
runs-on: ubuntu-latest
continue-on-error: true
environment:
name: hydephp/docs
url: https://github.com/hydephp/hydephp.com/tree/upcoming
steps:
- name: Checkout hydephp/develop
uses: actions/checkout@v3
with:
path: develop
persist-credentials: false
- name: Checkout hydephp/hydephp.com
uses: actions/checkout@v3
with:
repository: hydephp/hydephp.com
path: website
ref: upcoming
fetch-depth: 0
persist-credentials: false
- name: Empty the destination directory
run: rm -rf website/_docs/*
- name: Copy over files
run: cp -rf develop/docs/. website/_docs/ -v
- name: Remove internal docs
run: |
rm website/_docs/README.md
- name: Commit and push changes
env:
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
run: |
cd website
if ! [[ `git status --porcelain` ]]; then
echo "No changes to this package. Exiting gracefully.";
exit 0;
fi
git config user.name github-actions
git config user.email [email protected]
git remote add upstream https://oauth2:${{ secrets.SPLIT_MONOREPO_TOKEN }}@github.com/hydephp/hydephp.com.git
git add .
git commit -m "$COMMIT_MESSAGE https://github.com/hydephp/develop/commit/${{ github.sha }}"
git push upstream upcoming
echo "No changes to this package. Exiting gracefully."
testing:
runs-on: ubuntu-latest
continue-on-error: true
environment:
name: hydephp/testing
url: https://github.com/hydephp/testing/tree/master
steps:
- name: Checkout hydephp/develop
uses: actions/checkout@v3
with:
path: develop
persist-credentials: false
- name: Checkout hydephp/testing
uses: actions/checkout@v3
with:
repository: hydephp/testing
path: testing
ref: master
fetch-depth: 0
persist-credentials: false
- name: Empty the destination directory
run: rm -rf testing/*
- name: Copy over files
run: cp -rf develop/packages/testing/. testing -v
- name: Commit and push changes
env:
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
run: |
cd testing
if ! [[ `git status --porcelain` ]]; then
echo "No changes to this package. Exiting gracefully.";
exit 0;
fi
git config user.name github-actions
git config user.email [email protected]
git remote add upstream https://oauth2:${{ secrets.SPLIT_MONOREPO_TOKEN }}@github.com/hydephp/testing.git
git add .
git commit -m "$COMMIT_MESSAGE https://github.com/hydephp/develop/commit/${{ github.sha }}"
git push upstream master
ui-kit:
runs-on: ubuntu-latest
continue-on-error: true
environment:
name: hydephp/ui-kit
url: https://github.com/hydephp/ui-kit/tree/master
steps:
- name: Checkout hydephp/develop
uses: actions/checkout@v3
with:
path: develop
persist-credentials: false
- name: Checkout hydephp/ui-kit
uses: actions/checkout@v3
with:
repository: hydephp/ui-kit
path: ui-kit
ref: master
fetch-depth: 0
persist-credentials: false
- name: Empty the destination directory
run: rm -rf ui-kit/*
- name: Copy over files
run: cp -rf develop/packages/ui-kit/. ui-kit -v
- name: Commit and push changes
env:
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
run: |
cd ui-kit
if ! [[ `git status --porcelain` ]]; then
echo "No changes to this package. Exiting gracefully.";
exit 0;
fi
git config user.name github-actions
git config user.email [email protected]
git remote add upstream https://oauth2:${{ secrets.SPLIT_MONOREPO_TOKEN }}@github.com/hydephp/ui-kit.git
git add .
git commit -m "$COMMIT_MESSAGE https://github.com/hydephp/develop/commit/${{ github.sha }}"