mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-07-27 15:06:29 +00:00
Use board information from json for release builds (#1863)
* Use board information from json for release builds
This commit is contained in:
parent
56baadc829
commit
5bd466c27d
68
.github/workflows/release.yml
vendored
68
.github/workflows/release.yml
vendored
@ -13,6 +13,7 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
version: ${{ steps.version_check.outputs.version }}
|
version: ${{ steps.version_check.outputs.version }}
|
||||||
version_dev: ${{ steps.version_check.outputs.version_dev }}
|
version_dev: ${{ steps.version_check.outputs.version_dev }}
|
||||||
|
matrix: ${{ steps.generate_matrix.outputs.result }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Validate version
|
- name: Validate version
|
||||||
@ -34,26 +35,19 @@ jobs:
|
|||||||
echo "::set-output name=version::${major}.${build}"
|
echo "::set-output name=version::${major}.${build}"
|
||||||
fi
|
fi
|
||||||
echo "::set-output name=version_dev::${tag_dev}"
|
echo "::set-output name=version_dev::${tag_dev}"
|
||||||
|
- name: Create build matrix
|
||||||
|
uses: actions/github-script@v4
|
||||||
|
id: generate_matrix
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
const boards = require('./.github/workflows/matrix.json')
|
||||||
|
return { "board": boards }
|
||||||
|
|
||||||
build:
|
build:
|
||||||
name: Release build for ${{ matrix.board.name }}
|
name: Release build for ${{ matrix.board.id }}
|
||||||
needs: validate_release
|
needs: validate_release
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix: ${{ fromJson(needs.validate_release.outputs.matrix) }}
|
||||||
board:
|
|
||||||
- {"name": "ova", "output": "ova", "runner": "x86-64-runner"}
|
|
||||||
- {"name": "generic_x86_64", "output": "generic-x86-64", "runner": "x86-64-runner"}
|
|
||||||
- {"name": "khadas_vim3", "output": "khadas-vim3", "runner": "aarch64-runner"}
|
|
||||||
- {"name": "odroid_c2", "output": "odroid-c2", "runner": "aarch64-runner"}
|
|
||||||
- {"name": "odroid_c4", "output": "odroid-c4", "runner": "aarch64-runner"}
|
|
||||||
- {"name": "odroid_n2", "output": "odroid-n2", "runner": "aarch64-runner"}
|
|
||||||
- {"name": "odroid_xu4", "output": "odroid-xu4" , "runner": "aarch64-runner"}
|
|
||||||
- {"name": "rpi2", "output": "rpi2", "runner": "arm-runner"}
|
|
||||||
- {"name": "rpi3", "output": "rpi3", "runner": "arm-runner"}
|
|
||||||
- {"name": "rpi3_64", "output": "rpi3-64", "runner": "aarch64-runner"}
|
|
||||||
- {"name": "rpi4", "output": "rpi4", "runner": "arm-runner"}
|
|
||||||
- {"name": "rpi4_64", "output": "rpi4-64", "runner": "aarch64-runner"}
|
|
||||||
- {"name": "tinker", "output": "tinker", "runner": "arm-runner"}
|
|
||||||
runs-on: ${{ matrix.board.runner }}
|
runs-on: ${{ matrix.board.runner }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -81,17 +75,17 @@ jobs:
|
|||||||
-e BUILDER_UID="${BUILDER_UID}" -e BUILDER_GID="${BUILDER_GID}" \
|
-e BUILDER_UID="${BUILDER_UID}" -e BUILDER_GID="${BUILDER_GID}" \
|
||||||
-v "${{ matrix.board.runner }}-build-cache:/cache" \
|
-v "${{ matrix.board.runner }}-build-cache:/cache" \
|
||||||
-v "/build/output" \
|
-v "/build/output" \
|
||||||
haos-builder make BUILDDIR=/build VERSION_DEV=${{ needs.validate_release.outputs.version_dev }} ${{ matrix.board.name }}
|
haos-builder make BUILDDIR=/build VERSION_DEV=${{ needs.validate_release.outputs.version_dev }} ${{ matrix.board.defconfig }}
|
||||||
|
|
||||||
- name: Upload disk image
|
- name: Upload disk image
|
||||||
if: ${{ matrix.board.name != 'ova' }}
|
if: ${{ matrix.board.id != 'ova' }}
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ github.event.release.upload_url }}
|
upload_url: ${{ github.event.release.upload_url }}
|
||||||
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.output }}-${{ needs.validate_release.outputs.version }}.img.xz
|
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.img.xz
|
||||||
asset_name: haos_${{ matrix.board.output }}-${{ needs.validate_release.outputs.version }}.img.xz
|
asset_name: haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.img.xz
|
||||||
asset_content_type: application/x-xz
|
asset_content_type: application/x-xz
|
||||||
|
|
||||||
- name: Upload rauc update
|
- name: Upload rauc update
|
||||||
@ -100,63 +94,63 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ github.event.release.upload_url }}
|
upload_url: ${{ github.event.release.upload_url }}
|
||||||
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.output }}-${{ needs.validate_release.outputs.version }}.raucb
|
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.raucb
|
||||||
asset_name: haos_${{ matrix.board.output }}-${{ needs.validate_release.outputs.version }}.raucb
|
asset_name: haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.raucb
|
||||||
asset_content_type: application/octet-stream
|
asset_content_type: application/octet-stream
|
||||||
|
|
||||||
- name: Upload ova image
|
- name: Upload ova image
|
||||||
if: ${{ matrix.board.name == 'ova' }}
|
if: ${{ matrix.board.id == 'ova' }}
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ github.event.release.upload_url }}
|
upload_url: ${{ github.event.release.upload_url }}
|
||||||
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.output }}-${{ needs.validate_release.outputs.version }}.ova
|
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.ova
|
||||||
asset_name: haos_${{ matrix.board.output }}-${{ needs.validate_release.outputs.version }}.ova
|
asset_name: haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.ova
|
||||||
asset_content_type: application/x-tar
|
asset_content_type: application/x-tar
|
||||||
|
|
||||||
- name: Upload qcow2 image
|
- name: Upload qcow2 image
|
||||||
if: ${{ matrix.board.name == 'ova' || matrix.board.name == 'generic-aarch64' }}
|
if: ${{ matrix.board.id == 'ova' || matrix.board.id == 'generic-aarch64' }}
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ github.event.release.upload_url }}
|
upload_url: ${{ github.event.release.upload_url }}
|
||||||
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.output }}-${{ needs.validate_release.outputs.version }}.qcow2.xz
|
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.qcow2.xz
|
||||||
asset_name: haos_${{ matrix.board.output }}-${{ needs.validate_release.outputs.version }}.qcow2.xz
|
asset_name: haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.qcow2.xz
|
||||||
asset_content_type: application/x-xz
|
asset_content_type: application/x-xz
|
||||||
|
|
||||||
- name: Upload vdi image
|
- name: Upload vdi image
|
||||||
if: ${{ matrix.board.name == 'ova' }}
|
if: ${{ matrix.board.id == 'ova' }}
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ github.event.release.upload_url }}
|
upload_url: ${{ github.event.release.upload_url }}
|
||||||
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.output }}-${{ needs.validate_release.outputs.version }}.vdi.zip
|
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.vdi.zip
|
||||||
asset_name: haos_${{ matrix.board.output }}-${{ needs.validate_release.outputs.version }}.vdi.zip
|
asset_name: haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.vdi.zip
|
||||||
asset_content_type: application/zip
|
asset_content_type: application/zip
|
||||||
|
|
||||||
- name: Upload vhdx image
|
- name: Upload vhdx image
|
||||||
if: ${{ matrix.board.name == 'ova' }}
|
if: ${{ matrix.board.id == 'ova' }}
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ github.event.release.upload_url }}
|
upload_url: ${{ github.event.release.upload_url }}
|
||||||
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.output }}-${{ needs.validate_release.outputs.version }}.vhdx.zip
|
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.vhdx.zip
|
||||||
asset_name: haos_${{ matrix.board.output }}-${{ needs.validate_release.outputs.version }}.vhdx.zip
|
asset_name: haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.vhdx.zip
|
||||||
asset_content_type: application/zip
|
asset_content_type: application/zip
|
||||||
|
|
||||||
- name: Upload vmdk image
|
- name: Upload vmdk image
|
||||||
if: ${{ matrix.board.name == 'ova' || matrix.board.name == 'generic-aarch64' }}
|
if: ${{ matrix.board.id == 'ova' || matrix.board.id == 'generic-aarch64' }}
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ github.event.release.upload_url }}
|
upload_url: ${{ github.event.release.upload_url }}
|
||||||
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.output }}-${{ needs.validate_release.outputs.version }}.vmdk.zip
|
asset_path: ${{ github.workspace }}/release/haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.vmdk.zip
|
||||||
asset_name: haos_${{ matrix.board.output }}-${{ needs.validate_release.outputs.version }}.vmdk.zip
|
asset_name: haos_${{ matrix.board.id }}-${{ needs.validate_release.outputs.version }}.vmdk.zip
|
||||||
asset_content_type: application/zip
|
asset_content_type: application/zip
|
||||||
|
|
||||||
bump_version:
|
bump_version:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user