airgap-it / airgap-vault

The AirGap Vault is installed on a spare smartphone that has no connection to any network, thus it is air gapped. This app handles the private key.
MIT License
396 stars 110 forks source link

Workflow Build on Github Actions #55

Closed mtwzim closed 3 years ago

mtwzim commented 3 years ago

Description of change

This pull request adds the workflow to GitHub Actions and updates the electron application based on wallet

Currently, the workflow does the build for the following platforms:

Unfortunately I was unable to complete the iOS build because I don't know how it works. The documentation I saw on the internet was not clear to me and I was unable to reproduce it.

The results of the builds are available in the GitHub Artifacts.

The entire flow takes approximately 21 minutes to complete, and you can see the action that run in the code for this pull request here: https://github.com/mtwzim/airgap-vault/actions/runs/803080965 (Artifacts are at the bottom of the workflow)

Pull-Request Checklist

sonarcloud[bot] commented 3 years ago

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

AndreasGassmann commented 3 years ago

Thank you for creating this Pull Request. We will take a closer look and give feedback over the next few days.

After a quick review, those are some of the things we have to take a look at:

mtwzim commented 3 years ago

Well, after a while I came back.

Update of latest commits

  • [x] The Vault does not support Ledger, only some files and dependencies related to the Ledger can be removed
  • [x] The tests should also be executed during the build. For security reasons, the tests should be executed in their own "job" so test dependencies cannot inject code into the production build.
  • [ ] Some of the jobs run on macos-latest. Is this necessary? We don't pay for github actions because the repo is public, but in the calculations macos-latest minutes are 10 times more expensive than ubuntu-latest minutes (Windows is 2x more). So if macos is not needed, we should switch to ubuntu.

Well, I removed all windows machines and only use ubuntu, I also reduced the number of macos machines and put ubuntu machines, however, I searched the internet and I believe it is not possible to remove all macos machines, as the build for apple needs xcode . Let me know something if you have a way to do this.

Well, the main build and netlify build are separate, but I can merge them quickly. Let me know what you think.

You can see the workflows here: https://github.com/mtwzim/airgap-vault/actions/runs/1043714201 - Main workflow https://github.com/mtwzim/airgap-vault/actions/runs/1043714204 - Netlify deploy

Bye! sorry for the delay.

mtwzim commented 3 years ago

The code was committed again

sonarcloud[bot] commented 3 years ago

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information