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

Build binaries for each release #23

Closed
6 tasks done
bajtos opened this issue Feb 7, 2023 · 5 comments
Closed
6 tasks done

Build binaries for each release #23

bajtos opened this issue Feb 7, 2023 · 5 comments
Assignees
Labels
feature New feature or request

Comments

@bajtos
Copy link
Member

bajtos commented Feb 7, 2023

At the moment, we tell module builders to install Zinnia using cargo install. This requires Rust tooling, and the build takes a long time.

Let's implement a GitHub Actions workflow to build binaries for the common platforms and attach them to GitHub Releases.

We can draw inspiration from git-delta, Starship or other CLI tools written in Rust.

Nice to have, but most likely out of scope: package Zinnia for Homebrew, winget or Chocolatey, and Linux package managers (apt-get, rpm).

Tasks

Out of scope

Notes

Resources describing macOS notarisation:

@bajtos
Copy link
Member Author

bajtos commented Mar 6, 2023

We are not able to build release binaries on Windows:

https://github.com/filecoin-station/zinnia/actions/runs/4342544771/jobs/7583484387

2023-03-06T11:02:48.5823750Z The unwind destination does not have an exception handling instruction!
2023-03-06T11:02:49.0286127Z   invoke fastcc void @"_ZN8smallvec17SmallVec$LT$A$GT$4push17h1519892d17bccc62E"(ptr noalias noundef nonnull align 8 dereferenceable(1320) %26, ptr noalias nocapture noundef nonnull dereferenceable(328) %10)
2023-03-06T11:02:49.0291050Z           to label %32 unwind label %172
2023-03-06T11:02:49.0291741Z CleanupReturnInst must unwind to an EH block which is not a landingpad.
2023-03-06T11:02:49.0323813Z   cleanupret from %47 unwind label %172
2023-03-06T11:02:49.0325794Z The unwind destination does not have an exception handling instruction!
2023-03-06T11:02:49.0359390Z   invoke void %95(ptr noundef align 1 %81, ptr noalias noundef nonnull readonly align 8 dereferenceable(128) %3)
2023-03-06T11:02:49.0363623Z           to label %96 unwind label %172
2023-03-06T11:02:49.0364401Z The unwind destination does not have an exception handling instruction!
2023-03-06T11:02:49.0377807Z   invoke fastcc void @"_ZN8smallvec17SmallVec$LT$A$GT$4push17h1519892d17bccc62E"(ptr noalias noundef nonnull align 8 dereferenceable(1320) %99, ptr noalias nocapture noundef nonnull dereferenceable(328) %8)
2023-03-06T11:02:49.0378596Z           to label %105 unwind label %172
2023-03-06T11:02:49.0379228Z The unwind destination does not have an exception handling instruction!
2023-03-06T11:02:49.0391970Z   invoke fastcc void @"_ZN8smallvec17SmallVec$LT$A$GT$4push17h1519892d17bccc62E"(ptr noalias noundef nonnull align 8 dereferenceable(1320) %99, ptr noalias nocapture noundef nonnull dereferenceable(328) %7)
2023-03-06T11:02:49.0392834Z           to label %109 unwind label %172
2023-03-06T11:02:49.0393356Z The unwind destination does not have an exception handling instruction!
2023-03-06T11:02:49.0404804Z   invoke fastcc void @"_ZN8smallvec17SmallVec$LT$A$GT$4push17h1519892d17bccc62E"(ptr noalias noundef nonnull align 8 dereferenceable(1320) %143, ptr noalias nocapture noundef nonnull dereferenceable(328) %5)
2023-03-06T11:02:49.0405419Z           to label %149 unwind label %172
2023-03-06T11:02:49.0406002Z The unwind destination does not have an exception handling instruction!
2023-03-06T11:02:49.0416422Z   %156 = invoke fastcc noundef zeroext i1 @_ZN13futures_timer6native5delay5Delay6_reset17hc4965b87f426a0b4E(ptr noalias noundef nonnull align 8 dereferenceable(8) %151, i64 %153, i32 noundef %155)
2023-03-06T11:02:49.0417321Z           to label %157 unwind label %172
2023-03-06T11:02:49.0417834Z CleanupReturnInst must unwind to an EH block which is not a landingpad.
2023-03-06T11:02:49.0425836Z   cleanupret from %167 unwind label %172
2023-03-06T11:02:49.0429489Z CleanupPadInst not the first non-PHI instruction in the block.
2023-03-06T11:02:49.0831266Z   %175 = cleanuppad within none []
2023-03-06T11:02:49.0833253Z in function _ZN94_$LT$libp2p_identify..handler..Handler$u20$as$u20$libp2p_swarm..handler..ConnectionHandler$GT$19on_connection_event17h95a32c9225255a1cE
2023-03-06T11:02:49.0833964Z LLVM ERROR: Broken function found, compilation aborted!
2023-03-06T11:02:49.2688933Z �[0m�[0m�[1m�[31merror�[0m�[1m:�[0m could not compile `zinnia`

Related: rust-lang/rust#107781

@bajtos
Copy link
Member Author

bajtos commented Mar 6, 2023

After disabling LTO on Windows, I am getting even more confusing error 😢

zinnia.zinnia.110ceaee-cgu.0.rcgu.o : error LNK2001: 
  unresolved external symbol _ZN87_$LT$deno_fetch..FetchRequestBodyResource$u20$as$u20$deno_core..resources..Resource$GT$5close17h997a6b0d3cc3fee5E

D:\a\zinnia\zinnia\target\x86_64-pc-windows-msvc\release\deps\libenv_logger-6ca55d1e16f40731.rlib : fatal error LNK1107:
   invalid or corrupt file: cannot read at 0x9AD38

error: could not compile `zinnia` due to previous error

@bajtos bajtos mentioned this issue Mar 9, 2023
5 tasks
@bajtos
Copy link
Member Author

bajtos commented Mar 29, 2023

How to find the team-id value required by the notary tool:

❯ xcrun altool --list-providers -u your@apple-id

@bajtos bajtos added the feature New feature or request label Mar 30, 2023
@bajtos bajtos unpinned this issue Mar 30, 2023
@bajtos
Copy link
Member Author

bajtos commented Mar 30, 2023

Done 🥳

@bajtos bajtos closed this as completed Mar 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
Status: ✅ done
Development

No branches or pull requests

1 participant