-
-
Notifications
You must be signed in to change notification settings - Fork 146
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
Revamp makefile #1402
Revamp makefile #1402
Conversation
Thanks for the PR! Going to give the code a quick look and I'll give it a test when I can. |
arf, I force pushed the branch to remove the while at it, for |
Good question. I don't think we have a policy on that. It's fine :)
It's currently setup so that the vscode brightscript extension creates and deploys the testing app (the unit tests have to be ran on the actual device). You can change it to make a zip by setting the |
so I reworked it more, maybe its overeaching, tell me what you think
so now, there is a clearer separation of how to dev with each tool: debugging via VScode or use the CLI and telnet; deploying? press run on VScode or run
I didn't touched the .github/workflows/lint.yml but it can be easily rewritten to just run
perfect! added a commit to generate the pkg (by removing the line thus using the default as in the other bsconfig) :) |
35cdb27
to
c90e229
Compare
btw, I'm using |
This pull request has merge conflicts. Please resolve the conflicts so the PR can be reviewed. Thanks! |
1 similar comment
This pull request has merge conflicts. Please resolve the conflicts so the PR can be reviewed. Thanks! |
Sorry I created a couple merge conflicts. If you have any questions or you just want me to do it give me a ping. |
no worries, it was easy :) |
I think you did a great job 👍 I was a little bummed at first to see method 2 get cut but it's essentially the same thing as the
I'm glad you didn't 😄 Technically we could change the workflows to use We will have to update the workflow though since you changed the command that lints brightscript. There was a couple little things I saw in the devguide I'll leave comments for soon |
I tried to test this using WSL with ubuntu 22.04 but that didn't work because
|
hum, ubuntu 22.04 nodejs pkg is version 12, maybe you simply need to |
I had originally installed ubuntu 22 using chocolaty (or some other windows package manager) so apparently that was my issue because after I reinstalled ubuntu 22 using the windows store I got nodejs v12 when i installed npm. That being said, is npm the right package to install? After installing npm I ran
I know it's possible for me to manually install a higher version but shouldn't the docs give instructions to install a higher version of node? Looks like we'd need at least EDIT: Here's the instructions to install the latest versions of nodejs https://github.com/nodesource/distributions/blob/master/README.md#debian-and-ubuntu-based-distributions |
The latest LTS releases for nodejs that are still receiving updates are 18 and 20. Support for 16 just ended a month ago. If we end up copying all the instructions for debian we might as well recommend one of the newer versions. Otherwise we'll just run into the same problem with dependencies when they eventually stop supporting v14 That's crazy that the 22.04 LTS version of ubuntu would choose to use nodejs v12. Ubuntu 22.04 came out April 21st 2022 and is supported for 5 years while nodejs v12 stopped receiving updates 9 days later on April 30th 2022 🤔 |
yeah, the Ubuntu LTS are not really following upstream's LTS as their developpement cycles and length of LTS doesn't always match. they even ended up supporting a non-LTS kernel some years ago: that was cumbersome to say the least.
I'm afraid we are falling into the system-specific rabbit hole now: there is two package manager on Ubuntu now, |
That works for me 👍 |
The docs say to run I'm not sure where this would fit best, but it would be nice to have a list of supported make commands somewhere to have as a quick reference. PS: I'm still using WSL to test. I don't know why but using WSL makes the npm run commands take forever. |
This pull request has merge conflicts. Please resolve the conflicts so the PR can be reviewed. Thanks! |
it doesn't build it twice on my system (Linux w/ GNU Make 4.4.1), neither should it. the package is build only if it doesn't exists already (defaulting to build-dev in this case). that allows for users to build-{dev,prod,tests} at their will. I know of some issues with old FAT filesystem (it does have timestamp with a 2-second resolution which might confuse it on rapidly firing make), but I don't think anyone is building code directly on it.
adding a
and there goes the rebase. |
Can we show a more helpful error message when the env vars are missing? This is the error I got when running
Also, can we show the full list of commands when running When running
|
* rewrite it in a single, more standard makefile * forward most commands to npm * support parallel use * get rid of load-time auth check and trust user * rework targets * `prep_commit` -> `format`, `lint` * `dev`, `beta`, `release` -> `build-dev`, `build-prod`, `build-tests` * `prep_staging`, `package`: rm * update devguide accordingly Fixes: jellyfin#1401
we could but that makes the Makefile way less readable as we would need to redefine the targets in every
updated to show each target ~group, and document the needed environment, unconditionnaly.
added a "launch" target to do that, and running it at the end of "install". |
Changes
Makefile is gone out of sync since at least #1173 so I updated it (a bunch).
make -j get_images
is nice to have)prep_commit
->format
,lint
dev
,beta
,release
->build-dev
,build-prod
,build-tests
: match closer to npmprep_staging
,package
: now uneededpackage.json: also remove unworking targetit was needednpm run lint
now runs every lintermake build-tests
behaving the same as the other build-* targetsFixes
#1401