Skip to content
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

Mix releases, aarch64 host_core tarball, better Makefiles #451

Merged
merged 8 commits into from
Aug 25, 2022

Conversation

brooksmtownsend
Copy link
Member

@brooksmtownsend brooksmtownsend commented Aug 23, 2022

Upgrading from distillery to mix releases alongside upgrading to OTP 25 due to failures in builds. Distillery is largely unmaintained at this point anyways and mix releases are the officially supported way to create releases.

This PR:

  1. Changes wasmcloud_host and host_core application tarballs to be mix releases rather than Distillery releases. This is the officially supported method of creating application releases for Elixir applications and is much better maintained. This is also a breaking change as mix releases do not have the same command arguments.
  2. Adds a host_core docker image that builds off of an alpine base. This is extracted as aarch64-linux-musl-core.tar.gz
  3. Extracts the tarball from the wasmcloud_host arm64 Docker image and tags it as aarch64-linux.tar.gz
  4. Updates our mix.lock dependencies, superceding Cloudevents lib update #447 and simplifying dependencies
  5. Cleans up Makefiles, notably adding make build-image as an easy, one-step target in both host_core and wasmcloud_host

Here's an example of the full, successful release, you can see tarballs for all of the above targets https://github.com/wasmCloud/wasmcloud-otp/actions/runs/2919947109

I've also done some spiking on BEAM burritos (work in https://github.com/wasmCloud/wasmcloud-otp/tree/feat/mmmm-beam-burrito if you're curious) however I'm thinking that this would require too much change. The speedbumps I hit with BEAM burritos are around:

  1. Adding zig as a build tool dependency
  2. Running a BEAM burrito when permissions are restricted (you have to extract the tarball somewhere)
  3. Maintenance (the team behind burrito is fantastic, I'm simply concerned that issues in burrito releases may take longer than mix releases)

That being said, I'd still love to explore it in the future.

Signed-off-by: Brooks Townsend <[email protected]>

moved to otp 25 for host_core

Signed-off-by: Brooks Townsend <[email protected]>

getting closer

Signed-off-by: Brooks Townsend <[email protected]>

no distillery

Signed-off-by: Brooks Townsend <[email protected]>

rustflags

Signed-off-by: Brooks Townsend <[email protected]>

config.toml

Signed-off-by: Brooks Townsend <[email protected]>

cross from main

Signed-off-by: Brooks Townsend <[email protected]>

docker build matrix

Signed-off-by: Brooks Townsend <[email protected]>

correct _ to -

Signed-off-by: Brooks Townsend <[email protected]>

fixedy fix fix

Signed-off-by: Brooks Townsend <[email protected]>

no env in matrix strategy

Signed-off-by: Brooks Townsend <[email protected]>

context

Signed-off-by: Brooks Townsend <[email protected]>

host_core

Signed-off-by: Brooks Townsend <[email protected]>

better

Signed-off-by: Brooks Townsend <[email protected]>

platform and load

Signed-off-by: Brooks Townsend <[email protected]>

no load, 0.57.0

Signed-off-by: Brooks Townsend <[email protected]>

v1s 2s and 3s

Signed-off-by: Brooks Townsend <[email protected]>

too many v2s

Signed-off-by: Brooks Townsend <[email protected]>

try not using name

Signed-off-by: Brooks Townsend <[email protected]>

install use

Signed-off-by: Brooks Townsend <[email protected]>

only wasmcloud

Signed-off-by: Brooks Townsend <[email protected]>

no nif wait

Signed-off-by: Brooks Townsend <[email protected]>

skippity skip

Signed-off-by: Brooks Townsend <[email protected]>

temporary no wasted actions

Signed-off-by: Brooks Townsend <[email protected]>

real tag

Signed-off-by: Brooks Townsend <[email protected]>

temp comment

Signed-off-by: Brooks Townsend <[email protected]>

login before setup

Signed-off-by: Brooks Townsend <[email protected]>

buildxv2

Signed-off-by: Brooks Townsend <[email protected]>

ubuntu 22 weeee

Signed-off-by: Brooks Townsend <[email protected]>

os release

Signed-off-by: Brooks Townsend <[email protected]>

does matrix break

Signed-off-by: Brooks Townsend <[email protected]>

exact same

Signed-off-by: Brooks Townsend <[email protected]>

pheenix

Signed-off-by: Brooks Townsend <[email protected]>

ugh

Signed-off-by: Brooks Townsend <[email protected]>

otp 25

Signed-off-by: Brooks Townsend <[email protected]>

no otp 25

Signed-off-by: Brooks Townsend <[email protected]>

1.13.3?

Signed-off-by: Brooks Townsend <[email protected]>

new new

Signed-off-by: Brooks Townsend <[email protected]>

no matrix

Signed-off-by: Brooks Townsend <[email protected]>

back it up

Signed-off-by: Brooks Townsend <[email protected]>

grab from strictly testing

Signed-off-by: Brooks Townsend <[email protected]>
Signed-off-by: Brooks Townsend <[email protected]>

full CI test

Signed-off-by: Brooks Townsend <[email protected]>
Signed-off-by: Brooks Townsend <[email protected]>

corrected if statement for grabbing nifs

Signed-off-by: Brooks Townsend <[email protected]>

1.13.3

Signed-off-by: Brooks Townsend <[email protected]>
Signed-off-by: Brooks Townsend <[email protected]>
Signed-off-by: Brooks Townsend <[email protected]>

backed out a few mix.lock changes

Signed-off-by: Brooks Townsend <[email protected]>
@brooksmtownsend brooksmtownsend changed the title Feat/mix releases Mix releases, aarch64 host_core tarball, better Makefiles Aug 24, 2022
@brooksmtownsend brooksmtownsend marked this pull request as ready for review August 24, 2022 17:24
elixir: [1.13.3]
otp: [23, 24]
elixir: [1.13.4]
otp: [25]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants