50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
name: Builder
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
init:
|
|
runs-on: ubuntu-latest
|
|
name: Initialize builds
|
|
outputs:
|
|
changed_addons: ${{ steps.changed_addons.outputs.addons }}
|
|
changed: ${{ steps.changed_addons.outputs.changed }}
|
|
steps:
|
|
- name: Check out the repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Get changed add-ons
|
|
id: changed_addons
|
|
uses: home-assistant/actions/helpers/changed-addons@master
|
|
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
name: Build ${{ matrix.addon }} (${{ matrix.arch }})
|
|
needs: init
|
|
if: needs.init.outputs.changed == 'true'
|
|
strategy:
|
|
matrix:
|
|
addon: ${{ fromJson(needs.init.outputs.changed_addons) }}
|
|
arch: ["aarch64", "amd64", "armhf", "armv7", "i386"]
|
|
|
|
steps:
|
|
- name: Check out repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Get information
|
|
id: info
|
|
uses: home-assistant/actions/helpers/info@master
|
|
with:
|
|
path: "./${{ matrix.addon }}"
|
|
|
|
- name: Build ${{ matrix.addon }} (${{ matrix.arch }})
|
|
uses: home-assistant/builder@master
|
|
with:
|
|
args: |
|
|
--${{ matrix.arch }} \
|
|
--target /data/${{ matrix.addon }} \
|
|
--generic ${{ steps.info.outputs.version }} |