Skip to content

Commit 2f158dd

Browse files
committed
chore: wip
1 parent 334ae34 commit 2f158dd

File tree

5 files changed

+80
-8
lines changed

5 files changed

+80
-8
lines changed

.github/workflows/buddy-dashboard.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,21 @@ jobs:
5555
with:
5656
bun-version: latest
5757

58+
- name: Setup PHP and Composer (if needed)
59+
if: ${{ hashFiles('composer.json') != '' }}
60+
uses: shivammathur/setup-php@v2
61+
with:
62+
php-version: '8.4'
63+
tools: composer
64+
coverage: none
65+
5866
- name: Install dependencies
5967
run: bun install
6068

69+
- name: Install Composer dependencies (if needed)
70+
if: ${{ hashFiles('composer.json') != '' }}
71+
run: composer install --no-dev --prefer-dist --optimize-autoloader
72+
6173
- name: Build buddy-bot
6274
run: bun run build
6375

.github/workflows/buddy-update-check.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,21 @@ jobs:
4141
with:
4242
bun-version: latest
4343

44+
- name: Setup PHP and Composer (if needed)
45+
if: ${{ hashFiles('composer.json') != '' }}
46+
uses: shivammathur/setup-php@v2
47+
with:
48+
php-version: '8.4'
49+
tools: composer
50+
coverage: none
51+
4452
- name: Install dependencies
4553
run: bun install
4654

55+
- name: Install Composer dependencies (if needed)
56+
if: ${{ hashFiles('composer.json') != '' }}
57+
run: composer install --no-dev --prefer-dist --optimize-autoloader
58+
4759
- name: Build buddy-bot
4860
run: bun run build
4961

.github/workflows/buddy-update.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ jobs:
5656
with:
5757
bun-version: latest
5858

59-
- name: Setup PHP and Composer
59+
- name: Setup PHP and Composer (if needed)
60+
if: ${{ hashFiles('composer.json') != '' }}
6061
uses: shivammathur/setup-php@v2
6162
with:
6263
php-version: '8.4'
@@ -66,7 +67,8 @@ jobs:
6667
- name: Install dependencies
6768
run: bun install
6869

69-
- name: Install Composer dependencies
70+
- name: Install Composer dependencies (if needed)
71+
if: ${{ hashFiles('composer.json') != '' }}
7072
run: composer install --no-dev --prefer-dist --optimize-autoloader
7173

7274
- name: Build buddy-bot

src/setup.ts

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1010,6 +1010,25 @@ export async function generateConfigFile(repoInfo: RepositoryInfo, hasCustomToke
10101010
console.log(`💡 You can edit this file to customize Buddy Bot's behavior.\n`)
10111011
}
10121012

1013+
/**
1014+
* Generate PHP and Composer setup steps for workflows
1015+
*/
1016+
function generateComposerSetupSteps(): string {
1017+
return `
1018+
- name: Setup PHP and Composer (if needed)
1019+
if: \${{ hashFiles('composer.json') != '' }}
1020+
uses: shivammathur/setup-php@v2
1021+
with:
1022+
php-version: '8.4'
1023+
tools: composer
1024+
coverage: none
1025+
1026+
- name: Install Composer dependencies (if needed)
1027+
if: \${{ hashFiles('composer.json') != '' }}
1028+
run: composer install --no-dev --prefer-dist --optimize-autoloader
1029+
`
1030+
}
1031+
10131032
export function generateDashboardWorkflow(hasCustomToken: boolean): string {
10141033
const tokenEnv = hasCustomToken
10151034
// eslint-disable-next-line no-template-curly-in-string
@@ -1073,7 +1092,7 @@ jobs:
10731092
uses: oven-sh/setup-bun@v2
10741093
with:
10751094
bun-version: latest
1076-
1095+
${generateComposerSetupSteps()}
10771096
- name: Install dependencies
10781097
run: bun install
10791098
@@ -1168,7 +1187,7 @@ jobs:
11681187
uses: oven-sh/setup-bun@v2
11691188
with:
11701189
bun-version: latest
1171-
1190+
${generateComposerSetupSteps()}
11721191
- name: Install dependencies
11731192
run: bun install
11741193
@@ -1288,7 +1307,7 @@ jobs:
12881307
uses: oven-sh/setup-bun@v2
12891308
with:
12901309
bun-version: latest
1291-
1310+
${generateComposerSetupSteps()}
12921311
- name: Install dependencies
12931312
run: bun install
12941313

src/templates/github-actions.ts

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { BuddyBotConfig } from '../types'
2+
import * as fs from 'node:fs'
23

34
export interface WorkflowConfig {
45
name: string
@@ -15,6 +16,32 @@ export interface WorkflowConfig {
1516
}
1617

1718
export class GitHubActionsTemplate {
19+
/**
20+
* Check if the project needs Composer support
21+
*/
22+
private static needsComposerSupport(): boolean {
23+
return fs.existsSync('composer.json')
24+
}
25+
26+
/**
27+
* Generate PHP and Composer setup steps for workflows
28+
*/
29+
private static generateComposerSetupSteps(): string {
30+
return `
31+
- name: Setup PHP and Composer (if needed)
32+
if: \${{ hashFiles('composer.json') != '' }}
33+
uses: shivammathur/setup-php@v2
34+
with:
35+
php-version: '8.4'
36+
tools: composer
37+
coverage: none
38+
39+
- name: Install Composer dependencies (if needed)
40+
if: \${{ hashFiles('composer.json') != '' }}
41+
run: composer install --no-dev --prefer-dist --optimize-autoloader
42+
`
43+
}
44+
1845
/**
1946
* Generate standard setup steps for workflows
2047
*/
@@ -88,7 +115,7 @@ jobs:
88115
uses: oven-sh/setup-bun@v2
89116
with:
90117
bun-version: latest
91-
118+
\${GitHubActionsTemplate.generateComposerSetupSteps()}
92119
- name: Install dependencies
93120
run: bun install
94121
@@ -267,7 +294,7 @@ jobs:
267294
uses: oven-sh/setup-bun@v2
268295
with:
269296
bun-version: latest
270-
297+
\${GitHubActionsTemplate.generateComposerSetupSteps()}
271298
- name: Install dependencies
272299
run: bun install
273300
@@ -467,7 +494,7 @@ jobs:
467494
uses: oven-sh/setup-bun@v2
468495
with:
469496
bun-version: latest
470-
497+
\${GitHubActionsTemplate.generateComposerSetupSteps()}
471498
- name: Install dependencies
472499
run: bun install
473500

0 commit comments

Comments
 (0)