elixir icon indicating copy to clipboard operation
elixir copied to clipboard

Build precompiled and publish to S3

Open wingyplus opened this issue 3 years ago • 14 comments

Continuing #12038 from the discussion in https://github.com/elixir-lang/elixir/pull/12053#issuecomment-1208268123. I create a new workflow to publish a precompiled version to s3. Currently, it will run on every commit that pushes to main. If it's too much, we can change it to run every night (with a cron schedule).

wingyplus avatar Sep 06 '22 15:09 wingyplus

These are files that this workflow publishes. The screenshot below is tested on my bucket.

Screen Shot 2565-09-06 at 21 57 58

wingyplus avatar Sep 06 '22 15:09 wingyplus

@wojtekmach I addressed all issues that you commented. Please kindly review again. 🙇

wingyplus avatar Sep 10 '22 16:09 wingyplus

The freebsd raise an error:

gmake compile
ld-elf.so.1: /lib/libc.so.7: version FBSD_1.7 required by /usr/local/lib/erlang24/erts-12.3.2.2/bin/beam.smp not found
gmake: *** [Makefile:83: lib/elixir/src/elixir_parser.erl] Error 1

I'm not sure why. :(

wingyplus avatar Sep 10 '22 16:09 wingyplus

@wojtekmach @ericmj I addressed all comment suggestions. And I just added fastly purge cache after build but unfortunately, I've not fastly setup, so I can't test it by myself. :(

wingyplus avatar Sep 13 '22 14:09 wingyplus

I addressed all comment suggestions. And I just added fastly purge cache after build but unfortunately, I've not fastly setup, so I can't test it by myself. :(

Thank you. We can test this 👍

ericmj avatar Sep 13 '22 14:09 ericmj

Will this eventually mean we replace the place setup-beam fetches the pre-compiled from (https://github.com/erlef/setup-beam/blob/main/src/install-elixir.sh#L12)? Or is this just a normal redirect to S3 (thus no changes to setup-beam)?

paulo-ferraz-oliveira avatar Sep 13 '22 20:09 paulo-ferraz-oliveira

Will this eventually mean we replace the place setup-beam fetches the pre-compiled from (https://github.com/erlef/setup-beam/blob/main/src/install-elixir.sh#L12)? Or is this just a normal redirect to S3 (thus no changes to setup-beam)?

I’m expecting that there’s no changes on someone who fetch pre-compiled version. The file still put to the same place like before. :)

wingyplus avatar Sep 13 '22 21:09 wingyplus

Hi,

i just see the issue https://github.com/ScoopInstaller/Main/issues/3886#issuecomment-1239843242. I start thinking that we should bring back the shasum file per version for consumer usage reason. And it will consistent with current release workflow.

what do you think?

wingyplus avatar Sep 14 '22 14:09 wingyplus

Per https://github.com/elixir-lang/elixir/issues/12134 scoop might go with repo.hex.pm/builds/elixir/* and perhaps theyd use builds.txt for checksums

wojtekmach avatar Sep 14 '22 15:09 wojtekmach

Looks great. We need to coordinate merging this with changing bob.

I've open a PR https://github.com/hexpm/bob/pull/125 to remove main. But it seems we need to have building doc feature before removing it. If have anything need to do more, feel free to comment. 🙇

wingyplus avatar Sep 14 '22 16:09 wingyplus

I believe docs is the remaining thing!

wojtekmach avatar Sep 14 '22 17:09 wojtekmach

Yeah, i’ll try tackle that after this changes get merge.

wingyplus avatar Sep 14 '22 17:09 wingyplus

I believe we can only merge this after we stop Bob from building elixir main as not to keep overwriting builds.txt. But we can only stop bob from building main if we can build docs on GitHub. So I think we should do it as part of this PR. WDYT?

wojtekmach avatar Sep 15 '22 07:09 wojtekmach

I believe we can only merge this after we stop Bob from building elixir main as not to keep overwriting builds.txt. But we can only stop bob from building main if we can build docs on GitHub. So I think we should do it as part of this PR. WDYT?

I’m ok to continue on this PR.

wingyplus avatar Sep 15 '22 12:09 wingyplus