diff --git a/.github/workflows/sync-device-classes.yml b/.github/workflows/sync-device-classes.yml new file mode 100644 index 0000000000..82eead332e --- /dev/null +++ b/.github/workflows/sync-device-classes.yml @@ -0,0 +1,60 @@ +--- +name: Synchronise Device Classes from Home Assistant + +on: + workflow_dispatch: + schedule: + - cron: '45 6 * * *' + +permissions: + contents: write + pull-requests: write + +jobs: + sync: + name: Sync Device Classes + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Checkout Home Assistant + uses: actions/checkout@v3 + with: + repository: home-assistant/core + path: home-assistant + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: 3.11 + + - name: Install Home Assistant + run: | + python -m pip install --upgrade pip + pip install -e home-assistant + + - name: Sync + run: | + python ./script/sync-device_class.py + + - name: Get PR template + id: pr-template-body + run: | + body=$(cat .github/PULL_REQUEST_TEMPLATE.md) + delimiter="$(openssl rand -hex 8)" + echo "body<<$delimiter" >> $GITHUB_OUTPUT + echo "$body" >> $GITHUB_OUTPUT + echo "$delimiter" >> $GITHUB_OUTPUT + + - name: Commit changes + uses: peter-evans/create-pull-request@v4 + with: + commit-message: "Synchronise Device Classes from Home Assistant" + committer: esphomebot + author: esphomebot + branch: sync/device-classes/ + branch-suffix: timestamp + delete-branch: true + title: "Synchronise Device Classes from Home Assistant" + body: ${{ steps.pr-template-body.outputs.body }}