When I publish my Meteor package, I get a message like this:
You're not done publishing yet! This package contains binary code and must be built on all of Meteor's
architectures, including this machine's architecture.
You can access Meteor provided build machines, pre-configured to support older versions of MacOS and
Linux, by running:
meteor admin get-machine os.osx.x86_64
meteor admin get-machine os.linux.x86_64
meteor admin get-machine os.linux.x86_32
meteor admin get-machine os.windows.x86_32
On each machine, run:
meteor publish-for-arch csats:email@example.com
For more information on binary ABIs and consistent builds, see:
Why? Seriously–I’m going to get a repetitive stress injury. Has anyone automated these steps?
Side notes: I can’t get an OS X machine and can’t build for Windows.
I hope no one. But it’s not that complicated. I tried to do. But, meteor build servers couldn’t build my projects. So I give up. Here are instructions.
- You can get a json file with the SSH server login info:
meteor admin get-machine os.linux.x86_32 --json
- Then you can use nodemiral or similar to invoke commands: https://github.com/arunoda/nodemiral
- You may also need to copy the
~/.meteorsession to the build server as well (to authenticate)
Yes the MDG has automated the part that you have to do on the build machine for the meteor-tool. This reduced the task to:
- Enter credentials.
- Paste and execute the four commands into new shells.
- Get a coffee and wait until the publishing has finished.
Reducing this to a one line command shouldn’t be that hard.
Nice find, thanks!
I need to dig further. Surely they also automated publishing their other packages with binary dependencies.