Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport main to develop #163

Merged
merged 10 commits into from
Jan 30, 2025
9 changes: 9 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,15 @@ jobs:
string=': void'
grep -r -l "$string" tests/ | xargs sed -i "s/$string//g"

- name: Set ReportPortal configuration
# ReportPortal agent only works for PHP 7.1, 7.2, 7.3 and 7.4
if: (github.ref_name == 'main' || github.ref_name == 'develop') && vars.REPORT_PORTAL_ENABLED == 'true' && contains(fromJson('["7.1", "7.2", "7.3", "7.4"]'), matrix.php)
run: ./tests/reportportal/reportportal_conf.sh
env:
REPORT_PORTAL_API_KEY: ${{ secrets.REPORT_PORTAL_API_KEY }}
REPORT_PORTAL_ENDPOINT: ${{ vars.REPORT_PORTAL_ENDPOINT }}
PHP_VERSION: ${{ matrix.php }}

- name: PHPUnit
run: |
case ${{ matrix.php }} in
Expand Down
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# CHANGELOG

## v2.5.0 - 2025-01-30

### Changes

### 🚀 New Features

- Deprecation of v2/orders status endpoint (#161)
- Not allow empty string for order confirmed business event construct (#160)
- Add v1/me/business event endpoint (#158)

#### Contributors

@Francois-Gomis, @alma-renovate-bot[bot], @webaaz, [alma-renovate-bot[bot]](https://github.com/apps/alma-renovate-bot) and [github-actions[bot]](https://github.com/apps/github-actions)

## v2.4.0 - 2024-12-09

### Changes
Expand Down Expand Up @@ -205,6 +219,7 @@




```
* Add fields and docs to the Payment entity
* Add a Refund entity and extract refunds data within the Payment entity constructor
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "alma/alma-php-client",
"description": "PHP API client for the Alma payments API",
"version": "2.4.0",
"version": "2.5.0",
"type": "library",
"require": {
"php": "^5.6 || ~7.0 || ~7.1 || ~7.2 || ~7.3 || ~7.4 || ~8.0 || ~8.1 || ~8.2 || ~8.3",
Expand Down
2 changes: 1 addition & 1 deletion src/Client.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@

class Client
{
const VERSION = '2.4.0';
const VERSION = '2.5.0';

const LIVE_MODE = 'live';
const TEST_MODE = 'test';
Expand Down
37 changes: 37 additions & 0 deletions tests/reportportal/ReportPortalHTTPService.php.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
312c312
< $result = self::$client->post('v1/' . self::$projectName . '/launch', array(
---
> $result = self::$client->post('v2/' . self::$projectName . '/launch', array(
337c337
< $result = self::$client->put('v1/' . self::$projectName . '/launch/' . self::$launchID . '/finish', array(
---
> $result = self::$client->put('v2/' . self::$projectName . '/launch/' . self::$launchID . '/finish', array(
358c358
< $result = self::$client->put('v1/' . self::$projectName . '/launch/' . self::$launchID . '/stop', array(
---
> $result = self::$client->put('v2/' . self::$projectName . '/launch/' . self::$launchID . '/stop', array(
383c383
< $result = self::$client->post('v1/' . self::$projectName . '/item', array(
---
> $result = self::$client->post('v2/' . self::$projectName . '/item', array(
425c425
< $result = self::$client->post('v1/' . self::$projectName . '/log', array(
---
> $result = self::$client->post('v2/' . self::$projectName . '/log', array(
478c478
< 'v1/' . self::$projectName . '/log',
---
> 'v2/' . self::$projectName . '/log',
500c500
< $result = self::$client->put('v1/' . self::$projectName . '/item/' . $itemID, array(
---
> $result = self::$client->put('v2/' . self::$projectName . '/item/' . $itemID, array(
507c507,508
< 'status' => $status
---
> 'status' => $status,
> 'launchUuid' => self::$launchID
544c545
< $result = self::$client->post('v1/' . self::$projectName . '/item/' . $parentItemID, array(
---
> $result = self::$client->post('v2/' . self::$projectName . '/item/' . $parentItemID, array(
33 changes: 33 additions & 0 deletions tests/reportportal/reportportal_conf.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/usr/bin/env bash

# exit if REPORT_PORTAL_API_KEY or REPORT_PORTAL_ENDPOINT is not set
if [ -z "$REPORT_PORTAL_API_KEY" ] || [ -z "$REPORT_PORTAL_ENDPOINT" ]; then
echo "Please set REPORT_PORTAL_API_KEY and REPORT_PORTAL_ENDPOINT environment variables"
exit 1
fi

# Remove /api/v1 or api/v2 from REPORT_PORTAL_ENDPOINT (reportportal/agent-php-PHPUnit requires only host)
export REPORT_PORTAL_HOST=${REPORT_PORTAL_ENDPOINT/\/api\/v[12]/}

# Add secrets values in tests/reportportal_phpunit_conf_template.xml
# Following environment variables are used:
# REPORT_PORTAL_API_KEY
# REPORT_PORTAL_HOST
# PHP_VERSION
envsubst < tests/reportportal/reportportal_phpunit_conf_template.xml > tests/reportportal/reportportal_phpunit_conf.xml

# Add conf for ReportPortal extension in phpunit.ci.xml
# Inserts content of file tests/reportportal_phpunit_conf.xml before </phpunit> end tag in phpunit.ci.xml
sed -i $'/<\/phpunit>/{e cat tests/reportportal/reportportal_phpunit_conf.xml\n}' phpunit.ci.xml

# Add ReportPortal extension to composer.json
# reportportal/phpunit has no stable version, so we set minimum stability to dev only when running tests
composer config minimum-stability dev
# This is not supported by all versions of PHP, so we need to install it separately
composer require --dev reportportal/phpunit

# Patch reportportal/basic to make it compatible with api/v2
# Patch content:
# * Replace api/v1 (hardcoded in reportportal/basic) by api/v2
# * Add launchUuid to finishItem method (otherwise all tests will be marked as "interrupted")
patch vendor/reportportal/basic/src/service/ReportPortalHTTPService.php tests/reportportal/ReportPortalHTTPService.php.patch
12 changes: 12 additions & 0 deletions tests/reportportal/reportportal_phpunit_conf_template.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<listeners>
<listener class="agentPHPUnit" file="vendor/reportportal/phpunit/src/agentPHPUnit.php">
<arguments>
<string>${REPORT_PORTAL_API_KEY}</string>
<string>${REPORT_PORTAL_HOST}</string>
<string>integrations</string>
<string>.000+00:00</string>
<string>alma-php-client PHPUnit tests</string>
<string>PHP version: ${PHP_VERSION}</string>
</arguments>
</listener>
</listeners>