WIP: workflows for building binaries#135
Conversation
|
@jesec I would like to know your opinion here |
|
I also found a typo here: https://github.com/jesec/pkg-fetch/blob/master/.github/workflows/build-publish.yml#L125 |
|
@jesec Seems the linux static are throwing errors see https://github.com/robertsLando/pkg-fetch/runs/2202409337?check_suite_focus=true |
| @@ -0,0 +1,13 @@ | |||
| FROM node:buster | |||
There was a problem hiding this comment.
Note that the binaries are not going to work with any distro older than Debian Buster.
Per previous discussions, use RHEL toolchain instead unless you have a better idea.
There was a problem hiding this comment.
I have no experience in this, could you fix it?
| TARGET_TOOLCHAIN_ARCH=aarch64 | ||
| TARGET_NODE_ARCH=arm64 | ||
| file: ./docker/Dockerfile.linuxstatic | ||
| platforms: linux/arm64 |
There was a problem hiding this comment.
This is a cross toolchain. Don’t emulate arm64. Use x86-64 for toolchain.
There was a problem hiding this comment.
I have no experience in this, could you fix it?
Missing |
|
@jesec IMO we should also pass github credentials down to dockerfiles in order to allow workflow to send binaries as soon as possible after they finish the build instead of using the upload artifacts action |
No. IMO we should remove the upload functions from the (JS-side) codes, and implement the functions in the workflows. Additionally, we may want to upload the binaries manually, to sync with the release. |
|
The problem is that expecially when building with docker you could build just 1 binary before the 6 hours limit is reached and the job cancelled, you could build 2 and for the other one have no binaries uploaded... Otherwise we should use a matrix to build just one nodejs version for time |
Each Docker run builds one binary only. Each job executes one Docker run only. |
|
ATM the upload script builds all available patches that's why I was asking. In this case we could make the node version a workflow input and we could create a workflow dispatcher that triggers this workflow for each node version found in patches using this: https://github.com/marketplace/actions/workflow-dispatch |
Host Node.js version is unrelated. We would have to add a function to allow building for specific Node version only. |
|
I know that, I thought we could get the version from the process version in that way. BTW we also could pass it as an env var |
|
Closed in favor of #153. |
This PR adds required workflows to build binaries. As a starting point I have took the workflows from @jesec fork https://github.com/jesec/pkg-fetch then I have edited the upload script to take only node latest 3 lts versions found in patches.
Fixes #124
Fixes #137