From f1ad78605c93059a70f4fb10b433a1dbf6f49405 Mon Sep 17 00:00:00 2001 From: Aidan Casey Date: Fri, 23 Jan 2026 22:55:53 -0500 Subject: [PATCH 1/9] chore: add branch sub-splits --- .github/workflows/subsplit-packages.yml | 42 ++++++------------------- bin/split | 6 ++++ 2 files changed, 16 insertions(+), 32 deletions(-) create mode 100755 bin/split diff --git a/.github/workflows/subsplit-packages.yml b/.github/workflows/subsplit-packages.yml index 278300491..32cc432ee 100644 --- a/.github/workflows/subsplit-packages.yml +++ b/.github/workflows/subsplit-packages.yml @@ -2,8 +2,9 @@ name: "Sub-split packages" on: push: - branches: [main] + branches: ["*"] tags: ["v*"] + pull_request: workflow_dispatch: env: @@ -24,12 +25,10 @@ jobs: - name: Get packages id: get_json - run: echo "::set-output name=json::$(bin/get-packages)" + run: echo "matrix=$(bin/get-packages) >> $GITHUB_OUTPUT" - name: Output packages run: echo "${{ steps.get_json.outputs.json }}" - outputs: - matrix: ${{ steps.get_json.outputs.json }} packages_split: name: Split package ${{ matrix.package.name }} @@ -41,34 +40,13 @@ jobs: package: ${{ fromJson(needs.get_packages.outputs.matrix) }} steps: - uses: actions/checkout@v4 - # no tag - - if: "!startsWith(github.ref, 'refs/tags/')" - uses: "symplify/monorepo-split-github-action@v2.3.0" - with: - # ↓ split "packages/console" directory - package_directory: "${{ matrix.package.directory }}" - - # ↓ into https://github.com/tempestphp/tempest-console repository - repository_organization: "${{ matrix.package.organization }}" - repository_name: "${{ matrix.package.repository }}" - - # ↓ the user signed under the split commit - user_name: "aidan-casey" - user_email: "aidan@caseyhouse.net" - # with tag - - if: "startsWith(github.ref, 'refs/tags/')" - uses: "symplify/monorepo-split-github-action@v2.3.0" + - name: Set up Python + uses: actions/setup-python@v6 with: - tag: ${GITHUB_REF#refs/tags/} - - # ↓ split "packages/console" directory - package_directory: "${{ matrix.package.directory }}" - - # ↓ into https://github.com/tempestphp/tempest-console repository - repository_organization: "${{ matrix.package.organization }}" - repository_name: "${{ matrix.package.repository }}" + cache: 'pip' + pip-install: git-filter-repo - # ↓ the user signed under the split commit - user_name: "aidan-casey" - user_email: "aidan@caseyhouse.net" + - name: Split Package + run: + ./bin/split "${{ matrix.package.name }}" diff --git a/bin/split b/bin/split new file mode 100755 index 000000000..a9b5ba3ed --- /dev/null +++ b/bin/split @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +PACKAGE_NAME=$1 +SUBSPLIT_DIR="${PACKAGE_NAME}_subsplit" + +echo "Would have split ${PACKAGE_NAME} in the directory ${SUBSPLIT_DIR}." \ No newline at end of file From 38f5c9370381f5789c70e694cf07a57315386367 Mon Sep 17 00:00:00 2001 From: Aidan Casey Date: Fri, 23 Jan 2026 23:02:15 -0500 Subject: [PATCH 2/9] fix json --- .github/workflows/subsplit-packages.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/subsplit-packages.yml b/.github/workflows/subsplit-packages.yml index 32cc432ee..3e67d9918 100644 --- a/.github/workflows/subsplit-packages.yml +++ b/.github/workflows/subsplit-packages.yml @@ -25,11 +25,14 @@ jobs: - name: Get packages id: get_json - run: echo "matrix=$(bin/get-packages) >> $GITHUB_OUTPUT" + run: echo "json=$(bin/get-packages)" >> $GITHUB_OUTPUT - name: Output packages run: echo "${{ steps.get_json.outputs.json }}" + outputs: + matrix: ${{ steps.get_json.outputs.json }} + packages_split: name: Split package ${{ matrix.package.name }} needs: get_packages From 82cd4aa6079f75072f9f09583527d3c798fdedcc Mon Sep 17 00:00:00 2001 From: Aidan Casey Date: Fri, 23 Jan 2026 23:06:32 -0500 Subject: [PATCH 3/9] test --- .github/workflows/subsplit-packages.yml | 12 ++++++------ bin/split | 24 +++++++++++++++++++++++- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/.github/workflows/subsplit-packages.yml b/.github/workflows/subsplit-packages.yml index 3e67d9918..ec9a3736f 100644 --- a/.github/workflows/subsplit-packages.yml +++ b/.github/workflows/subsplit-packages.yml @@ -35,12 +35,12 @@ jobs: packages_split: name: Split package ${{ matrix.package.name }} - needs: get_packages +# needs: get_packages runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - package: ${{ fromJson(needs.get_packages.outputs.matrix) }} +# strategy: +# fail-fast: false +# matrix: +# package: ${{ fromJson(needs.get_packages.outputs.matrix) }} steps: - uses: actions/checkout@v4 @@ -52,4 +52,4 @@ jobs: - name: Split Package run: - ./bin/split "${{ matrix.package.name }}" + ./bin/split "cache" diff --git a/bin/split b/bin/split index a9b5ba3ed..d3249a1a0 100755 --- a/bin/split +++ b/bin/split @@ -3,4 +3,26 @@ PACKAGE_NAME=$1 SUBSPLIT_DIR="${PACKAGE_NAME}_subsplit" -echo "Would have split ${PACKAGE_NAME} in the directory ${SUBSPLIT_DIR}." \ No newline at end of file +# Clone our Tempest repository and jump into it. +git clone https://github.com/tempestphp/tempest-framework "$SUBSPLIT_DIR" +cd "$SUBSPLIT_DIR" + +# Get the current default branch of the Tempest repo. +DEFAULT_BRANCH=$(git branch --show-current) + +# Filter the history down to only the one package. +git filter-repo --subdirectory-filter "packages/${PACKAGE_NAME}" + +# Setup our remote repository we are splitting to. +git remote add origin "https://github.com/tempestphp/testing-${PACKAGE_NAME}.git" +git branch -m "$DEFAULT_BRANCH" + +# Push all branches + history to the repo. +git push --force --all origin + +# Push all releases / tags to the repo. +git push --force --tags origin + +# Cleanup +cd ../ +rm -rf "${SUBSPLIT_DIR}" \ No newline at end of file From c5d7f80991bfc9c1e3ad6399e9768a49c44c2ec9 Mon Sep 17 00:00:00 2001 From: Aidan Casey Date: Fri, 23 Jan 2026 23:18:34 -0500 Subject: [PATCH 4/9] testing --- .github/workflows/subsplit-packages.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/subsplit-packages.yml b/.github/workflows/subsplit-packages.yml index ec9a3736f..df918b1d5 100644 --- a/.github/workflows/subsplit-packages.yml +++ b/.github/workflows/subsplit-packages.yml @@ -48,8 +48,9 @@ jobs: uses: actions/setup-python@v6 with: cache: 'pip' - pip-install: git-filter-repo + pip-install: "git-filter-repo" - name: Split Package run: - ./bin/split "cache" + git filter-repo +# ./bin/split "cache" From 4ad516b979092119aa31ca172f0d536a0ada2191 Mon Sep 17 00:00:00 2001 From: Aidan Casey Date: Fri, 23 Jan 2026 23:19:43 -0500 Subject: [PATCH 5/9] testing --- .github/workflows/subsplit-packages.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/subsplit-packages.yml b/.github/workflows/subsplit-packages.yml index df918b1d5..428903f51 100644 --- a/.github/workflows/subsplit-packages.yml +++ b/.github/workflows/subsplit-packages.yml @@ -44,11 +44,8 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v6 - with: - cache: 'pip' - pip-install: "git-filter-repo" + - name: Set up git-filter-repo + run: pip install git-filter-repo - name: Split Package run: From 2b9177a4234a7c8cc1710e0049e056b3de4b72bb Mon Sep 17 00:00:00 2001 From: Aidan Casey Date: Fri, 23 Jan 2026 23:34:28 -0500 Subject: [PATCH 6/9] testing --- .github/workflows/subsplit-packages.yml | 8 +++----- bin/split | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/subsplit-packages.yml b/.github/workflows/subsplit-packages.yml index 428903f51..44964dde4 100644 --- a/.github/workflows/subsplit-packages.yml +++ b/.github/workflows/subsplit-packages.yml @@ -7,9 +7,6 @@ on: pull_request: workflow_dispatch: -env: - GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} - jobs: get_packages: name: Get packages @@ -48,6 +45,7 @@ jobs: run: pip install git-filter-repo - name: Split Package + env: + SUBSPLIT_TOKEN: ${{ secrets.ACCESS_TOKEN }} run: - git filter-repo -# ./bin/split "cache" + ./bin/split "cache" diff --git a/bin/split b/bin/split index d3249a1a0..210d78d04 100755 --- a/bin/split +++ b/bin/split @@ -14,7 +14,7 @@ DEFAULT_BRANCH=$(git branch --show-current) git filter-repo --subdirectory-filter "packages/${PACKAGE_NAME}" # Setup our remote repository we are splitting to. -git remote add origin "https://github.com/tempestphp/testing-${PACKAGE_NAME}.git" +git remote add origin "https://x-access-token:${SUBSPLIT_TOKEN}@github.com/tempestphp/testing-${PACKAGE_NAME}.git" git branch -m "$DEFAULT_BRANCH" # Push all branches + history to the repo. From 37d25e290555cb71ebcb12228e9b1dab2123be9c Mon Sep 17 00:00:00 2001 From: Aidan Casey Date: Fri, 23 Jan 2026 23:36:55 -0500 Subject: [PATCH 7/9] testing --- .github/workflows/subsplit-packages.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/subsplit-packages.yml b/.github/workflows/subsplit-packages.yml index 44964dde4..127537fcd 100644 --- a/.github/workflows/subsplit-packages.yml +++ b/.github/workflows/subsplit-packages.yml @@ -32,12 +32,12 @@ jobs: packages_split: name: Split package ${{ matrix.package.name }} -# needs: get_packages + needs: get_packages runs-on: ubuntu-latest -# strategy: -# fail-fast: false -# matrix: -# package: ${{ fromJson(needs.get_packages.outputs.matrix) }} + strategy: + fail-fast: false + matrix: + package: ${{ fromJson(needs.get_packages.outputs.matrix) }} steps: - uses: actions/checkout@v4 From f3f2b3345d29d15b54c6413c78391a71a245f54c Mon Sep 17 00:00:00 2001 From: Aidan Casey Date: Fri, 23 Jan 2026 23:39:00 -0500 Subject: [PATCH 8/9] testing --- .github/workflows/subsplit-packages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/subsplit-packages.yml b/.github/workflows/subsplit-packages.yml index 127537fcd..9c10eac82 100644 --- a/.github/workflows/subsplit-packages.yml +++ b/.github/workflows/subsplit-packages.yml @@ -48,4 +48,4 @@ jobs: env: SUBSPLIT_TOKEN: ${{ secrets.ACCESS_TOKEN }} run: - ./bin/split "cache" + ./bin/split "${{ matrix.package.name }}" From 6575fe68b61f36a13746b9da250ed5eaeb12137e Mon Sep 17 00:00:00 2001 From: Aidan Casey Date: Fri, 23 Jan 2026 23:46:03 -0500 Subject: [PATCH 9/9] Update repository naming and action triggers. --- .github/workflows/subsplit-packages.yml | 1 - bin/split | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/subsplit-packages.yml b/.github/workflows/subsplit-packages.yml index 9c10eac82..f973ef7c2 100644 --- a/.github/workflows/subsplit-packages.yml +++ b/.github/workflows/subsplit-packages.yml @@ -4,7 +4,6 @@ on: push: branches: ["*"] tags: ["v*"] - pull_request: workflow_dispatch: jobs: diff --git a/bin/split b/bin/split index 210d78d04..d9fae426a 100755 --- a/bin/split +++ b/bin/split @@ -14,7 +14,7 @@ DEFAULT_BRANCH=$(git branch --show-current) git filter-repo --subdirectory-filter "packages/${PACKAGE_NAME}" # Setup our remote repository we are splitting to. -git remote add origin "https://x-access-token:${SUBSPLIT_TOKEN}@github.com/tempestphp/testing-${PACKAGE_NAME}.git" +git remote add origin "https://x-access-token:${SUBSPLIT_TOKEN}@github.com/tempestphp/tempest-${PACKAGE_NAME}.git" git branch -m "$DEFAULT_BRANCH" # Push all branches + history to the repo.