Files
UsbMakroBoard/.gitea/workflows/build.yaml
Timo Behrendt 36e37c46ba ci: unify ci and cd build step (#6)
Reviewed-on: #6
Co-authored-by: Timo Behrendt <t.behrendt@t00n.de>
Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
2025-12-27 13:03:21 +01:00

50 lines
1.3 KiB
YAML

name: Build
on:
workflow_call:
inputs:
runner:
type: string
default: "linux_amd64"
arch:
type: string
default: "amd64"
jobs:
build:
runs-on:
- ubuntu-latest
- ${{ inputs.runner }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
with:
fetch-depth: 0
- run: |
sudo apt-get update
sudo apt-get install -y build-essential cmake zip
- name: Build
run: |
mkdir -p build
cd build
cmake ..
cmake --build .
- name: Verify binary
run: |
test -f build/usbmakroboard && echo "Binary built successfully" || exit 1
- name: Create zip archive
run: |
cd build
zip usbmakroboard-linux-${{ inputs.arch }}.zip usbmakroboard
- name: Generate checksum
run: |
cd build
sha256sum usbmakroboard-linux-${{ inputs.arch }}.zip > usbmakroboard-linux-${{ inputs.arch }}.zip.sha256
- name: Upload artifacts
uses: ChristopherHX/gitea-upload-artifact@v4
with:
name: usbmakroboard-${{ inputs.arch }}
path: |
build/usbmakroboard-linux-${{ inputs.arch }}.zip
build/usbmakroboard-linux-${{ inputs.arch }}.zip.sha256
retention-days: 1