From 4f600bb6a6f9e87131768959d924cbd068b76336 Mon Sep 17 00:00:00 2001 From: Trevor Schirmer Date: Tue, 7 Jul 2026 09:39:15 -0400 Subject: [PATCH 1/2] Consolidate CI, weekly, and autoassign into shared reusable workflows Replaces inline version-pinned actions with thin callers of ApolloAutomation/Workflows reusable workflows referenced @main. Leaf repo now contains zero dependabot-bumpable refs; action version pins are centralized in the Workflows repo. Dependabot schedule relaxed to monthly as a safety net. Co-Authored-By: Claude Fable 5 --- .github/dependabot.yml | 32 +++++++++++++++----------------- .github/workflows/autoassign.yml | 25 +++++++++++++------------ .github/workflows/ci.yml | 29 ++++++++--------------------- .github/workflows/weekly.yml | 28 ++++++++++------------------ 4 files changed, 46 insertions(+), 68 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index a689b1e..2f8e2dd 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,17 +1,15 @@ -# To get started with Dependabot version updates, you'll need to specify which - # package ecosystems to update and where the package manifests are located. - # Please see the documentation for all configuration options: - # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file - - version: 2 - updates: - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "daily" - commit-message: - prefix: "chore(ci): " - groups: - github-actions: - patterns: - - "*" \ No newline at end of file +# Action version pins live in ApolloAutomation/Workflows (reusable workflows +# referenced @main), so this config normally has nothing to update. It stays +# as a safety net in case a version-pinned action is added here later. +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "monthly" + commit-message: + prefix: "chore(ci): " + groups: + github-actions: + patterns: + - "*" diff --git a/.github/workflows/autoassign.yml b/.github/workflows/autoassign.yml index af141fc..77bef44 100644 --- a/.github/workflows/autoassign.yml +++ b/.github/workflows/autoassign.yml @@ -1,19 +1,20 @@ name: Auto Assign + on: issues: types: [opened] pull_request: types: [opened] + +permissions: + issues: write + pull-requests: write + jobs: - run: - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - steps: - - name: 'Auto-assign issue' - uses: pozil/auto-assign-issue@v3 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - assignees: bharvey88 - numOfAssignee: 1 + auto-assign: + # Skip auto-assign for pull requests from forks due to GITHUB_TOKEN permission restrictions + if: github.event_name == 'issues' || github.event.pull_request.head.repo.full_name == github.repository + uses: ApolloAutomation/Workflows/.github/workflows/autoassign.yml@main + with: + assignees: bharvey88 + num-of-assignees: 1 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b718d08..44ed7b2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,33 +4,20 @@ on: pull_request: permissions: - # Allow GITHUB_TOKEN to add labels to pull requests pull-requests: write issues: write contents: read - id-token: write jobs: label-check: name: Label Check uses: ApolloAutomation/Workflows/.github/workflows/label-check.yml@main - + ci: - name: Building ${{ matrix.file }} - runs-on: ubuntu-latest - strategy: - matrix: - file: - - Integrations/ESPHome/TEMP_PRO-1_ETH.yaml - - Integrations/ESPHome/TEMP_PRO-1_W.yaml - esphome-version: - - stable - - beta - - dev - steps: - - name: Checkout source code - uses: actions/checkout@v6.0.2 - - name: Build ESPHome firmware to verify configuration - uses: esphome/build-action@v7 - with: - yaml-file: ${{ matrix.file }} \ No newline at end of file + name: CI + uses: ApolloAutomation/Workflows/.github/workflows/esphome-ci.yml@main + with: + yaml-files: | + Integrations/ESPHome/TEMP_PRO-1_ETH.yaml + Integrations/ESPHome/TEMP_PRO-1_W.yaml + diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml index 0d5a862..8894e9a 100644 --- a/.github/workflows/weekly.yml +++ b/.github/workflows/weekly.yml @@ -4,23 +4,15 @@ on: schedule: - cron: '0 0 * * 1' +permissions: + contents: read + jobs: build: - name: Building ${{ matrix.file }} - runs-on: ubuntu-latest - strategy: - matrix: - file: - - Integrations/ESPHome/TEMP_PRO-1_ETH.yaml - - Integrations/ESPHome/TEMP_PRO-1_W.yaml - esphome-version: - - stable - - beta - - dev - steps: - - name: Checkout source code - uses: actions/checkout@v6.0.2 - - name: Build ESPHome firmware to verify configuration - uses: esphome/build-action@v7 - with: - yaml-file: ${{ matrix.file }} \ No newline at end of file + name: Weekly Build + uses: ApolloAutomation/Workflows/.github/workflows/esphome-ci.yml@main + with: + yaml-files: | + Integrations/ESPHome/TEMP_PRO-1_ETH.yaml + Integrations/ESPHome/TEMP_PRO-1_W.yaml + From 8a3326469332383c38ca0bc92933b09414bcdb92 Mon Sep 17 00:00:00 2001 From: Trevor Schirmer Date: Tue, 7 Jul 2026 11:41:49 -0400 Subject: [PATCH 2/2] Limit CI matrix to ESPHome stable and beta The dev channel fails to compile due to the TemplateSelect .state removal on ESPHome dev; excluded until the firmware YAML is updated. Co-Authored-By: Claude Fable 5 --- .github/workflows/ci.yml | 4 ++++ .github/workflows/weekly.yml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 44ed7b2..5ff6644 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,4 +20,8 @@ jobs: yaml-files: | Integrations/ESPHome/TEMP_PRO-1_ETH.yaml Integrations/ESPHome/TEMP_PRO-1_W.yaml + # dev excluded until the TemplateSelect .state incompatibility is fixed + esphome-versions: | + stable + beta diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml index 8894e9a..914cdf2 100644 --- a/.github/workflows/weekly.yml +++ b/.github/workflows/weekly.yml @@ -15,4 +15,8 @@ jobs: yaml-files: | Integrations/ESPHome/TEMP_PRO-1_ETH.yaml Integrations/ESPHome/TEMP_PRO-1_W.yaml + # dev excluded until the TemplateSelect .state incompatibility is fixed + esphome-versions: | + stable + beta