diff --git a/.github/workflows/pkg-installer.yml b/.github/workflows/pkg-installer.yml index d36488c9bb..10dd384215 100644 --- a/.github/workflows/pkg-installer.yml +++ b/.github/workflows/pkg-installer.yml @@ -259,7 +259,7 @@ jobs: ${{ github.ref_name }}. No pkg installer was uploaded to the GitHub release. labels: bug,release blocker - update-existing: ${{ contains(needs.*.result, 'failure') }} + update-existing: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }} close-existing: ${{ needs.upload.result == 'success' }} close-from-author: github-actions[bot] close-comment: > diff --git a/.github/workflows/schemas.yml b/.github/workflows/sbom.yml similarity index 75% rename from .github/workflows/schemas.yml rename to .github/workflows/sbom.yml index 4bcf41f085..9bc5db2892 100644 --- a/.github/workflows/schemas.yml +++ b/.github/workflows/sbom.yml @@ -1,8 +1,8 @@ -name: Update schema data +name: Update SBOM schema on: push: paths: - - .github/workflows/schemas.yml + - .github/workflows/sbom.yml branches-ignore: - main - master @@ -18,7 +18,7 @@ defaults: shell: bash -xeuo pipefail {0} jobs: - spdx: + sbom: if: github.repository == 'Homebrew/brew' runs-on: ubuntu-latest steps: @@ -94,3 +94,26 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }} working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }} + + issue: + needs: sbom + if: always() && github.event_name == 'schedule' + runs-on: ubuntu-latest + env: + RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + permissions: + # To create or update issues + issues: write + steps: + - name: Open, update, or close schema issue + uses: Homebrew/actions/create-or-update-issue@main + with: + title: Failed to update SBOM schema + body: > + The SBOM schema workflow [failed](${{ env.RUN_URL }}). No SBOM schema was updated. + labels: bug + update-existing: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }} + close-existing: ${{ needs.sbom.result == 'success' }} + close-from-author: github-actions[bot] + close-comment: > + The SBOM schema workflow [succeeded](${{ env.RUN_URL }}). Closing this issue. diff --git a/.github/workflows/sorbet.yml b/.github/workflows/sorbet.yml index 1a7ebfda7d..bfec7cdde5 100644 --- a/.github/workflows/sorbet.yml +++ b/.github/workflows/sorbet.yml @@ -114,3 +114,26 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }} working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }} + + issue: + needs: tapioca + if: always() && github.event_name == 'schedule' + runs-on: ubuntu-latest + env: + RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + permissions: + # To create or update issues + issues: write + steps: + - name: Open, update, or close Sorbet issue + uses: Homebrew/actions/create-or-update-issue@main + with: + title: Failed to update RBI files + body: > + The Sorbet workflow [failed](${{ env.RUN_URL }}). No RBI files were updated. + labels: bug + update-existing: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }} + close-existing: ${{ needs.tapioca.result == 'success' }} + close-from-author: github-actions[bot] + close-comment: > + The Sorbet workflow [succeeded](${{ env.RUN_URL }}). Closing this issue. diff --git a/.github/workflows/spdx.yml b/.github/workflows/spdx.yml index 64a40e02ae..c6e38fabe5 100644 --- a/.github/workflows/spdx.yml +++ b/.github/workflows/spdx.yml @@ -88,3 +88,26 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }} working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }} + + issue: + needs: spdx + if: always() && github.event_name == 'schedule' + runs-on: ubuntu-latest + env: + RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + permissions: + # To create or update issues + issues: write + steps: + - name: Open, update, or close SPDX issue + uses: Homebrew/actions/create-or-update-issue@main + with: + title: Failed to update SPDX license data + body: > + The SPDX license data workflow [failed](${{ env.RUN_URL }}). No SPDX license data was updated. + labels: bug + update-existing: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }} + close-existing: ${{ needs.spdx.result == 'success' }} + close-from-author: github-actions[bot] + close-comment: > + The SPDX license data workflow [succeeded](${{ env.RUN_URL }}). Closing this issue. diff --git a/.github/workflows/sponsors-maintainers-man-completions.yml b/.github/workflows/sponsors-maintainers-man-completions.yml index 5d9bf103b4..c74ead84ba 100644 --- a/.github/workflows/sponsors-maintainers-man-completions.yml +++ b/.github/workflows/sponsors-maintainers-man-completions.yml @@ -138,3 +138,26 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_PUBLIC_REPO_TOKEN }} working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }} + + issue: + needs: updates + if: always() && github.event_name == 'schedule' + runs-on: ubuntu-latest + env: + RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + permissions: + # To create or update issues + issues: write + steps: + - name: Open, update, or close sponsors, maintainers, manpage and completions issue + uses: Homebrew/actions/create-or-update-issue@main + with: + title: Failed to update sponsors, maintainers, manpage and completions + body: > + The sponsors, maintainers, manpage and completions workflow [failed](${{ env.RUN_URL }}). No sponsors, maintainers, manpage and completions were updated. + labels: bug + update-existing: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }} + close-existing: ${{ needs.updates.result == 'success' }} + close-from-author: github-actions[bot] + close-comment: > + The sponsors, maintainers, manpage and completions workflow [succeeded](${{ env.RUN_URL }}). Closing this issue.