meshchat-build/.github/workflows/build.yml
2025-05-04 12:45:13 -04:00

107 lines
2.7 KiB
YAML

name: Build Linux AppImages
on:
push:
tags:
- "*"
jobs:
build_linux_amd64:
runs-on: ubuntu-22.04
steps:
- name: Clone Main Repo
uses: actions/checkout@v3
with:
repository: liamcottle/reticulum-meshchat
ref: main
path: reticulum-meshchat
- name: Set Working Directory
run: cd reticulum-meshchat
- name: Install NodeJS
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install Python Deps
working-directory: ./reticulum-meshchat
run: pip install -r requirements.txt
- name: Install NodeJS Deps
working-directory: ./reticulum-meshchat
run: npm install
- name: Build Electron App for AMD64
working-directory: ./reticulum-meshchat
run: npm run dist
env:
ELECTRON_BUILDER_ARCH: x64
- name: Create Release
id: create_release
uses: ncipollo/release-action@v1
with:
draft: true
allowUpdates: true
replacesArtifacts: true
omitDraftDuringUpdate: true
omitNameDuringUpdate: true
artifacts: "reticulum-meshchat/dist/*-amd64-linux.AppImage"
build_linux_aarch64:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Clone Main Repo
uses: actions/checkout@v3
with:
repository: liamcottle/reticulum-meshchat
ref: main
path: reticulum-meshchat
- name: Install NodeJS
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install Python Deps
working-directory: ./reticulum-meshchat
run: pip install -r requirements.txt
- name: Install NodeJS Deps
working-directory: ./reticulum-meshchat
run: npm install
- name: Install Cross-Compilation Tools
run: |
sudo apt-get update
sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
- name: Build Electron App for AArch64
working-directory: ./reticulum-meshchat
run: npm run dist
env:
ELECTRON_BUILDER_ARCH: arm64
- name: Create Release
id: create_release
uses: ncipollo/release-action@v1
with:
draft: true
allowUpdates: true
replacesArtifacts: true
omitDraftDuringUpdate: true
omitNameDuringUpdate: true
artifacts: "reticulum-meshchat/dist/*-arm64-linux.AppImage"