From c974a4434564d446031e8e85f9904a6bbff58e28 Mon Sep 17 00:00:00 2001 From: Chemaclass Date: Tue, 19 May 2026 10:32:44 +0200 Subject: [PATCH 1/3] fix(phel): pin phel-lang to dev-main and rename ExInfoException MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two phel test failures resolved by bumping to phel-lang main (post v0.38.0): - Lazy-seq tests (test-lazy-seq 'basics' in lazy_seq.cljc): rest/next now match Clojure semantics — (rest s) no longer forces head of tail, so (realized? (rest s)) stays false (phel-lang#1997) - add_watch.cljc catch-class updated from Phel.Lang.ExInfoException to Phel.Lang.ExceptionInfo, matching the Clojure-aligned rename in phel-lang#2006 composer.json pinned to "dev-main as 0.39.x-dev" until phel-lang/phel-lang cuts v0.39.0 (phel-lang#2011); switch to ^0.39 once tagged + published. Full suite: 4692 passed, 0 failed. --- composer.json | 4 +++- composer.lock | 32 ++++++++++++++++++--------- test/clojure/core_test/add_watch.cljc | 2 +- 3 files changed, 25 insertions(+), 13 deletions(-) diff --git a/composer.json b/composer.json index 7447ed88..2172e5c5 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,9 @@ { "require": { - "phel-lang/phel-lang": "^0.38" + "phel-lang/phel-lang": "dev-main as 0.39.x-dev" }, + "minimum-stability": "dev", + "prefer-stable": true, "scripts": { "test": "XDEBUG_MODE=off ./vendor/bin/phel test" } diff --git a/composer.lock b/composer.lock index c4fb9fe1..72c418fa 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3f53c92650283dcf04dddc2d93bd0dc5", + "content-hash": "3c83148417ae7c5ffbb676e18b67a550", "packages": [ { "name": "amphp/amp", @@ -242,16 +242,16 @@ }, { "name": "phel-lang/phel-lang", - "version": "v0.38.0", + "version": "dev-main", "source": { "type": "git", "url": "https://github.com/phel-lang/phel-lang.git", - "reference": "ecf3779e8c72e013b9c9751f4fa415d6b56d6c3b" + "reference": "14dd32cb9bce36dd98d5d1fe5b542c6842d43b1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phel-lang/phel-lang/zipball/ecf3779e8c72e013b9c9751f4fa415d6b56d6c3b", - "reference": "ecf3779e8c72e013b9c9751f4fa415d6b56d6c3b", + "url": "https://api.github.com/repos/phel-lang/phel-lang/zipball/14dd32cb9bce36dd98d5d1fe5b542c6842d43b1a", + "reference": "14dd32cb9bce36dd98d5d1fe5b542c6842d43b1a", "shasum": "" }, "require": { @@ -273,6 +273,7 @@ "symfony/var-dumper": "^7.4", "vimeo/psalm": "^6.16" }, + "default-branch": true, "bin": [ "bin/phel" ], @@ -310,7 +311,7 @@ ], "support": { "issues": "https://github.com/phel-lang/phel-lang/issues", - "source": "https://github.com/phel-lang/phel-lang/tree/v0.38.0" + "source": "https://github.com/phel-lang/phel-lang/tree/main" }, "funding": [ { @@ -318,7 +319,7 @@ "type": "custom" } ], - "time": "2026-05-16T18:05:12+00:00" + "time": "2026-05-19T08:21:46+00:00" }, { "name": "psr/container", @@ -1205,10 +1206,19 @@ } ], "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": {}, - "prefer-stable": false, + "aliases": [ + { + "package": "phel-lang/phel-lang", + "version": "dev-main", + "alias": "0.39.x-dev", + "alias_normalized": "0.39.9999999.9999999-dev" + } + ], + "minimum-stability": "dev", + "stability-flags": { + "phel-lang/phel-lang": 20 + }, + "prefer-stable": true, "prefer-lowest": false, "platform": {}, "platform-dev": {}, diff --git a/test/clojure/core_test/add_watch.cljc b/test/clojure/core_test/add_watch.cljc index 6e929f17..00b80e2d 100644 --- a/test/clojure/core_test/add_watch.cljc +++ b/test/clojure/core_test/add_watch.cljc @@ -21,7 +21,7 @@ :clj clojure.lang.ExceptionInfo :cljr clojure.lang.ExceptionInfo :lpy basilisp.lang.exception/ExceptionInfo - :phel Phel.Lang.ExInfoException) e + :phel Phel.Lang.ExceptionInfo) e (let [data (ex-data e)] (vswap! state conj data)))))] (do-update a) From 300aa67345aebb22fc09fb52c8b8f366371978b7 Mon Sep 17 00:00:00 2001 From: Chemaclass Date: Tue, 19 May 2026 10:37:02 +0200 Subject: [PATCH 2/3] ci(phel): re-enable phel test job in CI Phel was disabled together with basilisp in 72997e3 ("Disable every dialect except clj,cljr,cljs,bb"). Now that the lazy-seq and class-rename breakage is resolved (phel-lang/main and the changes in this PR), phel runs green (4692 passed, 0 failed). Re-enables only the phel matrix (basilisp stays commented until its parity work lands). --- .github/workflows/ci.yml | 64 ++++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ec95b6ef..18301c5c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -170,40 +170,40 @@ jobs: # BASILISP_TEST_FILE_PATTERN='.*\.(lpy|cljc)' \ # basilisp test -p test -- -n 0 - #test-phel: - # runs-on: ubuntu-latest - # strategy: - # fail-fast: false - # matrix: - # php: ['8.4', '8.5'] - # steps: - # - uses: actions/checkout@v4 + test-phel: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + php: ['8.4', '8.5'] + steps: + - uses: actions/checkout@v4 - # - uses: shivammathur/setup-php@v2 - # with: - # php-version: ${{ matrix.php }} - # coverage: none - # tools: composer + - uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + coverage: none + tools: composer - # - name: Cache Composer downloads - # uses: actions/cache@v4 - # with: - # path: ~/.composer/cache - # key: composer-${{ matrix.php }}-${{ hashFiles('composer.lock') }} - # restore-keys: | - # composer-${{ matrix.php }}- + - name: Cache Composer downloads + uses: actions/cache@v4 + with: + path: ~/.composer/cache + key: composer-${{ matrix.php }}-${{ hashFiles('composer.lock') }} + restore-keys: | + composer-${{ matrix.php }}- - # - name: Cache Phel compiled artifacts - # uses: actions/cache@v4 - # with: - # path: .phel/cache - # key: phel-cache-${{ matrix.php }}-${{ hashFiles('composer.lock', 'phel-config.php') }}-${{ hashFiles('test/**/*.cljc', 'test/**/*.phel') }} - # restore-keys: | - # phel-cache-${{ matrix.php }}-${{ hashFiles('composer.lock', 'phel-config.php') }}- - # phel-cache-${{ matrix.php }}- + - name: Cache Phel compiled artifacts + uses: actions/cache@v4 + with: + path: .phel/cache + key: phel-cache-${{ matrix.php }}-${{ hashFiles('composer.lock', 'phel-config.php') }}-${{ hashFiles('test/**/*.cljc', 'test/**/*.phel') }} + restore-keys: | + phel-cache-${{ matrix.php }}-${{ hashFiles('composer.lock', 'phel-config.php') }}- + phel-cache-${{ matrix.php }}- - # - name: Install dependencies - # run: composer install --no-interaction --no-ansi --no-progress + - name: Install dependencies + run: composer install --no-interaction --no-ansi --no-progress - # - name: Run tests - # run: composer test + - name: Run tests + run: composer test From 7728ad5fac2b17b4f903627229ce18d00990aa30 Mon Sep 17 00:00:00 2001 From: Chemaclass Date: Tue, 19 May 2026 11:07:43 +0200 Subject: [PATCH 3/3] fix(phel): pin phel-lang ^0.39 now that v0.39.0 is released MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit v0.39.0 (https://github.com/phel-lang/phel-lang/releases/tag/v0.39.0) bundles the lazy-seq fix (phel-lang#1997) and the ExInfoException → ExceptionInfo rename (phel-lang#2006). Drop the dev-main shim plus minimum-stability/prefer-stable now that a stable tag exists. Full suite: 4692 passed, 0 failed. --- composer.json | 4 +--- composer.lock | 46 ++++++++++++++++++---------------------------- 2 files changed, 19 insertions(+), 31 deletions(-) diff --git a/composer.json b/composer.json index 2172e5c5..8d53d37b 100644 --- a/composer.json +++ b/composer.json @@ -1,9 +1,7 @@ { "require": { - "phel-lang/phel-lang": "dev-main as 0.39.x-dev" + "phel-lang/phel-lang": "^0.39" }, - "minimum-stability": "dev", - "prefer-stable": true, "scripts": { "test": "XDEBUG_MODE=off ./vendor/bin/phel test" } diff --git a/composer.lock b/composer.lock index 72c418fa..b2710df6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3c83148417ae7c5ffbb676e18b67a550", + "content-hash": "8528b44c559ca9101465f040ae1b2881", "packages": [ { "name": "amphp/amp", @@ -242,16 +242,16 @@ }, { "name": "phel-lang/phel-lang", - "version": "dev-main", + "version": "v0.39.0", "source": { "type": "git", "url": "https://github.com/phel-lang/phel-lang.git", - "reference": "14dd32cb9bce36dd98d5d1fe5b542c6842d43b1a" + "reference": "5d89b55910cd5fad22e14a0a40f359948412e390" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phel-lang/phel-lang/zipball/14dd32cb9bce36dd98d5d1fe5b542c6842d43b1a", - "reference": "14dd32cb9bce36dd98d5d1fe5b542c6842d43b1a", + "url": "https://api.github.com/repos/phel-lang/phel-lang/zipball/5d89b55910cd5fad22e14a0a40f359948412e390", + "reference": "5d89b55910cd5fad22e14a0a40f359948412e390", "shasum": "" }, "require": { @@ -273,7 +273,6 @@ "symfony/var-dumper": "^7.4", "vimeo/psalm": "^6.16" }, - "default-branch": true, "bin": [ "bin/phel" ], @@ -311,7 +310,7 @@ ], "support": { "issues": "https://github.com/phel-lang/phel-lang/issues", - "source": "https://github.com/phel-lang/phel-lang/tree/main" + "source": "https://github.com/phel-lang/phel-lang/tree/v0.39.0" }, "funding": [ { @@ -319,7 +318,7 @@ "type": "custom" } ], - "time": "2026-05-19T08:21:46+00:00" + "time": "2026-05-19T09:04:48+00:00" }, { "name": "psr/container", @@ -376,16 +375,16 @@ }, { "name": "revolt/event-loop", - "version": "v1.0.8", + "version": "v1.0.9", "source": { "type": "git", "url": "https://github.com/revoltphp/event-loop.git", - "reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c" + "reference": "44061cf513e53c6200372fc935ac42271566295d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/b6fc06dce8e9b523c9946138fa5e62181934f91c", - "reference": "b6fc06dce8e9b523c9946138fa5e62181934f91c", + "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/44061cf513e53c6200372fc935ac42271566295d", + "reference": "44061cf513e53c6200372fc935ac42271566295d", "shasum": "" }, "require": { @@ -395,7 +394,7 @@ "ext-json": "*", "jetbrains/phpstorm-stubs": "^2019.3", "phpunit/phpunit": "^9", - "psalm/phar": "^5.15" + "psalm/phar": "6.16.*" }, "type": "library", "extra": { @@ -442,9 +441,9 @@ ], "support": { "issues": "https://github.com/revoltphp/event-loop/issues", - "source": "https://github.com/revoltphp/event-loop/tree/v1.0.8" + "source": "https://github.com/revoltphp/event-loop/tree/v1.0.9" }, - "time": "2025-08-27T21:33:23+00:00" + "time": "2026-05-16T17:55:38+00:00" }, { "name": "symfony/console", @@ -1206,19 +1205,10 @@ } ], "packages-dev": [], - "aliases": [ - { - "package": "phel-lang/phel-lang", - "version": "dev-main", - "alias": "0.39.x-dev", - "alias_normalized": "0.39.9999999.9999999-dev" - } - ], - "minimum-stability": "dev", - "stability-flags": { - "phel-lang/phel-lang": 20 - }, - "prefer-stable": true, + "aliases": [], + "minimum-stability": "stable", + "stability-flags": {}, + "prefer-stable": false, "prefer-lowest": false, "platform": {}, "platform-dev": {},