-
Notifications
You must be signed in to change notification settings - Fork 1.3k
feat!: migrating from Makefile to Just #7187
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat!: migrating from Makefile to Just #7187
Conversation
Apologies about the unrequested change. Opening this as **demo** one of some QoL improvement suggestions for @nellshamrell . It's up to you all do decide :) ## Migrate from Makefile to Justfile This PR converts the existing Makefile to a Justfile for improved developer experience and modern tooling. ### Changes Made **Core Migration:** - Converted all Make targets to Just recipes with equivalent functionality - Updated syntax from Make to Just format (removed `#!/bin/sh`, updated variable references) - Replaced `$(shell pwd)` with `{{justfile_directory()}}` for path resolution - **All original functionalities preserved** - no behavioral changes to existing workflows **Enhanced User Experience:** - Added `help` recipe that displays all available commands with descriptions - Improved recipe descriptions for better clarity in help output - Added project title and essential user information **Container Runtime:** - Renamed `build` → `docker-build` for explicit Docker usage - Fixed directory creation before container execution to prevent volume mount errors **Documentation Updates:** - Updated README.md to reference [Just](https://just.systems/) instead of Make - Changed all command examples from `make` to `just` ### Testing - **Verified `just website` works end-to-end**: Successfully generated 625 articles and hosted local server on port 8000 - **Verified `just email` works end-to-end**: Successfully generated email template `622-2025-10-22-email.html` - **Verified individual email commands**: Both `just generate-email` and `just optimize-email` work correctly as standalone operations - **Verified clean operations**: Both `just clean-website` and `just clean-email` work correctly - All container operations function correctly with the new justfile syntax ### Usage ```bash # Show all available commands just help # Main workflows (same as before) just website # Generate and host website locally just email # Generate and optimize email template just copy-website-contents # Sync to github.io repo # Container build just docker-build # Build Docker image ``` ### Benefits - **Better UX**: Built-in help system with clear command descriptions - **Modern tooling**: Just provides better syntax and features than Make - **Improved reliability**: Fixed volume mounting issues - **Full compatibility**: All existing workflows remain unchanged All existing workflows remain unchanged - users can simply replace `make` with `just` in their commands. Signed-off-by: andreacfromtheapp <[email protected]>
4ccd5bf to
fcef42e
Compare
|
Thank you @andreacfromtheapp! And my apologies for not responding to your email, things have been very busy on my end. I will test this out this week (I welcome any of my fellow editors to do the same - especially @mariannegoldin and @bdillo ) |
|
Hi @nellshamrell , don't worry about it. I figured you'd be busy. I hope this is welcome by other reviewers as well 🤞 |
|
@andreacfromtheapp this is FANTASTIC. I really appreciate you preserving all of the existing functionality (verified that on my system). I also really appreciate the addition of the I'm going to bring this to the attention of the other editors who publish the newsletter (we rotate that duty) and see if this works for them. If it does, I will update with some ideas of when it would work well to merge this. |
Signed-off-by: andreacfromtheapp <[email protected]>
|
We are going to move forward with this! Working out the timing, but this will be merged very soon, thank you so much for this work! |
|
hi @nellshamrell and everyone :) I'm glad you all liked this. Happy to contribute!!! |
|
Thank you so much @andreacfromtheapp |
|
@nellshamrell and everyone: is it ok for me to open more PR/issuer? There were more suggestions in our email exchange. Granted: not all of them may be accepted or as easy to apply. |
Apologies about the unrequested change. Opening this as demo one of some QoL improvement suggestions for @nellshamrell . It's up to you all do decide :)
Migrate from Makefile to Justfile
This PR converts the existing Makefile to a Justfile for improved developer experience and modern tooling.
Changes Made
Core Migration:
#!/bin/sh, updated variable references)$(shell pwd)with{{justfile_directory()}}for path resolutionEnhanced User Experience:
helprecipe that displays all available commands with descriptionsContainer Runtime:
build→docker-buildfor explicit Docker usageDocumentation Updates:
maketojustTesting
just websiteworks end-to-end: Successfully generated 625 articles and hosted local server on port 8000just emailworks end-to-end: Successfully generated email template622-2025-10-22-email.htmljust generate-emailandjust optimize-emailwork correctly as standalone operationsjust clean-websiteandjust clean-emailwork correctlyUsage
Benefits
All existing workflows remain unchanged - users can simply replace
makewithjustin their commands.