Release Stage 4 - Package for VirtualBox - Run 19988212442 - beta-2025-12-06 - beta #87
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release Stage 4 - Package for VirtualBox Appliance | |
| run-name: Release Stage 4 - Package for VirtualBox - Run ${{ inputs.run_id }} - ${{ inputs.HOMEBRIDGE_VM_IMAGE_VERSION }} - ${{ inputs.release_stream }} | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| run_id: | |
| description: 'GitHub Run ID of the build workflow that produced the artifacts' | |
| required: true | |
| type: string | |
| release_stream: | |
| description: 'Release stream (stable, beta, alpha)' | |
| required: true | |
| type: choice | |
| options: | |
| - stable | |
| - beta | |
| - alpha | |
| default: beta | |
| HOMEBRIDGE_VM_IMAGE_VERSION: | |
| description: 'Homebridge VM image version aka release tag' | |
| required: true | |
| type: string | |
| concurrency: | |
| group: package-virtualbox | |
| cancel-in-progress: false | |
| jobs: | |
| package-for-virtual-box: | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| max-parallel: 1 | |
| fail-fast: false | |
| matrix: | |
| arch: [arm64, amd64] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Download Artifacts | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: homebridge-image-${{ matrix.arch }} | |
| path: ./output | |
| run-id: ${{ inputs.run_id }} | |
| merge-multiple: true | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: List Downloaded Artifacts | |
| run: ls -lR ./output | |
| - name: Install VirtualBox | |
| uses: ./.github/actions/install-virtualbox | |
| - name: Package VirtualBox Appliance | |
| id: package_appliance | |
| run: | | |
| ./scripts/package-for-virtual-box.sh "${{ matrix.arch }}" "${{ inputs.release_stream }}" "${{ inputs.HOMEBRIDGE_VM_IMAGE_VERSION }}" | |
| echo "OVA_FILE=./output/homebridge-vm-image-${{ inputs.release_stream }}-${{ matrix.arch }}.ova" >> $GITHUB_OUTPUT | |
| echo "VDI_FILE=./output/homebridge-vm-image-${{ inputs.release_stream }}-${{ matrix.arch }}.vdi.gz" >> $GITHUB_OUTPUT | |
| - name: Upload image and manifest artifacts | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| retention-days: 7 | |
| name: virtualbox-appliance-${{ matrix.arch }} | |
| path: | | |
| ${{ steps.package_appliance.outputs.OVA_FILE }} | |
| ./output/*.manifest | |
| ./output/*.img | |
| - name: Upload OVA and VDI to GitHub Release | |
| run: | | |
| set -e | |
| RELEASE_ID=$(gh release view "${{ inputs.HOMEBRIDGE_VM_IMAGE_VERSION }}" --json id -q .id) | |
| gh release upload "${{ inputs.HOMEBRIDGE_VM_IMAGE_VERSION }}" "${{ steps.package_appliance.outputs.OVA_FILE }}" "${{ steps.package_appliance.outputs.VDI_FILE }}" --clobber | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Packaging complete | |
| run: | | |
| echo "::notice::Homebridge VM image version: ${{ inputs.HOMEBRIDGE_VM_IMAGE_VERSION }}" | |
| echo "::notice::Run ID: ${{ inputs.run_id }}" | |
| echo "::notice::Architecture: ${{ matrix.arch }}" | |
| echo "::notice::Release Stream: ${{ inputs.release_stream }}" |