mirror of
https://github.com/meshtastic/firmware.git
synced 2026-05-29 11:18:53 -04:00
76 lines
2.6 KiB
YAML
76 lines
2.6 KiB
YAML
name: Build Debian Source Package
|
|
|
|
on:
|
|
workflow_call:
|
|
secrets:
|
|
PPA_GPG_PRIVATE_KEY:
|
|
required: false
|
|
inputs:
|
|
series:
|
|
description: Ubuntu/Debian series to target
|
|
required: true
|
|
type: string
|
|
build_location:
|
|
description: Location where build will execute
|
|
required: true
|
|
type: string
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
build-debian-src:
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v6
|
|
with:
|
|
submodules: recursive
|
|
path: meshtasticd
|
|
|
|
- name: Install deps
|
|
shell: bash
|
|
working-directory: meshtasticd
|
|
run: |
|
|
# Build-tools (notably platformio) come from the Meshtastic project
|
|
# on the OpenSUSE Build Service:
|
|
# https://build.opensuse.org/project/show/network:Meshtastic:build-tools
|
|
echo 'deb http://download.opensuse.org/repositories/network:/Meshtastic:/build-tools/xUbuntu_24.04/ /' \
|
|
| sudo tee /etc/apt/sources.list.d/network:Meshtastic:build-tools.list
|
|
curl -fsSL https://download.opensuse.org/repositories/network:Meshtastic:build-tools/xUbuntu_24.04/Release.key \
|
|
| gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/network_Meshtastic_build-tools.gpg >/dev/null
|
|
sudo apt-get update -y --fix-missing
|
|
sudo apt-get install -y build-essential devscripts equivs
|
|
sudo mk-build-deps --install --remove --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control
|
|
|
|
- name: Import GPG key
|
|
if: github.event_name != 'pull_request' && github.event_name != 'pull_request_target'
|
|
uses: crazy-max/ghaction-import-gpg@v7
|
|
with:
|
|
gpg_private_key: ${{ secrets.PPA_GPG_PRIVATE_KEY }}
|
|
id: gpg
|
|
|
|
- name: Get release version string
|
|
working-directory: meshtasticd
|
|
run: |
|
|
echo "deb=$(./bin/buildinfo.py deb)" >> $GITHUB_OUTPUT
|
|
env:
|
|
BUILD_LOCATION: ${{ inputs.build_location }}
|
|
id: version
|
|
|
|
- name: Fetch libdeps, package debian source
|
|
working-directory: meshtasticd
|
|
run: debian/ci_pack_sdeb.sh
|
|
env:
|
|
SERIES: ${{ inputs.series }}
|
|
GPG_KEY_ID: ${{ steps.gpg.outputs.keyid || '' }}
|
|
PKG_VERSION: ${{ steps.version.outputs.deb }}
|
|
|
|
- name: Store binaries as an artifact
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: firmware-debian-${{ steps.version.outputs.deb }}~${{ inputs.series }}-src
|
|
overwrite: true
|
|
path: |
|
|
meshtasticd_${{ steps.version.outputs.deb }}*
|