Skip to content

feat: better error handling in main #37

feat: better error handling in main

feat: better error handling in main #37

Workflow file for this run

name: 'publish'
on:
push:
branches:
- main
paths:
- '**.rs'
workflow_dispatch:
concurrency: production
permissions:
contents: write
jobs:
publish:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/[email protected]
- name: Restore Apt packages
uses: awalsh128/[email protected]
with:
packages: liblzma-dev libclang1 gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu
version: "1.0"
- name: Install Rust toolchain
uses: dtolnay/[email protected]
with:
targets: "armv7-unknown-linux-gnueabihf,aarch64-unknown-linux-gnu"
- name: Restore Rust cache
uses: Swatinem/[email protected]
- name: Setup cargo-binstall
uses: cargo-bins/[email protected]
- name: Install cargo-deb
run: cargo binstall --force --no-confirm [email protected]
- name: Tag (Dry run)
id: tag-dry
uses: anothrNick/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INITIAL_VERSION: "1.0.0"
DRY_RUN: true
- name: Static build (ARM64)
run: RUSTFLAGS='-C target-feature=+crt-static' cargo build --locked --release --target=aarch64-unknown-linux-gnu
- name: Static build (ARMv7)
run: RUSTFLAGS='-C target-feature=+crt-static' cargo build --locked --release --target=armv7-unknown-linux-gnueabihf
- name: Static deb build (ARM64)
run: RUSTFLAGS='-C target-feature=+crt-static' cargo deb --deb-version ${{ steps.tag-dry.outputs.new_tag }} --locked --target=aarch64-unknown-linux-gnu
- name: Static deb build (ARMv7)
run: RUSTFLAGS='-C target-feature=+crt-static' cargo deb --deb-version ${{ steps.tag-dry.outputs.new_tag }} --locked --target=armv7-unknown-linux-gnueabihf
- name: Rename binaries
run: |
cp target/aarch64-unknown-linux-gnu/release/rspi-bios ./rspi-bios_${{ steps.tag-dry.outputs.new_tag }}_aarch64-unknown-linux-gnu
cp target/armv7-unknown-linux-gnueabihf/release/rspi-bios ./rspi-bios_${{ steps.tag-dry.outputs.new_tag }}_armv7-unknown-linux-gnueabihf
cp target/aarch64-unknown-linux-gnu/debian/rspi-bios_${{ steps.tag-dry.outputs.new_tag }}_arm64.deb ./rspi-bios_${{ steps.tag-dry.outputs.new_tag }}_arm64.deb
cp target/armv7-unknown-linux-gnueabihf/debian/rspi-bios_${{ steps.tag-dry.outputs.new_tag }}_armhf.deb ./rspi-bios_${{ steps.tag-dry.outputs.new_tag }}_armhf.deb
- name: Tag (Real run)
id: tag-real
uses: anothrNick/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CUSTOM_TAG: ${{ steps.tag-dry.outputs.new_tag }}
DRY_RUN: false
- name: Release
uses: softprops/[email protected]
with:
tag_name: ${{ steps.tag-dry.outputs.new_tag }}
fail_on_unmatched_files: true
files: |
rspi-bios_${{ steps.tag-dry.outputs.new_tag }}_aarch64-unknown-linux-gnu
rspi-bios_${{ steps.tag-dry.outputs.new_tag }}_armv7-unknown-linux-gnueabihf
rspi-bios_${{ steps.tag-dry.outputs.new_tag }}_arm64.deb
rspi-bios_${{ steps.tag-dry.outputs.new_tag }}_armhf.deb