Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
791692c
#1 Update README. Add docs, CHANGELOG & CONTRIBUTING.
njoubert-cleverage Oct 24, 2024
bfbad39
#1 Add Makefile & .docker for local standalone usage. Add rector, php…
njoubert-cleverage Oct 24, 2024
87c407f
#1 Add notifications, quality & test github workflows
njoubert-cleverage Oct 24, 2024
dbdc3e8
#1 Update directory structure with code on /src
njoubert-cleverage Oct 24, 2024
20f638c
#3 Temporary fix nategood/httpful version dependency
njoubert-cleverage Oct 24, 2024
bb7d26d
#2 Remove `sidus/base-bundle` dependency
njoubert-cleverage Oct 24, 2024
571e2cb
#1 Apply phpstan, php-cs-fixer & rector rules
njoubert-cleverage Oct 24, 2024
eff77db
#3 Replace `nategood/httpful` dependency by `symfony/http-client`
njoubert-cleverage Oct 24, 2024
271f7ff
#4 Update services according to Symfony best practices.
njoubert-cleverage Oct 24, 2024
12844b7
Minor doc fix
njoubert-cleverage Oct 24, 2024
d76e819
Minor doc fix
njoubert-cleverage Oct 24, 2024
17cbdb8
Merge remote-tracking branch 'origin/prepare-release' into prepare-re…
njoubert-cleverage Oct 24, 2024
b086b84
#1 Apply <10.0 restriction on phpunit/phpunit since configuration fil…
njoubert-cleverage Oct 29, 2024
bc29d86
#7 Aliasing Transformers & Tasks with FQCN to maintain old release co…
njoubert-cleverage Nov 22, 2024
8c84c20
Set as public RequestTask. Fix RegistryCompilerPass using service nam…
njoubert-cleverage Nov 26, 2024
f67c1f2
Apply quality rules
njoubert-cleverage Nov 26, 2024
eb8e6e2
Replace monolog.logger by logger on CleverAge\RestProcessBundle\Task\…
clever-age-gtonon Dec 3, 2024
8fc4aa1
RequestTask : `query_parameters` option is deprecated, use `data` ins…
njoubert-cleverage Dec 12, 2024
2bd26ee
Add RequestTask documentation
njoubert-cleverage Dec 12, 2024
95dea37
Remove RequestTransformer, use RequestTask instead.
njoubert-cleverage Dec 12, 2024
aaa5243
#8 Remove all phpstan ignoreErrors, exceptp parameter.defaultValue be…
njoubert-cleverage Dec 12, 2024
60a0b82
#8 Apply phpstan level 10
njoubert-cleverage Dec 13, 2024
0aace7d
Merge pull request #9 from cleverage/8_phpstan
njoubert-cleverage Dec 13, 2024
4f2e383
#5 Bump dependency "cleverage/process-bundle": "^4.0"
njoubert-cleverage Dec 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .docker/compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
x-build-args: &build-args
UID: "${UID:-1000}"
GID: "${GID:-1000}"

name: cleverage-rest-process-bundle

services:
php:
build:
context: php
args:
<<: *build-args
volumes:
- ../:/var/www
29 changes: 29 additions & 0 deletions .docker/php/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
FROM php:8.2-fpm-alpine

ARG UID
ARG GID

RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
COPY /conf.d/ "$PHP_INI_DIR/conf.d/"

RUN apk update && apk add \
tzdata \
shadow \
nano \
bash \
icu-dev \
&& docker-php-ext-configure intl \
&& docker-php-ext-install intl opcache \
&& docker-php-ext-enable opcache

RUN ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime \
&& sed -i "s/^;date.timezone =.*/date.timezone = Europe\/Paris/" $PHP_INI_DIR/php.ini

COPY --from=composer:2 /usr/bin/composer /usr/bin/composer

RUN usermod -u $UID www-data \
&& groupmod -g $GID www-data

USER www-data:www-data

WORKDIR /var/www
5 changes: 5 additions & 0 deletions .docker/php/conf.d/dev.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
display_errors = 1
error_reporting = E_ALL

opcache.validate_timestamps = 1
opcache.revalidate_freq = 0
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## Description

<!-- Please describe the issue here -->

## Requirements

* Documentation updates
- [ ] Reference
- [ ] Changelog
* [ ] Unit tests

## Breaking changes

<!-- Please list here every breaking changes this might induce with minor/major labels -->
14 changes: 14 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## Description

<!-- Please describe the PR purpose, with references to the issues -->

## Requirements

* Documentation updates
- [ ] Reference
- [ ] Changelog
* [ ] Unit tests

## Breaking changes

<!-- Please list here every breaking changes this PR might induce with minor/major labels -->
23 changes: 23 additions & 0 deletions .github/workflows/notifications.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Rocket chat notifications

# Controls when the action will run.
on:
push:
tags:
- '*'

jobs:
notification:
runs-on: ubuntu-latest

steps:
- name: Get the tag short reference
id: get_tag
run: echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_OUTPUT

- name: Rocket.Chat Notification
uses: madalozzo/Rocket.Chat.GitHub.Action.Notification@master
with:
type: success
job_name: "[cleverage/rest-process-bundle](https://github.com/cleverage/rest-process-bundle) : ${{ steps.get_tag.outputs.TAG }} has been released"
url: ${{ secrets.CLEVER_AGE_ROCKET_CHAT_WEBOOK_URL }}
62 changes: 62 additions & 0 deletions .github/workflows/quality.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Quality

on:
push:
branches:
- main
pull_request:

permissions:
contents: read

jobs:
phpstan:
name: PHPStan
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install PHP with extensions
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
coverage: none
tools: composer:v2
- name: Install Composer dependencies (locked)
uses: ramsey/composer-install@v3
- name: PHPStan
run: vendor/bin/phpstan --no-progress --memory-limit=1G analyse --error-format=github

php-cs-fixer:
name: PHP-CS-Fixer
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install PHP with extensions
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
coverage: none
tools: composer:v2
- name: Install Composer dependencies (locked)
uses: ramsey/composer-install@v3
- name: PHP-CS-Fixer
run: vendor/bin/php-cs-fixer fix --diff --dry-run --show-progress=none

rector:
name: Rector
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install PHP with extensions
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
coverage: none
tools: composer:v2
- name: Install Composer dependencies (locked)
uses: ramsey/composer-install@v3
- name: Rector
run: vendor/bin/rector --no-progress-bar --dry-run
74 changes: 74 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Test

on:
push:
branches:
- main
pull_request:

permissions:
contents: read

jobs:
test:
name: PHP ${{ matrix.php-version }} + ${{ matrix.dependencies }} + ${{ matrix.variant }}
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.allowed-to-fail }}
env:
SYMFONY_REQUIRE: ${{matrix.symfony-require}}

strategy:
matrix:
php-version:
- '8.2'
- '8.3'
dependencies: [highest]
allowed-to-fail: [false]
symfony-require: ['']
variant: [normal]
include:
- php-version: '8.2'
dependencies: highest
allowed-to-fail: false
symfony-require: 6.4.*
variant: symfony/symfony:"6.4.*"
- php-version: '8.2'
dependencies: highest
allowed-to-fail: false
symfony-require: 7.1.*
variant: symfony/symfony:"7.1.*"
- php-version: '8.3'
dependencies: highest
allowed-to-fail: false
symfony-require: 6.4.*
variant: symfony/symfony:"6.4.*"
- php-version: '8.3'
dependencies: highest
allowed-to-fail: false
symfony-require: 7.1.*
variant: symfony/symfony:"7.1.*"

steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install PHP with extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: pcov
tools: composer:v2, flex
- name: Add PHPUnit matcher
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- name: Install variant
if: matrix.variant != 'normal' && !startsWith(matrix.variant, 'symfony/symfony')
run: composer require ${{ matrix.variant }} --no-update
- name: Install Composer dependencies (${{ matrix.dependencies }})
uses: ramsey/composer-install@v3
with:
dependency-versions: ${{ matrix.dependencies }}
- name: Run Tests with coverage
run: vendor/bin/phpunit -c phpunit.xml.dist --coverage-clover build/logs/clover.xml
#- name: Send coverage to Codecov
# uses: codecov/codecov-action@v4
# with:
# files: build/logs/clover.xml
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
/composer.lock
/vendor
.env
.idea
/phpunit.xml
.phpunit.result.cache
.phpunit.cache
.php-cs-fixer.cache
coverage-report
46 changes: 46 additions & 0 deletions .php-cs-fixer.dist.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?php

/*
* This file is part of the CleverAge/RestProcessBundle package.
*
* Copyright (c) Clever-Age
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

if (!file_exists(__DIR__.'/src')) {
exit(0);
}

$fileHeaderComment = <<<'EOF'
This file is part of the CleverAge/RestProcessBundle package.

Copyright (c) Clever-Age

For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
EOF;

return (new PhpCsFixer\Config())
->setRules([
'@PHP71Migration' => true,
'@PHP82Migration' => true,
'@PHPUnit75Migration:risky' => true,
'@Symfony' => true,
'@Symfony:risky' => true,
'protected_to_private' => false,
'native_constant_invocation' => ['strict' => false],
'header_comment' => ['header' => $fileHeaderComment],
'modernize_strpos' => true,
'get_class_to_class_keyword' => true,
])
->setRiskyAllowed(true)
->setFinder(
(new PhpCsFixer\Finder())
->in(__DIR__.'/src')
->in(__DIR__.'/tests')
->append([__FILE__])
)
->setCacheFile('.php-cs-fixer.cache')
;
53 changes: 53 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
v2.0
------

## BC breaks

* [#3](https://github.com/cleverage/rest-process-bundle/issues/3) Replace `nategood/httpful` dependency by `symfony/http-client`
* [#3](https://github.com/cleverage/rest-process-bundle/issues/5) Update Tasks for "symfony/http-client": "^6.4|^7.1"
* [#4](https://github.com/cleverage/rest-process-bundle/issues/4) Update services according to Symfony best practices.
Services should not use autowiring or autoconfiguration. Instead, all services should be defined explicitly.
Services must be prefixed with the bundle alias instead of using fully qualified class names => `cleverage_rest_process`
* RequestTask : `query_parameters` option is deprecated, use `data` instead
* Remove RequestTransformer, use RequestTask instead.

### Changes

* [#1](https://github.com/cleverage/rest-process-bundle/issues/1) Add Makefile & .docker for local standalone usage
* [#1](https://github.com/cleverage/rest-process-bundle/issues/1) Add rector, phpstan & php-cs-fixer configurations & apply it
* [#2](https://github.com/cleverage/rest-process-bundle/issues/2) Remove `sidus/base-bundle` dependency

### Fixes

v1.0.4
------

### Changes

* Fixed dependencies after removing sidus/base-bundle from the base process bundle

v1.0.3
------

### Changes

* Minor refactoring in RequestTask to allow override of options more easily

v1.0.2
------

### Fixes

* Fixing trailing '?'/'&' in request uri

v1.0.1
------

### Changes

* Adding debug information in RequestTask

v1.0.0
------

* Initial release
Loading
Loading