Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
ea872f3
Support running against Phel
jasalt Apr 30, 2026
6a27dac
Enable tests related to vars for Phel
jasalt May 5, 2026
70f67f3
Merge pull request #12 from phel-lang/enable-var-tests
jasalt May 6, 2026
68c3b2d
Skip worthless aclone and uuid Phel tests
jasalt May 6, 2026
3ce6e83
Enable rational number tests for Phel
jasalt May 6, 2026
382ab6d
Change decimal? fn usage to double? with Phel (not implemented)
jasalt May 6, 2026
e229373
Update inc.cljc overflow test after BigInteger added to Phel
jasalt May 6, 2026
9c53174
Update float_qmark.cljc with Phel rationals support, improve style
jasalt May 6, 2026
a6e9e7f
number_range.cljc: add Phel's PHP values
jasalt May 6, 2026
f86b740
Fix conditional failures breaking CLJS and Basilisp
jasalt May 6, 2026
ff53354
General style changes reducing amount of reader aconditionals
jasalt May 6, 2026
afcf33d
uuid_qmark.cljc: remove Phel conditional after UUID type addition
jasalt May 6, 2026
79d2c59
Remove Phel specific overrides for BigDecimal after it was added
jasalt May 7, 2026
7fb70d2
key.cljc & val.cljc: use Phel's newly added map-entry function
jasalt May 7, 2026
b1ed0d3
update phel-config.php to new format
jasalt May 11, 2026
30781ff
Merge branch 'main' into main
Chemaclass May 13, 2026
246a4ac
chore: pin phel-lang to ^0.37 and add composer.lock
Chemaclass May 13, 2026
569e421
chore: tune phel-config for repo layout and DX
Chemaclass May 13, 2026
a80ba61
docs: refresh phel.md for 0.37 and add reader-conditional notes
Chemaclass May 13, 2026
48a19fb
docs: include Phel in writing-tests dialect list and run instructions
Chemaclass May 13, 2026
f1123ee
chore: disable Xdebug for Phel test runs
Chemaclass May 14, 2026
8411fc4
chore(phel): bb test-phel task, CI caching, composer test
Chemaclass May 14, 2026
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
38 changes: 38 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,3 +162,41 @@ jobs:
BASILISP_TEST_PATH="$(pwd)/test" \
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

- 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 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: Run tests
run: composer test
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@ __pycache__/
poetry.lock
*.egg-info/
.DS_Store
/vendor/
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@ See these documents for how to set up individual dialect-specific environments a
3. [Babashka](doc/babashka.md)
4. [Clojure CLR](doc/clojureclr.md)
5. [Basilisp](doc/basilisp.md)
6. [Phel](doc/phel.md)
15 changes: 11 additions & 4 deletions bb.edn
Original file line number Diff line number Diff line change
Expand Up @@ -32,23 +32,29 @@
{:extra-env {"BASILISP_TEST_PATH" "./test"
"BASILISP_TEST_FILE_PATTERN" ".*\\.(lpy|cljc)"}}
"basilisp test -p test -- -n 0"))}
test-phel {:doc "Runs tests in Phel"
:task (do
(banner "Running Phel Tests")
(shell "composer test"))}
test-all {:doc "Run tests under all dialects"
:task (do
(run 'test-jvm)
(run 'test-cljs)
(run 'test-bb)
(run 'test-lpy))}
test {:doc "Runs tests in multiple named dialects: jvm, bb, cljs, or lpy"
(run 'test-lpy)
(run 'test-phel))}
test {:doc "Runs tests in multiple named dialects: jvm, bb, cljs, lpy, or phel"
:task (letfn [(help []
(println "Usage: bb test <dialect1> [<dialect2>]...")
(println "Where <dialect> is one of:")
(println " jvm Runs tests in Clojure JVM")
(println " cljs Runs tests in ClojureScript")
(println " bb Runs tests in Babashka")
(println " lpy Runs tests in Basilisp")
(println " phel Runs tests in Phel")
(println " all Runs tests in all supported dialects")
(println "Tests are run in the order given."))]
(let [valid #{"jvm" "cljs" "bb" "lpy" "all"}
(let [valid #{"jvm" "cljs" "bb" "lpy" "phel" "all"}
unknown (remove valid *command-line-args*)]
(cond
(not (some? (seq *command-line-args*)))
Expand All @@ -69,7 +75,8 @@
"jvm" (run 'test-jvm)
"cljs" (run 'test-cljs)
"bb" (run 'test-bb)
"lpy" (run 'test-lpy))))))}
"lpy" (run 'test-lpy)
"phel" (run 'test-phel))))))}
new-test {:doc "Creates new test for the Clojure symbols named by <args>. Unqualified symbols assume clojure.core"
:requires ([new-test])
:task (new-test/new-test *command-line-args*)}}}
8 changes: 8 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"require": {
"phel-lang/phel-lang": "^0.37"
},
"scripts": {
"test": "XDEBUG_MODE=off ./vendor/bin/phel test"
}
}
Loading
Loading