trezor / trezord-go

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

Add build-installers step to CI #278

Closed igor-hnizdo closed 2 years ago

igor-hnizdo commented 2 years 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 2 years 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 2 years 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 2 years 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 2 years 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 2 years ago

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

vdovhanych commented 2 years ago

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

igor-hnizdo commented 2 years 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 2 years ago

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