name: Build AppImage Beta on: workflow_dispatch: permissions: contents: write env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true jobs: build: runs-on: ubuntu-22.04 steps: - name: Checkout develop uses: actions/checkout@v6 with: ref: develop token: ${{ secrets.GITHUB_TOKEN }} - name: Setup Node.js uses: actions/setup-node@v6 with: node-version: '22' - name: Install dependencies working-directory: AppImage run: npm install --legacy-peer-deps - name: Build Next.js app working-directory: AppImage run: npm run build - name: Install Python dependencies run: | sudo apt-get update sudo apt-get install -y python3 python3-pip python3-venv - name: Make build script executable working-directory: AppImage run: chmod +x scripts/build_appimage.sh - name: Build AppImage working-directory: AppImage run: ./scripts/build_appimage.sh - name: Get version from package.json id: version working-directory: AppImage run: echo "VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT - name: Generate SHA256 checksum run: | cd AppImage/dist sha256sum *.AppImage > ProxMenux-Monitor.AppImage.sha256 echo "Generated SHA256:" cat ProxMenux-Monitor.AppImage.sha256 - name: Upload AppImage artifact uses: actions/upload-artifact@v6 with: name: ProxMenux-${{ steps.version.outputs.VERSION }}-beta-AppImage path: | AppImage/dist/*.AppImage AppImage/dist/*.sha256 retention-days: 30 - name: Commit AppImage to develop env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" rm -f AppImage/*.AppImage AppImage/*.sha256 || true cp AppImage/dist/*.AppImage AppImage/ cp AppImage/dist/ProxMenux-Monitor.AppImage.sha256 AppImage/ git add AppImage/*.AppImage AppImage/*.sha256 git commit -m "Update AppImage beta build ($(date +'%Y-%m-%d %H:%M:%S'))" || echo "No changes to commit" git push origin develop