From 596166b37a2bf0c972881b0d49954704db4156c0 Mon Sep 17 00:00:00 2001 From: Trevor Schirmer Date: Tue, 7 Jul 2026 09:39:15 -0400 Subject: [PATCH] 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 d3da9ce..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@v4 - 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 7f4933f..a75cb6b 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 }} / ESPHome ${{ matrix.esphome-version }} - runs-on: ubuntu-latest - strategy: - matrix: - file: - - Integrations/ESPHome/PUMP-1.yaml - - Integrations/ESPHome/PUMP-1_Minimal.yaml - esphome-version: - - stable - - beta - - dev - steps: - - name: Checkout source code - uses: actions/checkout@v7.0.0 - - 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/PUMP-1.yaml + Integrations/ESPHome/PUMP-1_Minimal.yaml + diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml index e3d1543..df9ae07 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 }} / ESPHome ${{ matrix.esphome-version }} - runs-on: ubuntu-latest - strategy: - matrix: - file: - - Integrations/ESPHome/PUMP-1.yaml - - Integrations/ESPHome/PUMP-1_Minimal.yaml - esphome-version: - - stable - - beta - - dev - steps: - - name: Checkout source code - uses: actions/checkout@v7.0.0 - - 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/PUMP-1.yaml + Integrations/ESPHome/PUMP-1_Minimal.yaml +