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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 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