Skip to content

Commit ba186a9

Browse files
committed
refactor(actions): add 3.x branch support to subsplit workflow
1 parent 3c0d1f3 commit ba186a9

File tree

30 files changed

+134
-83
lines changed

30 files changed

+134
-83
lines changed

.github/workflows/subsplit-packages.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: "Sub-split packages"
22

33
on:
44
push:
5-
branches: [main]
5+
branches: [main, 3.x]
66
tags: ["v*"]
77
workflow_dispatch:
88

bin/update-branch-deps

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#!/usr/bin/env php
2+
<?php
3+
4+
/**
5+
* Updates inter-package dependencies to use the current branch.
6+
*
7+
* Usage: bin/update-branch-deps [branch]
8+
*
9+
* If no branch is specified, uses the current git branch.
10+
* This is useful when creating version branches (e.g., 3.x) that need
11+
* inter-package dependencies to reference dev-3.x instead of dev-main.
12+
*/
13+
14+
$branch = $argv[1] ?? trim(exec('git rev-parse --abbrev-ref HEAD'));
15+
$devBranch = "dev-{$branch}";
16+
17+
echo "Updating inter-package dependencies to {$devBranch}\n\n";
18+
19+
$output = shell_exec(__DIR__ . '/get-packages');
20+
$tempestPackages = json_decode($output, associative: true);
21+
22+
$packageNames = array_map(fn($p) => $p['package'], $tempestPackages);
23+
24+
foreach ($tempestPackages as $package) {
25+
$composerPath = sprintf('%s/composer.json', $package['directory']);
26+
$composerFile = json_decode(file_get_contents($composerPath), true);
27+
$modified = false;
28+
29+
foreach (['require', 'require-dev'] as $section) {
30+
if (!isset($composerFile[$section])) {
31+
continue;
32+
}
33+
34+
foreach ($composerFile[$section] as $dep => $version) {
35+
if (in_array($dep, $packageNames, true) && $version !== $devBranch) {
36+
$composerFile[$section][$dep] = $devBranch;
37+
$modified = true;
38+
echo " {$package['name']}: {$dep} -> {$devBranch}\n";
39+
}
40+
}
41+
}
42+
43+
if ($modified) {
44+
file_put_contents(
45+
$composerPath,
46+
json_encode($composerFile, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . "\n"
47+
);
48+
}
49+
}
50+
51+
echo "\nDone.\n";

packages/auth/composer.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
"description": "A flexible authentication package for Tempest, providing authentication and authorization.",
44
"require": {
55
"php": "^8.5",
6-
"tempest/core": "dev-main",
7-
"tempest/router": "dev-main",
8-
"tempest/database": "dev-main",
9-
"tempest/mapper": "dev-main",
6+
"tempest/core": "dev-3.x",
7+
"tempest/router": "dev-3.x",
8+
"tempest/database": "dev-3.x",
9+
"tempest/mapper": "dev-3.x",
1010
"league/oauth2-client": "^2.8"
1111
},
1212
"require-dev": {

packages/cache/composer.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
"php": "^8.5",
66
"psr/cache": "^3.0",
77
"symfony/cache": "^7.3",
8-
"tempest/core": "dev-main",
9-
"tempest/clock": "dev-main",
10-
"tempest/kv-store": "dev-main",
11-
"tempest/container": "dev-main"
8+
"tempest/core": "dev-3.x",
9+
"tempest/clock": "dev-3.x",
10+
"tempest/kv-store": "dev-3.x",
11+
"tempest/container": "dev-3.x"
1212
},
1313
"require-dev": {
14-
"tempest/clock": "dev-main"
14+
"tempest/clock": "dev-3.x"
1515
},
1616
"autoload": {
1717
"psr-4": {

packages/clock/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"require": {
55
"php": "^8.5",
66
"psr/clock": "^1.0.0",
7-
"tempest/datetime": "dev-main"
7+
"tempest/datetime": "dev-3.x"
88
},
99
"autoload": {
1010
"psr-4": {

packages/command-bus/composer.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
"description": "A command bus component designed to dispatch commands to their respective handlers.",
44
"require": {
55
"php": "^8.5",
6-
"tempest/core": "dev-main",
7-
"tempest/console": "dev-main",
8-
"tempest/container": "dev-main"
6+
"tempest/core": "dev-3.x",
7+
"tempest/console": "dev-3.x",
8+
"tempest/container": "dev-3.x"
99
},
1010
"autoload": {
1111
"files": [

packages/console/composer.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
"minimum-stability": "dev",
66
"require": {
77
"php": "^8.5",
8-
"tempest/core": "dev-main",
9-
"tempest/container": "dev-main",
10-
"tempest/generation": "dev-main",
8+
"tempest/core": "dev-3.x",
9+
"tempest/container": "dev-3.x",
10+
"tempest/generation": "dev-3.x",
1111
"tempest/highlight": "^2.11.4",
12-
"tempest/log": "dev-main",
13-
"tempest/reflection": "dev-main",
14-
"tempest/support": "dev-main",
15-
"tempest/validation": "dev-main",
12+
"tempest/log": "dev-3.x",
13+
"tempest/reflection": "dev-3.x",
14+
"tempest/support": "dev-3.x",
15+
"tempest/validation": "dev-3.x",
1616
"ext-readline": "*"
1717
},
1818
"suggest": {

packages/container/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"minimum-stability": "dev",
66
"require": {
77
"php": "^8.5",
8-
"tempest/reflection": "dev-main"
8+
"tempest/reflection": "dev-3.x"
99
},
1010
"autoload": {
1111
"files": [

packages/core/composer.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
"minimum-stability": "dev",
66
"require": {
77
"php": "^8.5",
8-
"tempest/container": "dev-main",
9-
"tempest/discovery": "dev-main",
10-
"tempest/reflection": "dev-main",
11-
"tempest/support": "dev-main",
8+
"tempest/container": "dev-3.x",
9+
"tempest/discovery": "dev-3.x",
10+
"tempest/reflection": "dev-3.x",
11+
"tempest/support": "dev-3.x",
1212
"vlucas/phpdotenv": "^5.6.1",
1313
"symfony/cache": "^7.3",
1414
"filp/whoops": "^2.15"

packages/cryptography/composer.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
"minimum-stability": "dev",
66
"require": {
77
"php": "^8.5",
8-
"tempest/container": "dev-main",
9-
"tempest/support": "dev-main",
10-
"tempest/clock": "dev-main"
8+
"tempest/container": "dev-3.x",
9+
"tempest/support": "dev-3.x",
10+
"tempest/clock": "dev-3.x"
1111
},
1212
"autoload": {
1313
"psr-4": {

0 commit comments

Comments
 (0)