mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-04-05 20:03:48 +00:00
Updated the workflow to upload both AppImage and checksum artifacts, and modified the commit process to use the current branch instead of main.
87 lines
2.5 KiB
YAML
87 lines
2.5 KiB
YAML
name: Build ProxMenux Monitor AppImage Manual
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
env:
|
|
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v5
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v5
|
|
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@v5
|
|
with:
|
|
name: ProxMenux-${{ steps.version.outputs.VERSION }}-AppImage
|
|
path: |
|
|
AppImage/dist/*.AppImage
|
|
AppImage/dist/*.sha256
|
|
retention-days: 30
|
|
|
|
- name: Commit AppImage to current branch
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
CURRENT_BRANCH="${{ github.ref_name }}"
|
|
|
|
git config --global user.name "github-actions[bot]"
|
|
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
|
|
|
git fetch origin "$CURRENT_BRANCH"
|
|
git worktree add /tmp/target-branch origin/"$CURRENT_BRANCH"
|
|
|
|
rm -f /tmp/target-branch/AppImage/*.AppImage /tmp/target-branch/AppImage/*.sha256 || true
|
|
cp AppImage/dist/*.AppImage /tmp/target-branch/AppImage/
|
|
cp AppImage/dist/ProxMenux-Monitor.AppImage.sha256 /tmp/target-branch/AppImage/
|
|
|
|
cd /tmp/target-branch
|
|
git add AppImage/*.AppImage AppImage/*.sha256
|
|
git commit -m "Update AppImage build ($(date +'%Y-%m-%d %H:%M:%S'))" || echo "No changes to commit"
|
|
git push origin HEAD:"$CURRENT_BRANCH"
|