Skip to content

Commit e5b3f37

Browse files
fix: implement Composer Path Repository approach for PHP SDK (#706)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Max Prilutskiy <maks.prilutskiy@gmail.com>
1 parent a463a51 commit e5b3f37

File tree

2 files changed

+47
-5
lines changed

2 files changed

+47
-5
lines changed

.github/workflows/publish-php-sdk.yml

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
coverage: none
2727
tools: composer:v2
2828

29-
- name: Install dependencies
29+
- name: Install dependencies for SDK
3030
working-directory: ./php/sdk
3131
run: composer install --prefer-dist
3232

@@ -57,9 +57,25 @@ jobs:
5757
coverage: none
5858
tools: composer:v2
5959

60-
- name: Install dependencies
61-
working-directory: ./php/sdk
62-
run: composer install --no-dev --no-interaction --prefer-dist
60+
- name: Ensure valid version exists in SDK
61+
run: |
62+
# Check if version is empty or invalid
63+
VERSION=$(php -r '
64+
$composerJson = json_decode(file_get_contents("php/sdk/composer.json"), true);
65+
echo isset($composerJson["version"]) ? $composerJson["version"] : "";
66+
')
67+
68+
if [[ -z "$VERSION" || ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
69+
echo "Setting initial version to 0.1.0"
70+
php -r '
71+
$composerJson = json_decode(file_get_contents("php/sdk/composer.json"), true);
72+
$composerJson["version"] = "0.1.0";
73+
file_put_contents("php/sdk/composer.json", json_encode($composerJson, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));
74+
'
75+
VERSION="0.1.0"
76+
fi
77+
78+
echo "Initial version: $VERSION"
6379
6480
- name: Get current version
6581
id: current_version
@@ -86,13 +102,19 @@ jobs:
86102
87103
echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT
88104
89-
# Update version in composer.json
105+
# Update version in SDK composer.json
90106
php -r '
91107
$composerJson = json_decode(file_get_contents("php/sdk/composer.json"), true);
92108
$composerJson["version"] = "${{ steps.bump_version.outputs.new_version }}";
93109
file_put_contents("php/sdk/composer.json", json_encode($composerJson, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));
94110
'
95111
112+
- name: Install root composer dependencies
113+
run: |
114+
# Install composer dependencies from root composer.json
115+
# This will create a vendor directory with the PHP SDK symlinked
116+
composer install --no-dev --no-interaction --prefer-dist
117+
96118
- name: Commit and push version bump
97119
uses: stefanzweifel/git-auto-commit-action@v4
98120
with:

composer.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"name": "lingodotdev/lingo.dev",
3+
"description": "Lingo.dev Monorepo",
4+
"type": "project",
5+
"license": "MIT",
6+
"repositories": [
7+
{
8+
"type": "path",
9+
"url": "php/sdk",
10+
"options": {
11+
"symlink": false
12+
}
13+
}
14+
],
15+
"require": {
16+
"lingodotdev/sdk": "*"
17+
},
18+
"minimum-stability": "dev",
19+
"prefer-stable": true
20+
}

0 commit comments

Comments
 (0)