SFT-1707: added taproot to envoy export, added microsd export option for #1676
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# SPDX-FileCopyrightText: © 2021 Foundation Devices, Inc. <[email protected]> | |
# SPDX-License-Identifier: GPL-3.0-or-later | |
# | |
# validate_and_build.yaml - GitHub actions for Passport | |
name: Validate and Build | |
on: [push] | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-20.04 | |
services: | |
registry: | |
image: registry:2 | |
ports: | |
- 5000:5000 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: docker/setup-buildx-action@v2 | |
with: | |
driver-opts: network=host | |
- uses: docker/build-push-action@v4 | |
with: | |
push: true | |
context: . | |
cache-from: type=gha | |
cache-to: type=gha | |
tags: localhost:5000/foundation-devices/passport2:latest | |
- uses: extractions/setup-just@69d82fb0233557aec017ef13706851d0694e0f1d | |
- run: echo "DOCKER_IMAGE=localhost:5000/foundation-devices/passport2:latest" >> $GITHUB_ENV | |
- name: Lint the codebase | |
run: just lint | |
build-firmware: | |
name: Build Firmware | |
runs-on: ubuntu-20.04 | |
needs: [lint] | |
strategy: | |
matrix: | |
build: | |
[ | |
{ screen: 'mono', suffix: '-founders-passport', hash_suffix: '-founders'}, | |
{ screen: 'color', suffix: '-passport', hash_suffix: ''}, | |
] | |
services: | |
registry: | |
image: registry:2 | |
ports: | |
- 5000:5000 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: docker/setup-buildx-action@v2 | |
with: | |
driver-opts: network=host | |
- uses: docker/build-push-action@v4 | |
with: | |
push: true | |
context: . | |
cache-from: type=gha | |
cache-to: type=gha | |
tags: localhost:5000/foundation-devices/passport2:latest | |
- uses: extractions/setup-just@aa5d15c144db4585980a44ebfdd2cf337c4f14cb | |
- run: | | |
echo "DOCKER_IMAGE=localhost:5000/foundation-devices/passport2:latest" >> $GITHUB_ENV | |
echo "SCREEN_MODE=$(echo "${{ matrix.build.screen }}" | tr a-z A-Z)" >> $GITHUB_ENV | |
- name: Build | |
run: | | |
echo "$SIGNING_KEY" > ports/stm32/signing_key.pem | |
version=$(cat version.txt) | |
echo "version=$(cat version.txt)" >> $GITHUB_ENV | |
just hash signing_key.pem "${version}" build-Passport/v${version}-beta${{ matrix.build.suffix }}.bin ${{ matrix.build.screen}} | |
env: | |
SIGNING_KEY: ${{ secrets.UserSigningKey }} | |
- name: Upload firmware (unsigned) | |
uses: actions/upload-artifact@v2 | |
with: | |
name: v${{env.version}}-unsigned${{ matrix.build.suffix }}.bin | |
path: ports/stm32/build-Passport/firmware-${{ env.SCREEN_MODE }}.bin | |
- name: Upload firmware (signed) | |
uses: actions/upload-artifact@v2 | |
with: | |
name: v${{env.version}}-beta${{ matrix.build.suffix }}.bin | |
path: ports/stm32/build-Passport/v${{env.version}}-beta${{ matrix.build.suffix }}.bin | |
- name: Upload MD5 Hash | |
uses: actions/upload-artifact@v2 | |
with: | |
name: v${{env.version}}${{ matrix.build.hash_suffix }}-md5 | |
path: ports/stm32/build-Passport/v${{env.version}}-beta${{ matrix.build.hash_suffix }}-md5 | |
- name: Upload Build Hash | |
uses: actions/upload-artifact@v2 | |
with: | |
name: v${{env.version}}${{ matrix.build.hash_suffix }}-build-hash | |
path: ports/stm32/build-Passport/v${{env.version}}-beta${{ matrix.build.hash_suffix }}-build-hash | |
- name: Upload SHA256 Hash | |
uses: actions/upload-artifact@v2 | |
with: | |
name: v${{env.version}}${{ matrix.build.hash_suffix }}-sha256 | |
path: ports/stm32/build-Passport/v${{env.version}}-beta${{ matrix.build.hash_suffix }}-sha256 | |
- name: Upload Hashes Markdown | |
uses: actions/upload-artifact@v2 | |
with: | |
name: v${{env.version}}${{ matrix.build.hash_suffix }}-hashes.md | |
path: ports/stm32/build-Passport/v${{env.version}}-beta${{ matrix.build.hash_suffix }}-hashes.md | |
build-bootloader: | |
name: Build Bootloader | |
runs-on: ubuntu-20.04 | |
needs: [lint, build-firmware] | |
# TODO: PASS1-665. | |
strategy: | |
matrix: | |
screen: ['color'] | |
services: | |
registry: | |
image: registry:2 | |
ports: | |
- 5000:5000 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: docker/setup-buildx-action@v2 | |
with: | |
driver-opts: network=host | |
- uses: docker/build-push-action@v4 | |
with: | |
push: true | |
context: . | |
cache-from: type=gha | |
cache-to: type=gha | |
tags: localhost:5000/foundation-devices/passport2:latest | |
- uses: extractions/setup-just@aa5d15c144db4585980a44ebfdd2cf337c4f14cb | |
- run: | | |
echo "DOCKER_IMAGE=localhost:5000/foundation-devices/passport2:latest" >> $GITHUB_ENV | |
echo "SCREEN_MODE=$(echo ${{ matrix.screen }} | tr a-z A-Z)" >> $GITHUB_ENV | |
- name: Build | |
run: just build-bootloader ${{ matrix.screen }} | |
- name: Upload bootloader | |
uses: actions/upload-artifact@v2 | |
with: | |
name: bootloader-${{ env.SCREEN_MODE }}.bin | |
path: ports/stm32/boards/Passport/bootloader/arm/release/bootloader-${{ env.SCREEN_MODE }}.bin | |
build-simulator: | |
name: Build Simulator | |
runs-on: ubuntu-20.04 | |
needs: [lint, build-firmware] | |
strategy: | |
matrix: | |
screen: ['mono', 'color'] | |
services: | |
registry: | |
image: registry:2 | |
ports: | |
- 5000:5000 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: docker/setup-buildx-action@v2 | |
with: | |
driver-opts: network=host | |
- uses: docker/build-push-action@v4 | |
with: | |
push: true | |
context: . | |
cache-from: type=gha | |
cache-to: type=gha | |
tags: localhost:5000/foundation-devices/passport2:latest | |
- uses: extractions/setup-just@aa5d15c144db4585980a44ebfdd2cf337c4f14cb | |
- run: echo "DOCKER_IMAGE=localhost:5000/foundation-devices/passport2:latest" >> $GITHUB_ENV | |
- name: Build | |
run: just build-simulator ${{ matrix.screen }} | |
build-tools: | |
name: Build Tools | |
runs-on: ubuntu-20.04 | |
needs: [lint] | |
services: | |
registry: | |
image: registry:2 | |
ports: | |
- 5000:5000 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: docker/setup-buildx-action@v2 | |
with: | |
driver-opts: network=host | |
- uses: docker/build-push-action@v4 | |
with: | |
push: true | |
context: . | |
cache-from: type=gha | |
cache-to: type=gha | |
tags: localhost:5000/foundation-devices/passport2:latest | |
- uses: extractions/setup-just@aa5d15c144db4585980a44ebfdd2cf337c4f14cb | |
- run: echo "DOCKER_IMAGE=localhost:5000/foundation-devices/passport2:latest" >> $GITHUB_ENV | |
- name: Build | |
run: just tools |