From 26e7d775e4f5368e030fe0df64294882af4fed99 Mon Sep 17 00:00:00 2001 From: Damiano Improta Date: Tue, 7 Oct 2025 21:59:54 +0200 Subject: [PATCH 1/6] git ignore --- .gitignore | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 018874d..b55050a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,4 @@ /nbproject/ /vendor/ -/app/nbproject/ -/app/vendor/ -/app/.php-cs-fixer.cache -/app/.phpdoc/ +/.php-cs-fixer.cache +/.phpdoc/ From f7db1abb26773f0d09e2bd563fc493329a1b1d8b Mon Sep 17 00:00:00 2001 From: Damiano Improta Date: Tue, 7 Oct 2025 22:00:33 +0200 Subject: [PATCH 2/6] git attributes --- .gitattributes | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitattributes b/.gitattributes index 04182e7..079c2c1 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,6 +3,6 @@ commands export-ignore .github/ export-ignore docker-compose.yml export-ignore entrypoint.sh export-ignore -app/.php-cs-fixer.dist.php export-ignore -app/phpstan.neon export-ignore -app/rector.php export-ignore \ No newline at end of file +.php-cs-fixer.dist.php export-ignore +phpstan.neon export-ignore +rector.php export-ignore \ No newline at end of file From 566773fd8b30c7a45bf34e65cec63928cdc9f0dc Mon Sep 17 00:00:00 2001 From: Damiano Improta Date: Tue, 7 Oct 2025 22:05:12 +0200 Subject: [PATCH 3/6] tree folder modified --- app/.php-cs-fixer.dist.php => .php-cs-fixer.dist.php | 0 Dockerfile | 5 +++-- app/composer.json => composer.json | 0 app/composer.lock => composer.lock | 0 docker-compose.yml | 6 +++++- app/phpstan.neon => phpstan.neon | 0 app/rector.php => rector.php | 0 {app/src => src}/Enum/CacheEnum.php | 0 .../Exception/CacheMissingConfigurationException.php | 0 {app/src => src}/Interface/Cacheable.php | 0 {app/src => src}/Service/ApcuCache.php | 0 {app/src => src}/Service/Cache.php | 0 {app/src => src}/Service/CacheConfiguration.php | 0 {app/src => src}/Service/CacheManager.php | 0 {app/src => src}/Service/CacheManagerImpl.php | 0 {app/src => src}/Service/CacheManagerImplDryMode.php | 0 {app/src => src}/Service/MemcacheCache.php | 0 {app/src => src}/Service/RedisCache.php | 0 {app/tests => tests}/AbstractCache.php | 0 {app/tests => tests}/AbstractCacheManager.php | 0 {app/tests => tests}/ApcuCacheTest.php | 0 {app/tests => tests}/CacheManagerDryRunTest.php | 0 {app/tests => tests}/CacheManagerMultiLevelTest.php | 0 {app/tests => tests}/CacheManagerOneLevelTest.php | 0 {app/tests => tests}/Entity/Foo.php | 0 {app/tests => tests}/MemcacheCacheTest.php | 0 {app/tests => tests}/RedisCacheTest.php | 0 27 files changed, 8 insertions(+), 3 deletions(-) rename app/.php-cs-fixer.dist.php => .php-cs-fixer.dist.php (100%) rename app/composer.json => composer.json (100%) rename app/composer.lock => composer.lock (100%) rename app/phpstan.neon => phpstan.neon (100%) rename app/rector.php => rector.php (100%) rename {app/src => src}/Enum/CacheEnum.php (100%) rename {app/src => src}/Exception/CacheMissingConfigurationException.php (100%) rename {app/src => src}/Interface/Cacheable.php (100%) rename {app/src => src}/Service/ApcuCache.php (100%) rename {app/src => src}/Service/Cache.php (100%) rename {app/src => src}/Service/CacheConfiguration.php (100%) rename {app/src => src}/Service/CacheManager.php (100%) rename {app/src => src}/Service/CacheManagerImpl.php (100%) rename {app/src => src}/Service/CacheManagerImplDryMode.php (100%) rename {app/src => src}/Service/MemcacheCache.php (100%) rename {app/src => src}/Service/RedisCache.php (100%) rename {app/tests => tests}/AbstractCache.php (100%) rename {app/tests => tests}/AbstractCacheManager.php (100%) rename {app/tests => tests}/ApcuCacheTest.php (100%) rename {app/tests => tests}/CacheManagerDryRunTest.php (100%) rename {app/tests => tests}/CacheManagerMultiLevelTest.php (100%) rename {app/tests => tests}/CacheManagerOneLevelTest.php (100%) rename {app/tests => tests}/Entity/Foo.php (100%) rename {app/tests => tests}/MemcacheCacheTest.php (100%) rename {app/tests => tests}/RedisCacheTest.php (100%) diff --git a/app/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php similarity index 100% rename from app/.php-cs-fixer.dist.php rename to .php-cs-fixer.dist.php diff --git a/Dockerfile b/Dockerfile index e24509c..192d9ab 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,11 +18,12 @@ RUN echo "apc.enable_cli=1" >> /usr/local/etc/php/php.ini RUN echo "apc.enable=1" >> /usr/local/etc/php/php.ini WORKDIR /app -COPY app/composer.* ./ +COPY ./src ./src +COPY ./tests ./tests +COPY composer.* ./ RUN composer install --no-interaction --no-scripts --no-autoloader --prefer-dist -COPY ./app . RUN composer dump-autoload --optimize diff --git a/app/composer.json b/composer.json similarity index 100% rename from app/composer.json rename to composer.json diff --git a/app/composer.lock b/composer.lock similarity index 100% rename from app/composer.lock rename to composer.lock diff --git a/docker-compose.yml b/docker-compose.yml index 6ec752c..9b3bd96 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,11 @@ services: app: build: . volumes: - - ./app:/app + - ./src:/app/src + - ./tests:/app//tests + - ./vendor:/app/vendor + - ./composer.json:/app/composer.json + - ./composer.lock:/app/composer.lock networks: - cache-multi-layer-network depends_on: diff --git a/app/phpstan.neon b/phpstan.neon similarity index 100% rename from app/phpstan.neon rename to phpstan.neon diff --git a/app/rector.php b/rector.php similarity index 100% rename from app/rector.php rename to rector.php diff --git a/app/src/Enum/CacheEnum.php b/src/Enum/CacheEnum.php similarity index 100% rename from app/src/Enum/CacheEnum.php rename to src/Enum/CacheEnum.php diff --git a/app/src/Exception/CacheMissingConfigurationException.php b/src/Exception/CacheMissingConfigurationException.php similarity index 100% rename from app/src/Exception/CacheMissingConfigurationException.php rename to src/Exception/CacheMissingConfigurationException.php diff --git a/app/src/Interface/Cacheable.php b/src/Interface/Cacheable.php similarity index 100% rename from app/src/Interface/Cacheable.php rename to src/Interface/Cacheable.php diff --git a/app/src/Service/ApcuCache.php b/src/Service/ApcuCache.php similarity index 100% rename from app/src/Service/ApcuCache.php rename to src/Service/ApcuCache.php diff --git a/app/src/Service/Cache.php b/src/Service/Cache.php similarity index 100% rename from app/src/Service/Cache.php rename to src/Service/Cache.php diff --git a/app/src/Service/CacheConfiguration.php b/src/Service/CacheConfiguration.php similarity index 100% rename from app/src/Service/CacheConfiguration.php rename to src/Service/CacheConfiguration.php diff --git a/app/src/Service/CacheManager.php b/src/Service/CacheManager.php similarity index 100% rename from app/src/Service/CacheManager.php rename to src/Service/CacheManager.php diff --git a/app/src/Service/CacheManagerImpl.php b/src/Service/CacheManagerImpl.php similarity index 100% rename from app/src/Service/CacheManagerImpl.php rename to src/Service/CacheManagerImpl.php diff --git a/app/src/Service/CacheManagerImplDryMode.php b/src/Service/CacheManagerImplDryMode.php similarity index 100% rename from app/src/Service/CacheManagerImplDryMode.php rename to src/Service/CacheManagerImplDryMode.php diff --git a/app/src/Service/MemcacheCache.php b/src/Service/MemcacheCache.php similarity index 100% rename from app/src/Service/MemcacheCache.php rename to src/Service/MemcacheCache.php diff --git a/app/src/Service/RedisCache.php b/src/Service/RedisCache.php similarity index 100% rename from app/src/Service/RedisCache.php rename to src/Service/RedisCache.php diff --git a/app/tests/AbstractCache.php b/tests/AbstractCache.php similarity index 100% rename from app/tests/AbstractCache.php rename to tests/AbstractCache.php diff --git a/app/tests/AbstractCacheManager.php b/tests/AbstractCacheManager.php similarity index 100% rename from app/tests/AbstractCacheManager.php rename to tests/AbstractCacheManager.php diff --git a/app/tests/ApcuCacheTest.php b/tests/ApcuCacheTest.php similarity index 100% rename from app/tests/ApcuCacheTest.php rename to tests/ApcuCacheTest.php diff --git a/app/tests/CacheManagerDryRunTest.php b/tests/CacheManagerDryRunTest.php similarity index 100% rename from app/tests/CacheManagerDryRunTest.php rename to tests/CacheManagerDryRunTest.php diff --git a/app/tests/CacheManagerMultiLevelTest.php b/tests/CacheManagerMultiLevelTest.php similarity index 100% rename from app/tests/CacheManagerMultiLevelTest.php rename to tests/CacheManagerMultiLevelTest.php diff --git a/app/tests/CacheManagerOneLevelTest.php b/tests/CacheManagerOneLevelTest.php similarity index 100% rename from app/tests/CacheManagerOneLevelTest.php rename to tests/CacheManagerOneLevelTest.php diff --git a/app/tests/Entity/Foo.php b/tests/Entity/Foo.php similarity index 100% rename from app/tests/Entity/Foo.php rename to tests/Entity/Foo.php diff --git a/app/tests/MemcacheCacheTest.php b/tests/MemcacheCacheTest.php similarity index 100% rename from app/tests/MemcacheCacheTest.php rename to tests/MemcacheCacheTest.php diff --git a/app/tests/RedisCacheTest.php b/tests/RedisCacheTest.php similarity index 100% rename from app/tests/RedisCacheTest.php rename to tests/RedisCacheTest.php From 89e95bd6f498bcc996a5fd731007c25ebbc2bd23 Mon Sep 17 00:00:00 2001 From: Damiano Improta Date: Tue, 7 Oct 2025 22:41:09 +0200 Subject: [PATCH 4/6] entrypoint run composer install before test --- Dockerfile | 3 +-- entrypoint.sh | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 192d9ab..ce69db7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,10 +24,9 @@ COPY composer.* ./ RUN composer install --no-interaction --no-scripts --no-autoloader --prefer-dist - RUN composer dump-autoload --optimize COPY ./entrypoint.sh /usr/local/bin/ RUN chmod +x /usr/local/bin/entrypoint.sh -ENTRYPOINT ["entrypoint.sh"] +ENTRYPOINT ["entrypoint.sh"] \ No newline at end of file diff --git a/entrypoint.sh b/entrypoint.sh index 2941ff3..5f83165 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -3,6 +3,7 @@ case "$1" in 'test-sw') + composer install exec ./vendor/bin/phpunit ./tests/ ;; 'update-vendor') From 7fe40de65943b3147b0e0785e8a99fddbd847821 Mon Sep 17 00:00:00 2001 From: Damiano Improta Date: Tue, 7 Oct 2025 22:42:58 +0200 Subject: [PATCH 5/6] workflow fixed wit default workspace --- .github/workflows/format-code.yml | 2 -- .github/workflows/test-sw.yml | 2 -- 2 files changed, 4 deletions(-) diff --git a/.github/workflows/format-code.yml b/.github/workflows/format-code.yml index 3d78e98..3d2fe9e 100644 --- a/.github/workflows/format-code.yml +++ b/.github/workflows/format-code.yml @@ -16,7 +16,6 @@ jobs: - uses: actions/checkout@v4 - name: Validate composer.json and composer.lock - working-directory: ./app run: composer validate - name: Cache Composer packages @@ -29,7 +28,6 @@ jobs: ${{ runner.os }}-php- - name: Install dependencies - working-directory: ./app run: composer install --prefer-dist --no-progress - name: format code diff --git a/.github/workflows/test-sw.yml b/.github/workflows/test-sw.yml index 37067f4..377f0ad 100644 --- a/.github/workflows/test-sw.yml +++ b/.github/workflows/test-sw.yml @@ -15,7 +15,6 @@ jobs: - uses: actions/checkout@v4 - name: Validate composer.json and composer.lock - working-directory: ./app run: composer validate - name: Cache Composer packages @@ -28,7 +27,6 @@ jobs: ${{ runner.os }}-php- - name: Install dependencies - working-directory: ./app run: composer install --prefer-dist --no-progress - name: Run test suite From 2e4b7c16c4ffe7a2803a1b9677d91bcae4deb5ef Mon Sep 17 00:00:00 2001 From: Damiano Improta Date: Tue, 7 Oct 2025 22:51:04 +0200 Subject: [PATCH 6/6] setting files add in docker compose --- docker-compose.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 9b3bd96..e26fbac 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,6 +7,9 @@ services: - ./vendor:/app/vendor - ./composer.json:/app/composer.json - ./composer.lock:/app/composer.lock + - ./rector.php:/app/rector.php + - ./phpstan.neon:/app/phpstan.neon + - ./.php-cs-fixer.dist.php:/app/.php-cs-fixer.dist.php networks: - cache-multi-layer-network depends_on: