Skip to content

App Improvement

App Improvement #58

Workflow file for this run

name: Build and Release Installers
on:
workflow_run:
workflows: ["Build and run zemu tests"]
types:
- completed
branches:
- master
- main
workflow_dispatch:
pull_request:
branches:
- master
- main
jobs:
check_success:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' || github.event_name == 'pull_request' }}
steps:
- run: echo "Build and functional tests passed, proceeding with release"
build_package_nanosp:
name: Build Nano S Plus Installer
runs-on: ubuntu-latest
needs: check_success
container:
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
options: --user root
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Build Nano S Plus
shell: bash -l {0}
run: |
PRODUCTION_BUILD=0 make installers
- name: Upload installer artifact
if: github.event_name != 'pull_request'
uses: actions/upload-artifact@v4
with:
name: installer-nanosp
path: ./pkg/installer_s2.sh
build_package_stax:
name: Build Stax Installer
runs-on: ubuntu-latest
needs: check_success
container:
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
options: --user root
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Build Stax
shell: bash -l {0}
run: |
PRODUCTION_BUILD=0 make installers
- name: Upload installer artifact
if: github.event_name != 'pull_request'
uses: actions/upload-artifact@v4
with:
name: installer-stax
path: ./pkg/installer_stax.sh
build_package_flex:
name: Build Flex Installer
runs-on: ubuntu-latest
needs: check_success
container:
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
options: --user root
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Build Flex
shell: bash -l {0}
run: |
PRODUCTION_BUILD=0 make installers
- name: Upload installer artifact
if: github.event_name != 'pull_request'
uses: actions/upload-artifact@v4
with:
name: installer-flex
path: ./pkg/installer_flex.sh
build_package_apex_p:
name: Build Apex P Installer
runs-on: ubuntu-latest
needs: check_success
container:
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
options: --user root
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Build Apex P
shell: bash -l {0}
run: |
PRODUCTION_BUILD=0 make installers
- name: Upload installer artifact
if: github.event_name != 'pull_request'
uses: actions/upload-artifact@v4
with:
name: installer-apex_p
path: ./pkg/installer_apex_p.sh
create_release:
name: Create GitHub Release
runs-on: ubuntu-latest
if: github.event_name != 'pull_request'
needs: [build_package_nanosp, build_package_stax, build_package_flex, build_package_apex_p]
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: installers
- name: Install ledgerblue
run: pip install --break-system-packages ledgerblue
- name: Get tag name
id: tag
run: |
# Get tag from the first installer
chmod +x installers/installer-nanosp/installer_s2.sh
echo "tag_name=$(installers/installer-nanosp/installer_s2.sh version)" >> $GITHUB_OUTPUT
- name: Create Release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: |
installers/installer-nanosp/installer_s2.sh
installers/installer-stax/installer_stax.sh
installers/installer-flex/installer_flex.sh
installers/installer-apex_p/installer_apex_p.sh
tag_name: ${{ steps.tag.outputs.tag_name }}
draft: false
prerelease: false
name: ${{ steps.tag.outputs.tag_name }}