[CastSponsorSkip] Small fix for startup and readme #258
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
# yamllint disable rule:line-length | ||
# shellcheck disable=SC2043 | ||
--- | ||
name: Check PR Build | ||
on: | ||
pull_request: | ||
branches: | ||
- master | ||
jobs: | ||
check-addon-changes: | ||
runs-on: ubuntu-latest | ||
outputs: | ||
changedAddons: ${{ steps.filter.outputs.changes }} | ||
changedChangelogFiles: ${{ steps.changed-files.outputs.changelogs_files }} | ||
steps: | ||
- name: ↩️ Checkout | ||
uses: actions/checkout@v3 | ||
- name: 📂 Detect chanced addons | ||
uses: dorny/paths-filter@v2 | ||
id: filter | ||
with: | ||
filters: .github/paths-filter.yml | ||
- name: 📂 Detect chanced files | ||
uses: dorny/paths-filter@v2 | ||
id: changed-files | ||
with: | ||
list-files: csv | ||
filters: | | ||
changelogs: | ||
- '**/CHANGELOG.md' | ||
check-changed-changelog: | ||
name: Check if CHANGELOG.md changed | ||
if: ${{ needs.check-addon-changes.outputs.changedAddons != '[]' }} | ||
runs-on: ubuntu-latest | ||
needs: check-addon-changes | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
addon: ${{ fromJSON(needs.check-addon-changes.outputs.changedAddons) }} | ||
steps: | ||
- name: 🔎 Check for updated CHANGELOG.md | ||
shell: bash | ||
run: | | ||
# shellcheck disable=SC2076,SC2059 | ||
if [[ ! "${{ needs.check-addon-changes.outputs.changedChangelogFiles }}" =~ "${{ matrix.addon }}/CHANGELOG.md" ]]; then | ||
echo "::error::No new entries in ${{ matrix.addon }} CHANGELOG.md file!" | ||
exit 1 | ||
fi | ||
check-addon-label: | ||
name: Check for existance of the addon label | ||
if: ${{ needs.check-addon-changes.outputs.changedAddons != '[]' }} | ||
runs-on: ubuntu-latest | ||
needs: check-addon-changes | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
addon: ${{ fromJSON(needs.check-addon-changes.outputs.changedAddons) }} | ||
steps: | ||
- name: ↩️ Checkout | ||
uses: actions/checkout@v3 | ||
- name: 🔎 Check if a label for the addon exists | ||
shell: bash | ||
run: | | ||
labeltext=$(sed -nr "/${{ matrix.addon }}/p" '.github/paths-filter.yml') | ||
if [[ -z "$labeltext" ]]; then | ||
echo "::error::There is no label for this addon! Please add it to .github/paths-filter.yml" | ||
exit 1 | ||
fi | ||
addon-linter: | ||
name: Addon linting | ||
if: ${{ needs.check-addon-changes.outputs.changedAddons != '[]' }} | ||
runs-on: ubuntu-latest | ||
needs: check-addon-changes | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
addon: ${{ fromJSON(needs.check-addon-changes.outputs.changedAddons) }} | ||
steps: | ||
- name: ↩️ Checkout | ||
uses: actions/checkout@v3 | ||
- name: 🔎 Run Home Assistant Add-on Lint | ||
uses: frenck/action-addon-linter@v2 | ||
with: | ||
path: "./${{ matrix.addon }}" | ||
check-build: | ||
name: Test addon build | ||
if: ${{ needs.check-addon-changes.outputs.changedAddons != '[]' }} | ||
runs-on: ubuntu-latest | ||
needs: check-addon-changes | ||
uses: ./.github/workflows/onpush_builder.yaml | ||