Skip to content

Commit f68ad89

Browse files
committed
ci: align workflows with composer scripts
1 parent 25eaca8 commit f68ad89

File tree

7 files changed

+144
-4
lines changed

7 files changed

+144
-4
lines changed

.github/workflows/analyse.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
run: composer show -D
4444

4545
- name: Execute Code Style Analysis
46-
run: vendor/bin/pint --test
46+
run: composer run lint
4747

4848
- name: Execute Static Code Analysis
49-
run: vendor/bin/phpstan analyse --configuration=phpstan.neon.dist
49+
run: composer run analyse

.github/workflows/coveralls.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
run: composer show -D
4343

4444
- name: Execute tests
45-
run: vendor/bin/pest --coverage-clover build/logs/clover.xml
45+
run: composer run test:coverage
4646

4747
- name: Upload coverage results to Coveralls
4848
env:

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,4 @@ jobs:
4747
run: composer show -D
4848

4949
- name: Execute tests
50-
run: vendor/bin/pest
50+
run: composer run test

composer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"analyse": "vendor/bin/phpstan analyse --configuration=phpstan.neon.dist",
6262
"test": "vendor/bin/pest",
6363
"test:parallel": "vendor/bin/pest --parallel",
64+
"test:coverage": "vendor/bin/pest --coverage-clover build/logs/clover.xml",
6465
"qa": [
6566
"@lint",
6667
"@analyse",
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# CI Alignment And Release Drafts Implementation Plan
2+
3+
> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
4+
5+
**Goal:** Align GitHub Actions with local Composer QA scripts and prepare concise PR and release-note drafts for the upstream 6.x PR and 6.0.0 release.
6+
7+
**Architecture:** Route workflow checks through Composer scripts so local hooks and CI use the same entry points. Keep matrices on supported PHP versions and add two short markdown drafts for the upstream PR and GitHub release notes.
8+
9+
**Tech Stack:** GitHub Actions, Composer, Pest, PHPStan, Laravel Pint, Markdown
10+
11+
---
12+
13+
### Task 1: Align CI entry points
14+
15+
**Files:**
16+
- Modify: `.github/workflows/analyse.yml`
17+
- Modify: `.github/workflows/tests.yml`
18+
- Modify: `.github/workflows/coveralls.yml`
19+
20+
**Step 1: Replace raw commands with Composer scripts**
21+
22+
Use `composer run lint`, `composer run analyse`, and `composer run test`.
23+
24+
**Step 2: Keep supported PHP matrix values**
25+
26+
Ensure the workflows match the package support window on the 6.x branch.
27+
28+
**Step 3: Verify workflow diff**
29+
30+
Run: `git diff -- .github/workflows`
31+
Expected: CI-only changes.
32+
33+
### Task 2: Add PR and release drafts
34+
35+
**Files:**
36+
- Create: `docs/pr-jomweb-billplz-6x.md`
37+
- Create: `docs/release-notes-v6.0.0.md`
38+
39+
**Step 1: Draft the upstream PR title and body**
40+
41+
Keep it concise. Cover breaking changes, CI/tooling, and verification.
42+
43+
**Step 2: Draft the GitHub release notes**
44+
45+
Base the content on `CHANGELOG-6.x.md`.
46+
47+
### Task 3: Verify and prepare push
48+
49+
**Files:**
50+
- Test: `.github/workflows/*.yml`
51+
- Test: `docs/pr-jomweb-billplz-6x.md`
52+
- Test: `docs/release-notes-v6.0.0.md`
53+
54+
**Step 1: Run package verification**
55+
56+
Run: `composer validate --strict && composer run qa`
57+
Expected: All checks pass.
58+
59+
**Step 2: Confirm upstream target**
60+
61+
Run: `git ls-remote --heads upstream`
62+
Expected: `upstream/6.x` exists and can be used as the PR target.
63+
64+
**Step 3: Commit**
65+
66+
```bash
67+
git add .github/workflows docs/plans/2026-03-11-ci-alignment-and-release-drafts-plan.md docs/pr-jomweb-billplz-6x.md docs/release-notes-v6.0.0.md
68+
git commit -m "ci: align workflows with composer scripts"
69+
```

docs/pr-jomweb-billplz-6x.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# PR Draft For `jomweb/billplz`
2+
3+
## Title
4+
5+
`Release Billplz 6.0 with Money objects, bundled Codex internals, and updated CI`
6+
7+
## Body
8+
9+
### Summary
10+
11+
1. Prepare the `6.x` line for Billplz 6.0.0
12+
2. Replace old money assumptions with `\Money\Money`
13+
3. Bundle Codex internals in-package
14+
4. Move CI and tests to the current toolchain
15+
16+
### Changes
17+
18+
1. Raise minimum PHP to `8.3`
19+
2. Remove the hard dependency on `jomweb/ringgit`
20+
3. Remove external `laravie/codex` and `laravie/codex-filter` dependencies
21+
4. Migrate tests to Pest v4
22+
5. Add PHPStan and Pint checks for the `6.x` line
23+
6. Refresh README, changelog, and release docs
24+
25+
### Upgrade Notes
26+
27+
1. Response money values now hydrate to `\Money\Money`
28+
2. Request payloads can use `\Money\Money::MYR(...)` or integer minor units
29+
3. Existing `\Duit\MYR` integrations should convert from the returned Money amount
30+
31+
### Verification
32+
33+
1. `composer validate --strict`
34+
2. `composer run qa`
35+
3. GitHub Actions:
36+
- tests
37+
- analyse
38+
- coveralls

docs/release-notes-v6.0.0.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Billplz v6.0.0
2+
3+
## Highlights
4+
5+
1. PHP `8.3+`
6+
2. `\Money\Money` response values
7+
3. Bundled Codex internals
8+
4. Updated CI, static analysis, and tests
9+
10+
## Added
11+
12+
1. PHP 8.4 and 8.5 CI coverage
13+
2. Payment Order coverage on the 6.x line
14+
3. Local QA scripts for lint, analysis, and tests
15+
16+
## Changed
17+
18+
1. Minimum supported PHP is now `8.3`
19+
2. Tests now run on Pest v4
20+
3. CI now runs Pint, PHPStan, and Pest for the 6.x branch
21+
22+
## Removed
23+
24+
1. Hard dependency on `jomweb/ringgit`
25+
2. External `laravie/codex` dependency chain
26+
3. Support for PHP versions below `8.3`
27+
28+
## Upgrade Notes
29+
30+
1. Replace `\Duit\MYR` assumptions with `\Money\Money`
31+
2. Keep using integer minor units if that fits your integration
32+
3. Install a PHP-HTTP client implementation such as `php-http/guzzle7-adapter`

0 commit comments

Comments
 (0)