Files
nexusops-dashboard/.gitea/workflows/build-binaries.yml
Hermes 9e6d7e8d48
Some checks failed
Build Agent Binaries / build-linux (push) Successful in 50s
Build Agent Binaries / build-windows (push) Failing after 1s
Build Agent Binaries / build-macos (push) Failing after 2s
ci: libpython3.12 for pyinstaller
2026-10-01 16:28:45 -07:00

54 lines
2.0 KiB
YAML

name: Build Agent Binaries
on:
push:
branches: [master]
paths: ['agents/agent.py', '.gitea/workflows/build-binaries.yml']
workflow_dispatch:
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install PyInstaller + libpython
run: |
sudo apt-get update -qq && sudo apt-get install -y -qq python3-dev libpython3.12 >/dev/null
pip install --break-system-packages pyinstaller || pip install pyinstaller
- name: Bake token + build
env:
AGENT_TOKEN: ${{ secrets.NEXUS_AGENT_TOKEN }}
run: |
sed "s/__AGENT_TOKEN__/$AGENT_TOKEN/" agents/agent.py > baked.py
pyinstaller --onefile --name NexusAgent-linux baked.py
- uses: actions/upload-artifact@v4
with: {name: NexusAgent-linux, path: dist/}
build-macos:
runs-on: macos-latest # host runner on drjones' MacBook
steps:
- uses: actions/checkout@v4
- run: pip3 install --user pyinstaller || pip3 install --break-system-packages pyinstaller
- name: Bake token + build
env:
AGENT_TOKEN: ${{ secrets.NEXUS_AGENT_TOKEN }}
run: |
sed "s/__AGENT_TOKEN__/$AGENT_TOKEN/" agents/agent.py > baked.py
pyinstaller --onefile --name NexusAgent-macos baked.py
- uses: actions/upload-artifact@v4
with: {name: NexusAgent-macos, path: dist/}
build-windows:
runs-on: windows-latest # host runner on GamingPC — pends until that host registers
steps:
- uses: actions/checkout@v4
- run: pip install pyinstaller
- name: Bake token + build
shell: pwsh
env:
AGENT_TOKEN: ${{ secrets.NEXUS_AGENT_TOKEN }}
run: |
(Get-Content agents/agent.py) -replace '__AGENT_TOKEN__', $env:AGENT_TOKEN | Set-Content baked.py
pyinstaller --onefile --name NexusAgent-windows baked.py
- uses: actions/upload-artifact@v4
with: {name: NexusAgent-windows, path: dist/}