document how to run the tests, and fix the build scripts on Debian and Ubuntu #8
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: mark/elk-herd#8
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "cdudek/docs/build-and-test-notes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Thank you for elk-herd, and for the code tour in CONTRIBUTING.md. It made finding my way around a 17k line Elm app far easier than I expected.
I built it from source this week and ran into three small things. This is documentation plus a one character change in two shell scripts. No Elm was touched.
How to run the tests.
tests/has 125 passing tests, but nothing says how to run them, and the obvious invocations fail:npx elm-testandelm-test@latestnow expect elm 0.19.2 and stop withELM VERSION MISMATCH, while theelm-test@0.19.1tag is deprecated and runs nothing at all.npx elm-test@0.19.1-revision17works (125 passed, about 1.5s). Added as its own step in the README.The build scripts need bash. Both declare
#!/bin/shbut usefunction name { }, andmake-prod.shalso useslocal. On macOS/bin/shis bash, so this never shows. On Debian and Ubuntu/bin/shis dash, and the script stops atSyntax error: "}" unexpected, which leaves no way to build from source there. Changed the shebang to#!/bin/bashin both. I checked the failure under dash, and rebuilt on macOS afterwards to confirm nothing changed there.Elm 0.19.1 on Apple Silicon is an x86_64 binary and needs Rosetta 2. One sentence, plus
npm install -g elm@latest-0.19.1as an alternative.I also added a short "Build system notes" section to CONTRIBUTING.md covering the two things that cost me the most time: the
Debug.elmsymlink that the build rewrites (so switching between a dev and a prod build always leaves it dirty ingit status), and the--optimizefirst pass inmake-dev.shthat doubles as a check for liveDebugcalls. Both are neat, and both are invisible until you trip over them.Everything here is prose in your voice as best I could match it, so please rewrite or drop anything that doesn't sound like you. Thanks again for giving this away for free.
🤖 Generated with Claude Code
Please do not use Claude. If you're not going to take the time to write it... I don't want to take the time to review it.
It is too bad, as these changes seem useful.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.