Refactoring configuration and add env variables #28
Workflow file for this run
This file contains 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: Builder | |
env: | |
BUILD_ARGS: "--all" | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
name: Build ${{ matrix.arch }} daikin-mqtt add-on | |
strategy: | |
matrix: | |
arch: ["aarch64", "amd64", "armhf", "armv7", "i386"] | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- name: Check out repository | |
uses: actions/[email protected] | |
- name: Get information | |
id: info | |
uses: home-assistant/actions/helpers/info@master | |
with: | |
path: "daikin-mqtt" | |
- name: Check if add-on should be built | |
id: check | |
run: | | |
if [[ "${{ steps.info.outputs.architectures }}" =~ ${{ matrix.arch }} ]]; then | |
echo "::set-output name=build_arch::true"; | |
echo "::set-output name=image::$(echo ${{ steps.info.outputs.image }} | cut -d'/' -f3)"; | |
if [[ -z "${{ github.head_ref }}" ]] && [[ "${{ github.event_name }}" == "push" ]]; then | |
echo "BUILD_ARGS=" >> $GITHUB_ENV; | |
fi | |
else | |
echo "${{ matrix.arch }} is not a valid arch for ${{ matrix.addon }}, skipping build"; | |
echo "::set-output name=build_arch::false"; | |
fi | |
- name: Check if add-onn shouldn't be pushed | |
id: push_check | |
if: github.event_name == 'pull_request' | |
run: | | |
echo "BUILD_ARGS=--test" >> $GITHUB_ENV | |
- name: Login to DockerHub Container Registry | |
uses: docker/[email protected] | |
with: | |
registry: ghcr.io | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build add-on | |
if: steps.check.outputs.build_arch == 'true' | |
uses: home-assistant/[email protected] | |
with: | |
args: | | |
${{ env.BUILD_ARGS }} \ | |
--${{ matrix.arch }} \ | |
--target daikin-mqtt \ | |
--image "${{ steps.check.outputs.image }}" \ | |
--docker-hub "ghcr.io/${{ github.repository_owner }}" |