name: Build Linux AppImages on: push: branches: - main jobs: build_linux_amd64: runs-on: ubuntu-22.04 permissions: contents: write steps: - name: Clone Main Repo uses: https://github.com/actions/checkout@v3 with: repository: github.com/liamcottle/reticulum-meshchat path: reticulum-meshchat - name: Get Latest Tag working-directory: ./reticulum-meshchat run: | git fetch --tags --quiet https://github.com/liamcottle/reticulum-meshchat LATEST_TAG=$(git describe --tags --abbrev=0) echo "LATEST_TAG=$LATEST_TAG" >> $GITHUB_ENV echo "Latest tag is $LATEST_TAG" git checkout $LATEST_TAG - 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: tag: ${{ env.LATEST_TAG }} name: ${{ env.LATEST_TAG }} draft: true allowUpdates: true replacesArtifacts: true omitDraftDuringUpdate: true omitNameDuringUpdate: true artifacts: "reticulum-meshchat/dist/*-amd64-linux.AppImage" build_linux_aarch64: runs-on: ubuntu-22.04 permissions: contents: write steps: - name: Clone Main Repo uses: https://github.com/actions/checkout@v3 with: repository: github.com/liamcottle/reticulum-meshchat path: reticulum-meshchat - name: Get Latest Tag working-directory: ./reticulum-meshchat run: | git fetch --tags --quiet https://github.com/liamcottle/reticulum-meshchat LATEST_TAG=$(git describe --tags --abbrev=0) echo "LATEST_TAG=$LATEST_TAG" >> $GITHUB_ENV echo "Latest tag is $LATEST_TAG" git checkout $LATEST_TAG - 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: tag: ${{ env.LATEST_TAG }} name: ${{ env.LATEST_TAG }} draft: true allowUpdates: true replacesArtifacts: true omitDraftDuringUpdate: true omitNameDuringUpdate: true artifacts: "reticulum-meshchat/dist/*-arm64-linux.AppImage"