New Github actions (#481)

* Test new check

* Add quote

* test

* test

* move check

* move back

* use env

* test multistep

* test trigger

* if: github.event.label.name

* quotes

* hassfest?

* Fix clone

* Update hassfest

* check hassfest

* Use real domain

* Lmit

* Test hassfest

* Check domain

* Fix domain

* No changes

* Enable on unlable

* Change HACS validate

* Move inputs

* Add dummy integration

* TEst

* Move to env

* Fix repo

* Remove entry
This commit is contained in:
Joakim Sørensen
2020-05-26 17:53:04 +02:00
committed by GitHub
parent 327142edc2
commit 001a81b77f
34 changed files with 671 additions and 38 deletions
+36
View File
@@ -0,0 +1,36 @@
name: "Check Brands"
on:
pull_request:
types: unlabeled
jobs:
check:
if: github.event.label.name == 'Not finished'
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Clone origin
run: git clone --depth 1 https://github.com/hacs/default /tmp/default
- name: Clone new addition
run: |
repo=$(python3 -m scripts.changed.repo)
git clone --depth 1 "https://github.com/$repo" /tmp/addition
- name: Set category
id: category
run: echo "::set-output name=category::$(python3 -m scripts.changed.category)"
- name: Install dependencies
if: steps.category.outputs.category == 'integration'
run: |
python3 -m pip install setuptools wheel
python3 -m pip install aiogithubapi
- name: Check home-assistant/brands
if: steps.category.outputs.category == 'integration'
run: python3 -m scripts.check.brands
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+23
View File
@@ -0,0 +1,23 @@
name: "Check HACS Manifest"
on:
pull_request:
types: unlabeled
jobs:
check:
if: github.event.label.name == 'Not finished'
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Clone origin
run: git clone --depth 1 https://github.com/hacs/default /tmp/default
- name: Clone new addition
run: |
repo=$(python3 -m scripts.changed.repo)
git clone --depth 1 "https://github.com/$repo" /tmp/addition
- name: Check HACS manifest
run: python3 -m scripts.check.hacs_manifest
+31
View File
@@ -0,0 +1,31 @@
name: "Check HACS"
on:
pull_request:
types: unlabeled
jobs:
check:
if: github.event.label.name == 'Not finished'
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Clone origin
run: git clone --depth 1 https://github.com/hacs/default /tmp/default
- name: Set category
id: category
run: echo "::set-output name=category::$(python3 -m scripts.changed.category)"
- name: Set repository
id: repository
run: echo "::set-output name=repository::$(python3 -m scripts.changed.repo)"
- name: HACS validation
uses: "hacs/integration/action@master"
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
env:
REPOSITORY: "${{ steps.repository.outputs.repository }}"
CATEGORY: "${{ steps.category.outputs.category }}"
+37
View File
@@ -0,0 +1,37 @@
name: "Check hassfest"
on:
pull_request:
types: unlabeled
jobs:
check:
if: github.event.label.name == 'Not finished'
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Clone origin
run: git clone --depth 1 https://github.com/hacs/default /tmp/default
- name: Clone new addition
run: |
repo=$(python3 -m scripts.changed.repo)
git clone --depth 1 "https://github.com/$repo" /tmp/addition
- name: Set category
id: category
run: echo "::set-output name=category::$(python3 -m scripts.changed.category)"
- name: Pull Home Assistant Container
if: steps.category.outputs.category == 'integration'
run: docker pull homeassistant/home-assistant:beta
- name: Run hassfest
if: steps.category.outputs.category == 'integration'
run: |
integration=$(python3 -m scripts.helpers.integration_path)
domain=$(python3 -m scripts.helpers.domain)
docker run --entrypoint="" -v "$integration":"/$domain" \
homeassistant/home-assistant:beta python3 -m \
script.hassfest --action validate --integration-path "/$domain"
+23
View File
@@ -0,0 +1,23 @@
name: "Check Images"
on:
pull_request:
types: unlabeled
jobs:
check:
if: github.event.label.name == 'Not finished'
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Clone origin
run: git clone --depth 1 https://github.com/hacs/default /tmp/default
- name: Clone new addition
run: |
repo=$(python3 -m scripts.changed.repo)
git clone --depth 1 "https://github.com/$repo" /tmp/addition
- name: Check images
run: python3 -m scripts.check.images
+23
View File
@@ -0,0 +1,23 @@
name: "Check Info"
on:
pull_request:
types: unlabeled
jobs:
check:
if: github.event.label.name == 'Not finished'
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Clone origin
run: git clone --depth 1 https://github.com/hacs/default /tmp/default
- name: Clone new addition
run: |
repo=$(python3 -m scripts.changed.repo)
git clone --depth 1 "https://github.com/$repo" /tmp/addition
- name: Check info
run: python3 -m scripts.check.info
+28
View File
@@ -0,0 +1,28 @@
name: "Check Manifest"
on:
pull_request:
types: unlabeled
jobs:
check:
if: github.event.label.name == 'Not finished'
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Clone origin
run: git clone --depth 1 https://github.com/hacs/default /tmp/default
- name: Clone new addition
run: |
repo=$(python3 -m scripts.changed.repo)
git clone --depth 1 "https://github.com/$repo" /tmp/addition
- name: Set category
id: category
run: echo "::set-output name=category::$(python3 -m scripts.changed.category)"
- name: Check manifest
if: steps.category.outputs.category == 'integration'
run: python3 -m scripts.check.manifest
+30
View File
@@ -0,0 +1,30 @@
name: "Check Repository"
on:
pull_request:
types: unlabeled
jobs:
check:
if: github.event.label.name == 'Not finished'
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Clone origin
run: git clone --depth 1 https://github.com/hacs/default /tmp/default
- name: Clone new addition
run: |
repo=$(python3 -m scripts.changed.repo)
git clone --depth 1 "https://github.com/$repo" /tmp/addition
- name: Install dependencies
run: |
python3 -m pip install setuptools wheel
python3 -m pip install aiogithubapi
- name: Check repository
run: python3 -m scripts.check.repository
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+36
View File
@@ -0,0 +1,36 @@
name: "Check Wheels"
on:
pull_request:
types: unlabeled
jobs:
check:
if: github.event.label.name == 'Not finished'
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Clone origin
run: git clone --depth 1 https://github.com/hacs/default /tmp/default
- name: Clone new addition
run: |
repo=$(python3 -m scripts.changed.repo)
git clone --depth 1 "https://github.com/$repo" /tmp/addition
- name: Set category
id: category
run: echo "::set-output name=category::$(python3 -m scripts.changed.category)"
- name: Install dependencies
if: steps.category.outputs.category == 'integration'
run: |
python3 -m pip install setuptools wheel
python3 -m pip install aiogithubapi
- name: Check home-assistant/wheels-custom-integrations
if: steps.category.outputs.category == 'integration'
run: python3 -m scripts.check.wheels
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-30
View File
@@ -1,30 +0,0 @@
name: "Validate with HACS"
on:
pull_request:
branches:
- master
jobs:
validate:
runs-on: ubuntu-latest
name: Validate
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Get file changes
id: get_file_changes
uses: dorner/file-changes-action@v1.2.0
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}
plaintext: true
- name: export file changes
run: export CHANGED_FILES="${{ steps.get_file_changes.outputs.files }}"
- name: HACS validation
uses: "hacs/integration/action@master"
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
env:
CHANGED_FILES: "${{ steps.get_file_changes.outputs.files }}"