diff --git a/.gitea/workflows/build-binaries.yml b/.gitea/workflows/build-binaries.yml index 819f3ac..b25a11f 100644 --- a/.gitea/workflows/build-binaries.yml +++ b/.gitea/workflows/build-binaries.yml @@ -6,38 +6,46 @@ on: workflow_dispatch: jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - include: - - os: ubuntu-latest - artifact: NexusAgent-linux - - os: windows-latest - artifact: NexusAgent-windows + build-linux: + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install PyInstaller - run: pip install pyinstaller - - name: Bake token + build (unix) - if: matrix.os != 'windows-latest' - shell: bash + run: 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 ${{ matrix.artifact }} baked.py - - name: Bake token + build (windows) - if: matrix.os == 'windows-latest' + 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 ${{ matrix.artifact }} baked.py - - name: Upload artifact - uses: actions/upload-artifact@v4 - with: - name: ${{ matrix.artifact }} - path: dist/ -Thu Oct 1 16:11:20 PDT 2026 + pyinstaller --onefile --name NexusAgent-windows baked.py + - uses: actions/upload-artifact@v4 + with: {name: NexusAgent-windows, path: dist/}