name: Build Linux AppImages on: push: tags: - "*" jobs: build_linux_amd64: runs-on: ubuntu-latest permissions: contents: write steps: - name: Clone Main Repo uses: https://github.com/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: https://github.com/actions/setup-node@v3 with: node-version: 18 - name: Install Python uses: https://github.com/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: https://github.com/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: https://github.com/actions/checkout@v3 with: repository: liamcottle/reticulum-meshchat ref: main path: reticulum-meshchat - name: Install NodeJS uses: https://github.com/actions/setup-node@v3 with: node-version: 18 - name: Install Python uses: https://github.com/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: https://github.com/ncipollo/release-action@v1 with: draft: true allowUpdates: true replacesArtifacts: true omitDraftDuringUpdate: true omitNameDuringUpdate: true artifacts: "reticulum-meshchat/dist/*-arm64-linux.AppImage"