You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Actions which use a Dockerfile are built every time they are invoked and it doesn't use any caching so this adds considerable time for your action to finally deploy a release. We are using a Dockerfile because we had to install balena cli because the balena sdk does not do everything we want on its own.
@klutchell installed the balena-cli as a project dependency and symlinked the binary to /usr/bin here so anything can call it effectively achieving the same thing as us installing the cli on container build (this also reduced build time since Github doesn't have to compile balena cli).
With this technique and knowing that Github's checkout action uses a preinstalled git binary shown here we no longer need a Dockerfile to install the CLI or for git to checkout branches...we can use git exactly how the checkout action does.
This change will significantly reduce the time for this action to deploy releases. We can also improve action speed by implementing #27.
Modify git.ts to use the installed git binary like Checkout action
Modify balena-utils.ts to use the balena cli binary in the node_modules folder
Remove Dockerfile
The text was updated successfully, but these errors were encountered:
I think another limitation is the dependencies the CLI has on the host machine. If we do commit node_modules then the cli binary still depends on python3, curl, etc I believe.
Actions which use a Dockerfile are built every time they are invoked and it doesn't use any caching so this adds considerable time for your action to finally deploy a release. We are using a Dockerfile because we had to install balena cli because the balena sdk does not do everything we want on its own.
@klutchell installed the balena-cli as a project dependency and symlinked the binary to /usr/bin here so anything can call it effectively achieving the same thing as us installing the cli on container build (this also reduced build time since Github doesn't have to compile balena cli).
With this technique and knowing that Github's checkout action uses a preinstalled git binary shown here we no longer need a Dockerfile to install the CLI or for git to checkout branches...we can use git exactly how the checkout action does.
This change will significantly reduce the time for this action to deploy releases. We can also improve action speed by implementing #27.
The text was updated successfully, but these errors were encountered: