2024-06-05 14:27:46 +00:00
name : Package Native
on :
workflow_call :
workflow_dispatch :
permissions :
contents : write
packages : write
jobs :
build-native :
uses : ./.github/workflows/build_native.yml
package-native :
2024-09-19 23:21:30 +00:00
runs-on : ubuntu-22.04
2024-06-05 14:27:46 +00:00
needs : build-native
steps :
- name : Checkout code
uses : actions/checkout@v4
with :
submodules : recursive
ref : ${{github.event.pull_request.head.ref}}
repository : ${{github.event.pull_request.head.repo.full_name}}
- name : Pull web ui
uses : dsaltares/fetch-gh-release-asset@master
with :
repo : meshtastic/web
file : build.tar
target : build.tar
token : ${{ secrets.GITHUB_TOKEN }}
- name : Get release version string
run : echo "version=$(./bin/buildinfo.py long)" >> $GITHUB_OUTPUT
id : version
- name : Download artifacts
uses : actions/download-artifact@v4
with :
name : firmware-native-${{ steps.version.outputs.version }}.zip
merge-multiple : true
- name : Display structure of downloaded files
run : ls -R
- name : build .debpkg
run : |
mkdir -p .debpkg/DEBIAN
2024-11-12 12:40:46 +00:00
mkdir -p .debpkg/usr/share/doc/meshtasticd/web
2024-06-05 14:27:46 +00:00
mkdir -p .debpkg/usr/sbin
mkdir -p .debpkg/etc/meshtasticd
2024-10-29 02:48:10 +00:00
mkdir -p .debpkg/etc/meshtasticd/config.d
mkdir -p .debpkg/etc/meshtasticd/available.d
2024-06-05 14:27:46 +00:00
mkdir -p .debpkg/usr/lib/systemd/system/
2024-11-12 12:40:46 +00:00
tar -xf build.tar -C .debpkg/usr/share/doc/meshtasticd/web
2024-11-10 12:56:44 +00:00
shopt -s dotglob nullglob
2024-11-12 12:40:46 +00:00
if [ -d .debpkg/usr/share/doc/meshtasticd/web/build ]; then mv .debpkg/usr/share/doc/meshtasticd/web/build/* .debpkg/usr/share/doc/meshtasticd/web/; fi
if [ -d .debpkg/usr/share/doc/meshtasticd/web/build ]; then rmdir .debpkg/usr/share/doc/meshtasticd/web/build; fi
if [ -d .debpkg/usr/share/doc/meshtasticd/web/.DS_Store]; then rm -f .debpkg/usr/share/doc/meshtasticd/web/.DS_Store; fi
2024-11-26 04:49:13 +00:00
gunzip .debpkg/usr/share/doc/meshtasticd/web/ -r
2024-06-09 10:56:44 +00:00
cp release/meshtasticd_linux_x86_64 .debpkg/usr/sbin/meshtasticd
2024-06-05 14:27:46 +00:00
cp bin/config-dist.yaml .debpkg/etc/meshtasticd/config.yaml
2024-10-29 02:48:10 +00:00
cp bin/config.d/* .debpkg/etc/meshtasticd/available.d/
2024-06-05 14:27:46 +00:00
chmod +x .debpkg/usr/sbin/meshtasticd
cp bin/meshtasticd.service .debpkg/usr/lib/systemd/system/meshtasticd.service
echo "/etc/meshtasticd/config.yaml" > .debpkg/DEBIAN/conffiles
chmod +x .debpkg/DEBIAN/conffiles
- uses : jiro4989/build-deb-action@v3
with :
package : meshtasticd
package_root : .debpkg
maintainer : Jonathan Bennett
version : ${{ steps.version.outputs.version }} # refs/tags/v*.*.*
arch : amd64
depends : libyaml-cpp0.7, openssl, libulfius2.7
desc : Native Linux Meshtastic binary.
- uses : actions/upload-artifact@v4
with :
name : meshtasticd_${{ steps.version.outputs.version }}_amd64.deb
overwrite : true
path : |
./*.deb