From 756c40d578585005140da798e9dfef13ed5c723c Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 12:44:40 +0700 Subject: [PATCH 01/19] Bump structarmed to ^0.3.1 to test cache key --- .github/workflows/ci_build.yml | 23 +++++++++++++++++++++++ composer.json | 2 +- structarmed.php | 1 + 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_build.yml b/.github/workflows/ci_build.yml index 45fbe8f..f0da048 100644 --- a/.github/workflows/ci_build.yml +++ b/.github/workflows/ci_build.yml @@ -26,12 +26,35 @@ jobs: uses: actions/checkout@v2 - name: "Validate composer.json and composer.lock" run: "composer validate" + + - name: Get composer cache directory + id: composer-cache + run: echo "COMPOSER_CACHE_FILES_DIR=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT + + - name: Cache dependencies + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + with: + path: ${{ steps.composer-cache.outputs.COMPOSER_CACHE_FILES_DIR }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} + restore-keys: ${{ runner.os }}-composer- + - name: "Install dependencies (latest)" if: matrix.deps == 'latest' run: "composer install --no-interaction --no-progress --prefer-dist" - name: "Install dependencies (lowest)" if: matrix.deps == 'lowest' run: "composer update --no-interaction --no-progress --prefer-dist --prefer-lowest --prefer-stable" + + + - name: Structarmed Cache + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + with: + path: /tmp/structarmed + key: ${{ runner.os }}-structarmed-${{ github.run_id }} + restore-keys: ${{ runner.os }}-structarmed- + + - run: mkdir -p /tmp/structarmed + - name: "CS Check" run: "composer cs-check" - name: "Code analyze" diff --git a/composer.json b/composer.json index ea791f6..3394614 100644 --- a/composer.json +++ b/composer.json @@ -29,7 +29,7 @@ "webmozart/assert": "^1.11 || ^2.1" }, "require-dev": { - "boundwize/structarmed": "^0.0.3", + "boundwize/structarmed": "^0.3.1", "laminas/laminas-coding-standard": "^3.0", "phpstan/phpstan": "^2.0", "phpstan/phpstan-webmozart-assert": "^2.0", diff --git a/structarmed.php b/structarmed.php index 86cd096..fdd51ce 100644 --- a/structarmed.php +++ b/structarmed.php @@ -6,4 +6,5 @@ use Boundwize\StructArmed\Preset\Preset; return Architecture::define() + ->cacheDirectory(is_dir('/tmp') ? '/tmp/structarmed' : null) ->withPreset(Preset::PSR4()); \ No newline at end of file From ff68c23c3b9f1cedde24e5fc16ebea9b739289bf Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 12:45:58 +0700 Subject: [PATCH 02/19] trigger CI From 7b208d07b458d11c8f7f5ac7a93d85fa0ed99e55 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 12:54:05 +0700 Subject: [PATCH 03/19] bump to 0.3.2 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 3394614..b71f653 100644 --- a/composer.json +++ b/composer.json @@ -29,7 +29,7 @@ "webmozart/assert": "^1.11 || ^2.1" }, "require-dev": { - "boundwize/structarmed": "^0.3.1", + "boundwize/structarmed": "^0.3.2", "laminas/laminas-coding-standard": "^3.0", "phpstan/phpstan": "^2.0", "phpstan/phpstan-webmozart-assert": "^2.0", From 78d7ab943fc3ce8e77dffa4c83f4149385380081 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 12:55:10 +0700 Subject: [PATCH 04/19] trigger CI From 6db963d722416dc8e429010a9fb311fafce3a30c Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 13:02:39 +0700 Subject: [PATCH 05/19] move to separate workflow --- .github/workflows/ci_build.yml | 23 --------------- .github/workflows/structarmed_build.yml | 39 +++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 23 deletions(-) create mode 100644 .github/workflows/structarmed_build.yml diff --git a/.github/workflows/ci_build.yml b/.github/workflows/ci_build.yml index f0da048..45fbe8f 100644 --- a/.github/workflows/ci_build.yml +++ b/.github/workflows/ci_build.yml @@ -26,35 +26,12 @@ jobs: uses: actions/checkout@v2 - name: "Validate composer.json and composer.lock" run: "composer validate" - - - name: Get composer cache directory - id: composer-cache - run: echo "COMPOSER_CACHE_FILES_DIR=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - - - name: Cache dependencies - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 - with: - path: ${{ steps.composer-cache.outputs.COMPOSER_CACHE_FILES_DIR }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} - restore-keys: ${{ runner.os }}-composer- - - name: "Install dependencies (latest)" if: matrix.deps == 'latest' run: "composer install --no-interaction --no-progress --prefer-dist" - name: "Install dependencies (lowest)" if: matrix.deps == 'lowest' run: "composer update --no-interaction --no-progress --prefer-dist --prefer-lowest --prefer-stable" - - - - name: Structarmed Cache - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 - with: - path: /tmp/structarmed - key: ${{ runner.os }}-structarmed-${{ github.run_id }} - restore-keys: ${{ runner.os }}-structarmed- - - - run: mkdir -p /tmp/structarmed - - name: "CS Check" run: "composer cs-check" - name: "Code analyze" diff --git a/.github/workflows/structarmed_build.yml b/.github/workflows/structarmed_build.yml new file mode 100644 index 0000000..e9faf0d --- /dev/null +++ b/.github/workflows/structarmed_build.yml @@ -0,0 +1,39 @@ +name: StructArmed + +on: + pull_request: + push: + branches: ["main"] + +jobs: + structarmed: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: shivammathur/setup-php@v2 + with: + php-version: "8.4" + + - run: composer install --no-interaction --no-progress --prefer-dist + + - name: Restore StructArmed cache + uses: actions/cache/restore@v4 + with: + path: /tmp/structarmed + key: ${{ runner.os }}-structarmed-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }} + restore-keys: | + ${{ runner.os }}-structarmed- + + - run: mkdir -p /tmp/structarmed + + - name: Run StructArmed + run: vendor/bin/structarmed analyze + + - name: Save StructArmed cache + if: always() + uses: actions/cache/save@v4 + with: + path: /tmp/structarmed + key: ${{ runner.os }}-structarmed-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }} From a43892f82173aa0fd46022820aac90ca9144c6b5 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 13:03:37 +0700 Subject: [PATCH 06/19] trigger CI From 960050521741d17f9728e15c5b6d4839c175aeaa Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 13:04:33 +0700 Subject: [PATCH 07/19] dont run --- .github/workflows/ci_build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci_build.yml b/.github/workflows/ci_build.yml index 45fbe8f..0649a7d 100644 --- a/.github/workflows/ci_build.yml +++ b/.github/workflows/ci_build.yml @@ -38,7 +38,6 @@ jobs: run: | composer phpstan composer rector - vendor/bin/structarmed analyze - name: "Run test suite" run: "composer test" - name: Upload coverage to Codecov From 872f4a6aafca7084a5c745b0e9f678b304a5b67a Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 13:05:25 +0700 Subject: [PATCH 08/19] trigger CI From f848eed8430428d36f716d135d9867b93cafe899 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 13:08:38 +0700 Subject: [PATCH 09/19] fix key --- .github/workflows/structarmed_build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/structarmed_build.yml b/.github/workflows/structarmed_build.yml index e9faf0d..f4b181a 100644 --- a/.github/workflows/structarmed_build.yml +++ b/.github/workflows/structarmed_build.yml @@ -22,8 +22,9 @@ jobs: uses: actions/cache/restore@v4 with: path: /tmp/structarmed - key: ${{ runner.os }}-structarmed-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }} + key: ${{ runner.os }}-structarmed-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }}-${{ github.run_id }}-${{ github.run_attempt }} restore-keys: | + ${{ runner.os }}-structarmed-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }}- ${{ runner.os }}-structarmed- - run: mkdir -p /tmp/structarmed @@ -36,4 +37,4 @@ jobs: uses: actions/cache/save@v4 with: path: /tmp/structarmed - key: ${{ runner.os }}-structarmed-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }} + key: ${{ runner.os }}-structarmed-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }}-${{ github.run_id }}-${{ github.run_attempt }} From eaf2f165fe5197936b59ad6173ce6a5109902acd Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 13:09:35 +0700 Subject: [PATCH 10/19] trigger CI From b8a5d7f87de0e8161962b2b3d3f8646a6351d956 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 13:12:44 +0700 Subject: [PATCH 11/19] change key --- .github/workflows/structarmed_build.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/structarmed_build.yml b/.github/workflows/structarmed_build.yml index f4b181a..000baf2 100644 --- a/.github/workflows/structarmed_build.yml +++ b/.github/workflows/structarmed_build.yml @@ -22,10 +22,9 @@ jobs: uses: actions/cache/restore@v4 with: path: /tmp/structarmed - key: ${{ runner.os }}-structarmed-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }}-${{ github.run_id }}-${{ github.run_attempt }} + key: ${{ runner.os }}-structarmed-v2-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }}-${{ github.run_id }}-${{ github.run_attempt }} restore-keys: | - ${{ runner.os }}-structarmed-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }}- - ${{ runner.os }}-structarmed- + ${{ runner.os }}-structarmed-v2-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }}- - run: mkdir -p /tmp/structarmed @@ -37,4 +36,4 @@ jobs: uses: actions/cache/save@v4 with: path: /tmp/structarmed - key: ${{ runner.os }}-structarmed-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }}-${{ github.run_id }}-${{ github.run_attempt }} + key: ${{ runner.os }}-structarmed-v2-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }}-${{ github.run_id }}-${{ github.run_attempt }} From 3d1499602b9b7dba69e62282d0d2cc349a41abc4 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 13:13:47 +0700 Subject: [PATCH 12/19] trigger CI From 3895f3aac03f7cee503a633e58ab3a93f0bbc040 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 13:26:05 +0700 Subject: [PATCH 13/19] simplify caching --- .github/workflows/structarmed_build.yml | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/.github/workflows/structarmed_build.yml b/.github/workflows/structarmed_build.yml index 000baf2..223b8a3 100644 --- a/.github/workflows/structarmed_build.yml +++ b/.github/workflows/structarmed_build.yml @@ -18,22 +18,14 @@ jobs: - run: composer install --no-interaction --no-progress --prefer-dist - - name: Restore StructArmed cache - uses: actions/cache/restore@v4 + - name: Structarmed Cache + uses: actions/cache@v4 with: path: /tmp/structarmed - key: ${{ runner.os }}-structarmed-v2-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }}-${{ github.run_id }}-${{ github.run_attempt }} - restore-keys: | - ${{ runner.os }}-structarmed-v2-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }}- + key: ${{ runner.os }}-rector-${{ github.run_id }} + restore-keys: ${{ runner.os }}-rector- - run: mkdir -p /tmp/structarmed - name: Run StructArmed run: vendor/bin/structarmed analyze - - - name: Save StructArmed cache - if: always() - uses: actions/cache/save@v4 - with: - path: /tmp/structarmed - key: ${{ runner.os }}-structarmed-v2-${{ hashFiles('composer.json', 'composer.lock', 'structarmed.php') }}-${{ github.run_id }}-${{ github.run_attempt }} From ccb0297de0263e7008af5587911808941063c099 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 13:26:29 +0700 Subject: [PATCH 14/19] simplify caching --- .github/workflows/structarmed_build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/structarmed_build.yml b/.github/workflows/structarmed_build.yml index 223b8a3..134bc1d 100644 --- a/.github/workflows/structarmed_build.yml +++ b/.github/workflows/structarmed_build.yml @@ -22,8 +22,8 @@ jobs: uses: actions/cache@v4 with: path: /tmp/structarmed - key: ${{ runner.os }}-rector-${{ github.run_id }} - restore-keys: ${{ runner.os }}-rector- + key: ${{ runner.os }}-structarmed-${{ github.run_id }} + restore-keys: ${{ runner.os }}-structarmed- - run: mkdir -p /tmp/structarmed From 351ca285357b57afc49102ee27554988609b38c4 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 13:27:35 +0700 Subject: [PATCH 15/19] trigger CI From e679ade836408aefe449cd80706d3deb037bcb44 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 16:44:52 +0700 Subject: [PATCH 16/19] try dev-proper-cache branch --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index b71f653..cdfeae4 100644 --- a/composer.json +++ b/composer.json @@ -29,7 +29,7 @@ "webmozart/assert": "^1.11 || ^2.1" }, "require-dev": { - "boundwize/structarmed": "^0.3.2", + "boundwize/structarmed": "dev-proper-cache", "laminas/laminas-coding-standard": "^3.0", "phpstan/phpstan": "^2.0", "phpstan/phpstan-webmozart-assert": "^2.0", From 7133153c88b2f8e96a6e72f47ab75b158d7f9f52 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 16:46:07 +0700 Subject: [PATCH 17/19] trigger CI From 869275d243c66d96e107adc0a3be2c4600ffe806 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 16:48:50 +0700 Subject: [PATCH 18/19] bump to 0.3.3 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index cdfeae4..50d4fa1 100644 --- a/composer.json +++ b/composer.json @@ -29,7 +29,7 @@ "webmozart/assert": "^1.11 || ^2.1" }, "require-dev": { - "boundwize/structarmed": "dev-proper-cache", + "boundwize/structarmed": "^0.3.3", "laminas/laminas-coding-standard": "^3.0", "phpstan/phpstan": "^2.0", "phpstan/phpstan-webmozart-assert": "^2.0", From 16975838e841210b954e2fbeb033021f023a1c5b Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Sun, 10 May 2026 16:49:51 +0700 Subject: [PATCH 19/19] trigger CI