trezor / trezord-go

:smiling_imp: Trezor Communication Daemon (written in Go)
GNU Lesser General Public License v3.0
241 stars 146 forks source link

Add build-installers step to CI #278

Closed igor-hnizdo closed 1 year ago

igor-hnizdo commented 1 year ago

Note that this takes about 25 minutes to build, every time, because docker on github does not use any caching; and some things are really slow (downloading all the musl libs, compiling Rust code, all the dnf updates).

We can use this thing below to improve the times, but I wonder if it's worth it adding some random action that overrides docker behavior. Probably not.

https://github.com/marketplace/actions/docker-layer-caching

vdovhanych commented 1 year ago

This builds packages without signing them, right? Let's maybe add the build output as artifacts. Would that be useful for testing purposes? @tsusanka

tsusanka commented 1 year ago

Let's maybe add the build output as artifacts. Would that be useful for testing purposes? @tsusanka

Yes, definitely could you add it @igor-hnizdo?

We can use this thing below to improve the times, but I wonder if it's worth it adding some random action that overrides docker behavior. Probably not.

Yeah, let's not worry about that, the development here is very rare, so it is enough.

igor-hnizdo commented 1 year ago

OK. We can do that definitely.

Yes, this builds all the binaries and all the packages. They will show warnings on macOS and Windows on install, but will work in general.

vdovhanych commented 1 year ago

Sure, id add it as artifacts fe.

      - name: Upload build results
        uses: actions/upload-artifact@v3
        with:
          name: trezord-go_bin
          path: |
            - path to file
            - path to file
igor-hnizdo commented 1 year ago

I just did that, a bit differently from you (I made 2 steps for the 2 folders)

vdovhanych commented 1 year ago

cc @tsusanka Do we need to have binaries? Wouldn't the installer be enough for testing?

igor-hnizdo commented 1 year ago

Well the installer is enough, but ... I guess sometimes you want to test just the binary? So you don't need to go through uninstall-reinstall cycle

tsusanka commented 1 year ago

I have fixed some typos in https://github.com/trezor/trezord-go/commit/afce7a3ecb556e0bf00f0648933d12ea3de35414. With an incorrect commit message 🙄.