Conversation
|
Ah sorry, meant to do this on our local fork, but it would also be nice to have this in the upstream! This simple format of Aptfile is how Heroku does it supposedly. |
|
No problem. Always happy to pull in improvements. This is quite extensive though and does make some behavior changes, which could be potentially breaking and definitely is in some areas for other users. Can you provide a description of the features in this change? BTW, I am working on a v2 (dev-v2 branch) but it is broken right now, which is all Go based (logic grew beyond scripting lang features). There is also quite a bit of AI slop I have to curate. |
|
The goal was to make it work locally with our infra test case, there were a bunch of edge cases that I had to bash my head through as you can see. I'd wait until I'm done and I'll have something cleaner to review. |
|
SG. You may want to consider having a runner with a rebuilt image daily for your new and/or updated packages. There are GitHub actions that will do this for you and would create less dev hours overall to maintain. |
|
we are going that direction but right now I just wanted to do "one quick thing" to make packages reference a single source of truth in our monorepo that took a few more hours than I expected 😂 |
|
ok this should be ready to go, I cleaned it up and removed the unnecessary parts. |
Does 2 main things:
Note
Adds Aptfile-based package sourcing (merge with input), a
use_aptfiletoggle, makespackagesoptional, and persists the normalized package list for restore; docs updated with examples.action.yml):inputs.packagesoptional; addinputs.use_aptfile(defaulttrue).use_aptfiletopre_cache_action.shand wire env vars accordingly.pre_cache_action.sh):use_aptfile.${cache_dir}/packages.txtand quote writes.post_cache_action.sh):${cache_dir}/packages.txtif present; fallback to input.lib.sh):parse_aptfileutility to extract packages fromAptfile.README.md):use_aptfileflag, and examples (Aptfile-only, combined, disabling).Written by Cursor Bugbot