dependabot[bot]
1a81e9c5f3
Bump the github-actions group across 1 directory with 3 updates
...
Bumps the github-actions group with 3 updates in the / directory: [Homebrew/actions/setup-homebrew](https://github.com/homebrew/actions ), [github/codeql-action/upload-sarif](https://github.com/github/codeql-action ) and [Homebrew/actions/cache-homebrew-prefix](https://github.com/homebrew/actions ).
Updates `Homebrew/actions/setup-homebrew` from 2026.09.13.1 to 2026.09.21.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/1e34f2e2acaa766b7efacb8c26352e6abbb023f9...848c272c7bfe984a197bd4d16383f4c106ec61e6 )
Updates `github/codeql-action/upload-sarif` from 4.38.0 to 4.38.1
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/b96794f015dfd88f77b49b1c93e0fa7110f94c63...1c5b675653bb5c22dbe9b12b556ec555138e09fd )
Updates `Homebrew/actions/cache-homebrew-prefix` from 2026.09.13.1 to 2026.09.21.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/1e34f2e2acaa766b7efacb8c26352e6abbb023f9...848c272c7bfe984a197bd4d16383f4c106ec61e6 )
---
updated-dependencies:
- dependency-name: Homebrew/actions/setup-homebrew
dependency-version: 2026.09.21.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: github/codeql-action/upload-sarif
dependency-version: 4.38.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
- dependency-name: Homebrew/actions/cache-homebrew-prefix
dependency-version: 2026.09.21.1
dependency-type: direct:production
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-25 08:07:12 +00:00
Štefan Baebler
0a6d68a3b7
ci(swift_quality): Don't persist git credentials
...
Git credentials should not be needed in this Swift Quality check anymore after checkout.
Resolves https://docs.zizmor.sh/audits/#artipacked
2026-09-24 07:16:08 +02:00
Graeme Arthur and Claude Opus 5
07e0ce1570
Lint localised copy and enforce the UI-only layer
...
BrewUILint gains localized_copy (every literal is Text(bundle:comment:),
String(localized:bundle:comment:) or Text(verbatim:)) and
localization_layer (no localisation outside BrewUIComponents,
BrewFeature* and the app). The build workflow checks the catalogs
against the code after its Xcode build, the Swift Quality job runs
scripts/localize verify and writes the translation status to the step
summary. Also points the lint and build workflows at Homebrew/ — the
app folder was renamed from Brew/ and the workflows never followed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-09-22 23:24:46 +10:00
dependabot[bot]
9eedc8fd65
Bump the github-actions group across 1 directory with 2 updates
...
Bumps the github-actions group with 2 updates in the / directory: [Homebrew/actions/setup-homebrew](https://github.com/homebrew/actions ) and [github/codeql-action/upload-sarif](https://github.com/github/codeql-action ).
Updates `Homebrew/actions/setup-homebrew` from 2026.09.07.1 to 2026.09.13.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/f8d4222eb633e65c2a0157383cf80861fc7fae7f...1e34f2e2acaa766b7efacb8c26352e6abbb023f9 )
Updates `github/codeql-action/upload-sarif` from 4.37.9 to 4.38.0
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/cdf488f595d80d6e07e03d4674febd5ab45fa938...b96794f015dfd88f77b49b1c93e0fa7110f94c63 )
---
updated-dependencies:
- dependency-name: Homebrew/actions/setup-homebrew
dependency-version: 2026.09.13.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: github/codeql-action/upload-sarif
dependency-version: 4.38.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-18 08:08:12 +00:00
BrewTestBot
3b06d1e341
licenses.yml: update to match main configuration
2026-09-17 20:21:23 +00:00
BrewTestBot
80a9018bd9
check-licenses.sh: update to match main configuration
2026-09-17 20:21:23 +00:00
BrewTestBot
82ba3223fa
denied-licenses.txt: update to match main configuration
2026-09-17 20:21:23 +00:00
BrewTestBot
f9ce513843
licenses.yml: update to match main configuration
2026-09-17 14:43:54 +00:00
BrewTestBot
5851c4e79f
actionlint.yml: update to match main configuration
2026-09-17 14:43:54 +00:00
BrewTestBot
8b0bc05791
denied-licenses.txt: update to match main configuration
2026-09-17 14:43:54 +00:00
dependabot[bot]
d20b391eef
Bump the github-actions group across 1 directory with 3 updates
...
Bumps the github-actions group with 3 updates in the / directory: [Homebrew/actions/setup-homebrew](https://github.com/homebrew/actions ), [github/codeql-action/upload-sarif](https://github.com/github/codeql-action ) and [Homebrew/actions/cache-homebrew-prefix](https://github.com/homebrew/actions ).
Updates `Homebrew/actions/setup-homebrew` from 2026.09.07.1 to 2026.09.13.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/f8d4222eb633e65c2a0157383cf80861fc7fae7f...1e34f2e2acaa766b7efacb8c26352e6abbb023f9 )
Updates `github/codeql-action/upload-sarif` from 4.37.9 to 4.38.0
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/cdf488f595d80d6e07e03d4674febd5ab45fa938...b96794f015dfd88f77b49b1c93e0fa7110f94c63 )
Updates `Homebrew/actions/cache-homebrew-prefix` from 2026.09.07.1 to 2026.09.13.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/f8d4222eb633e65c2a0157383cf80861fc7fae7f...1e34f2e2acaa766b7efacb8c26352e6abbb023f9 )
---
updated-dependencies:
- dependency-name: Homebrew/actions/setup-homebrew
dependency-version: 2026.09.13.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: github/codeql-action/upload-sarif
dependency-version: 4.38.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: github-actions
- dependency-name: Homebrew/actions/cache-homebrew-prefix
dependency-version: 2026.09.13.1
dependency-type: direct:production
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-17 09:58:59 +00:00
Mike McQuaid
08afc260de
Consolidate documentation and agent guidance
...
- Keep the project overview and development setup in `README.md`.
- Put system design in `ARCHITECTURE.md` and detailed contributor and
agent guidance in `AGENTS.md`; symlink `CLAUDE.md` to that source.
- Remove duplicate rules, memory files and unused Jekyll tooling.
2026-09-17 08:51:47 +01:00
SurefireStudios
57f862f83c
Fix the remaining stale Brew paths in lint, CI and docs
...
`.swiftlint.yml` had `included: Brew`, so `swiftlint lint --strict` skipped
the app targets entirely; it now lists `Homebrew` and `HomebrewUpgradeHelper`.
`pr_build_test.yml` filtered on `Brew/**` and `Brew.entitlements`, so an
app-only change could skip Build and Test. No entitlements file exists
anywhere in the tree, so that entry is dropped rather than repointed.
BrewUILint's glob reached `Homebrew` but not `HomebrewUpgradeHelper`, leaving
2 files unlinted; CI, `scripts/pre-commit` and AGENTS.md now agree on
`find Homebrew HomebrewUpgradeHelper Sources`.
CONVENTIONS.md and two Cursor rules pointed at `Brew/Models/HomebrewPackageReference.swift`
and `Brew/PreviewSupport/AppPreviewSupport.swift`, neither of which exists under
any prefix; they now point at `Sources/BrewCore/Models/HomebrewPackageID.swift`
and `Sources/BrewRepositoryInterfaces/PreviewSupport/PreviewSupport.swift`.
2026-09-16 08:51:20 -07:00
SurefireStudios
45d2a0a7c9
Run Swift Quality when its own workflow changes
...
The paths filter did not list swift_quality.yml, so edits to the lint and
format job were never exercised by that job. Adding it means this change to
the BrewUILint glob is validated by the run it affects.
2026-09-15 23:06:11 -07:00
SurefireStudios
7233d4f0a8
Lint the app in CI, and fix stale Brew/ paths
...
`swift_quality.yml` ran BrewUILint over `find Brew Sources`. There is no
`Brew` directory, so `find` errored and matched only `Sources`, silently
skipping the 17 Swift files in `Homebrew/`. `scripts/pre-commit` already
uses `find Homebrew Sources`; CI now matches it.
The same rename left `Brew/` in the docs: two dead links in CONVENTIONS.md,
and a `Brew/**/*.swift` glob in design-system.mdc that never matches, so the
Cursor design-system rule never applied to any file.
2026-09-15 23:00:01 -07:00
BrewTestBot
44209b01f4
check-prs.yml: update to match main configuration
2026-09-15 18:46:22 +00:00
BrewTestBot
eef3acb05b
check-issues.yml: update to match main configuration
2026-09-15 18:46:22 +00:00
Mike McQuaid
0854aca577
Run Homebrew through isolated zsh
...
- Read user configuration from `brew.env`, independent of shell setup.
- Filter system startup banners while preserving startup diagnostics.
- Drain terminal output before closing its descriptors to prevent loss.
- Use the same restricted environment for app self-upgrades.
- Document the policy and configure live CI through `brew.env`.
2026-09-15 13:32:19 +01:00
Mike McQuaid
39a529cd8a
Require before and after PR screenshots
2026-09-15 11:38:25 +01:00
Patrick Linnane
6f82c1899a
Remove template warnings once resolved
...
Signed-off-by: Patrick Linnane <patrick@linnane.io >
2026-09-14 12:35:49 -07:00
Mike McQuaid
ad26b713be
Add and enforce issue and PR templates
...
- Ask for reproducible app bugs and concrete feature requests.
- Adapt Homebrew's checks while accepting existing crash reports.
- Check fork PRs using trusted code without a repository checkout.
2026-09-14 20:04:22 +01:00
dependabot[bot]
8e36e97668
Bump the github-actions group across 1 directory with 5 updates
...
Bumps the github-actions group with 5 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [Homebrew/actions/setup-homebrew](https://github.com/homebrew/actions ) | `2026.08.31.1` | `2026.09.07.1` |
| [Homebrew/actions/setup-ruby](https://github.com/homebrew/actions ) | `2026.08.31.1` | `2026.09.07.1` |
| [actions/deploy-pages](https://github.com/actions/deploy-pages ) | `5.0.0` | `5.0.1` |
| [Homebrew/actions/create-or-update-issue](https://github.com/homebrew/actions ) | `2026.08.31.1` | `2026.09.07.1` |
| [Homebrew/actions/cache-homebrew-prefix](https://github.com/homebrew/actions ) | `2026.08.31.1` | `2026.09.07.1` |
Updates `Homebrew/actions/setup-homebrew` from 2026.08.31.1 to 2026.09.07.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/3cdb78d0f62ad29dd32de765782654f4eedea607...f8d4222eb633e65c2a0157383cf80861fc7fae7f )
Updates `Homebrew/actions/setup-ruby` from 2026.08.31.1 to 2026.09.07.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/3cdb78d0f62ad29dd32de765782654f4eedea607...f8d4222eb633e65c2a0157383cf80861fc7fae7f )
Updates `actions/deploy-pages` from 5.0.0 to 5.0.1
- [Release notes](https://github.com/actions/deploy-pages/releases )
- [Commits](https://github.com/actions/deploy-pages/compare/cd2ce8fcbc39b97be8ca5fce6e763baed58fa128...368f82528645a54fb793d4d04e342629a3f51346 )
Updates `Homebrew/actions/create-or-update-issue` from 2026.08.31.1 to 2026.09.07.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/3cdb78d0f62ad29dd32de765782654f4eedea607...f8d4222eb633e65c2a0157383cf80861fc7fae7f )
Updates `Homebrew/actions/cache-homebrew-prefix` from 2026.08.31.1 to 2026.09.07.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/3cdb78d0f62ad29dd32de765782654f4eedea607...f8d4222eb633e65c2a0157383cf80861fc7fae7f )
---
updated-dependencies:
- dependency-name: Homebrew/actions/setup-homebrew
dependency-version: 2026.09.07.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/setup-ruby
dependency-version: 2026.09.07.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: actions/deploy-pages
dependency-version: 5.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
- dependency-name: Homebrew/actions/create-or-update-issue
dependency-version: 2026.09.07.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/cache-homebrew-prefix
dependency-version: 2026.09.07.1
dependency-type: direct:production
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-11 08:08:55 +00:00
Graeme Arthur
363dd1c312
Run the live canaries on every pull request
...
Nightly cron only fires on the default branch, so the suite would have
gone unrun until after it merged, and the first real evidence it works
would have arrived on main. Moving it to pull_request means it is exercised
where it can still be fixed.
It stays a separate job rather than joining the deterministic suite's:
Brew-UI still skips these tests by name, so a live failure reads as a
live failure and never as a broken fixture-backed test. Concurrency now
keys on the pull request, since queueing every PR behind one run only made
sense while the group modelled a single shared machine.
The workflow file loses its `_nightly` name, and the docs that promised a
nightly schedule now say what actually happens.
2026-09-06 15:33:27 +10:00
Graeme Arthur
81bde36a2a
Show what a flaky live canary looked like
...
Two gaps in a suite that retries. A failure's message says an element was
missing; it cannot say whether a dialog was covering the app, which is how
the last one actually failed. And a retry that turns red into green leaves
a run that reads as clean.
BrewUITestCase now attaches a screenshot of the whole screen to every
issue it records, so the picture lands in the result bundle CI uploads.
It goes in as PNG data rather than as the XCUIScreenshot, which cannot
cross out of the main actor into this nonisolated override. Both the
attachment and the plan keep screenshots always: the interesting one
belongs to a failed attempt of a test that ultimately passed, and
deleteOnSuccess prunes exactly that.
The plan now retries a failing test twice rather than once, and
annotate-flaky-tests reads the result bundle afterwards and names any test
that needed more than one run to pass — a ::warning:: annotation on GitHub,
plain text locally, never a failure by itself. It also tells the workflow
to keep the bundle for a green-but-retried run, so the evidence the
annotation points at still exists.
2026-09-06 15:33:27 +10:00
Graeme Arthur
b74b540176
Trim comments to why-notes
...
The live suite's comments restated what the code says and argued its own
design at length. What survives is the part a reader cannot recover: that
a login shell keeps exported variables, that a real inventory virtualizes
so an installed row may never render, that cleanup runs after the app is
terminated to stay clear of Homebrew's lock, and why the runner must be
signed. The reasoning behind the rest is in the commits and in
E2E/README.md, which is where it belongs.
2026-09-06 15:33:27 +10:00
Graeme Arthur
bf72375fa9
Run the live canaries nightly
...
A canary nobody runs is a canary that reports nothing, so the suite gets a
schedule rather than only a plan: nightly on an ephemeral GitHub runner,
which ships Homebrew and has egress to formulae.brew.sh and ghcr.io, and
by hand before cutting a release — the moment you most want to know brew
has not shifted under the app. The release workflow is deliberately not
wired to it; that stays a decision someone makes.
Concurrency is keyed on the workflow rather than the ref, because two runs
would fight over one machine's brew state.
scripts/test-e2e mirrors scripts/test-ui, including its refusal to pass
-derivedDataPath, and leads with what it does to the machine it runs on:
this one installs and uninstalls a formula, and the script is the last
place that fact can be read before it happens.
2026-09-06 15:31:51 +10:00
dependabot[bot]
4f4550919c
Bump the github-actions group across 1 directory with 5 updates
...
Bumps the github-actions group with 5 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [Homebrew/actions/setup-homebrew](https://github.com/homebrew/actions ) | `2026.08.24.1` | `2026.08.31.1` |
| [github/codeql-action/upload-sarif](https://github.com/github/codeql-action ) | `4.37.8` | `4.37.9` |
| [Homebrew/actions/setup-ruby](https://github.com/homebrew/actions ) | `2026.08.24.1` | `2026.08.31.1` |
| [Homebrew/actions/create-or-update-issue](https://github.com/homebrew/actions ) | `2026.08.24.1` | `2026.08.31.1` |
| [Homebrew/actions/cache-homebrew-prefix](https://github.com/homebrew/actions ) | `2026.08.24.1` | `2026.08.31.1` |
Updates `Homebrew/actions/setup-homebrew` from 2026.08.24.1 to 2026.08.31.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/a657b8b0cd35d0f65cce41fce9b24cf054b49869...3cdb78d0f62ad29dd32de765782654f4eedea607 )
Updates `github/codeql-action/upload-sarif` from 4.37.8 to 4.37.9
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28...cdf488f595d80d6e07e03d4674febd5ab45fa938 )
Updates `Homebrew/actions/setup-ruby` from 2026.08.24.1 to 2026.08.31.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/a657b8b0cd35d0f65cce41fce9b24cf054b49869...3cdb78d0f62ad29dd32de765782654f4eedea607 )
Updates `Homebrew/actions/create-or-update-issue` from 2026.08.24.1 to 2026.08.31.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/a657b8b0cd35d0f65cce41fce9b24cf054b49869...3cdb78d0f62ad29dd32de765782654f4eedea607 )
Updates `Homebrew/actions/cache-homebrew-prefix` from 2026.08.24.1 to 2026.08.31.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/a657b8b0cd35d0f65cce41fce9b24cf054b49869...3cdb78d0f62ad29dd32de765782654f4eedea607 )
---
updated-dependencies:
- dependency-name: Homebrew/actions/setup-homebrew
dependency-version: 2026.08.31.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: github/codeql-action/upload-sarif
dependency-version: 4.37.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
- dependency-name: Homebrew/actions/setup-ruby
dependency-version: 2026.08.31.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/create-or-update-issue
dependency-version: 2026.08.31.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/cache-homebrew-prefix
dependency-version: 2026.08.31.1
dependency-type: direct:production
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-04 08:08:38 +00:00
BrewTestBot
d6442a6a17
actionlint.yml: update to match main configuration
2026-09-02 17:34:46 +00:00
dependabot[bot]
88cc075d1c
Bump the github-actions group across 1 directory with 5 updates
...
Bumps the github-actions group with 5 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [Homebrew/actions/setup-homebrew](https://github.com/homebrew/actions ) | `2026.08.14.1` | `2026.08.24.1` |
| [Homebrew/actions/cache-homebrew-prefix](https://github.com/homebrew/actions ) | `2026.08.14.1` | `2026.08.24.1` |
| [github/codeql-action/upload-sarif](https://github.com/github/codeql-action ) | `4.37.7` | `4.37.8` |
| [Homebrew/actions/setup-ruby](https://github.com/homebrew/actions ) | `2026.08.14.1` | `2026.08.24.1` |
| [Homebrew/actions/create-or-update-issue](https://github.com/homebrew/actions ) | `2026.08.14.1` | `2026.08.24.1` |
Updates `Homebrew/actions/setup-homebrew` from 2026.08.14.1 to 2026.08.24.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/8f3d1ec8a696b3b9d9a6c3696b6c73033cab69e4...a657b8b0cd35d0f65cce41fce9b24cf054b49869 )
Updates `Homebrew/actions/cache-homebrew-prefix` from 2026.08.14.1 to 2026.08.24.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/8f3d1ec8a696b3b9d9a6c3696b6c73033cab69e4...a657b8b0cd35d0f65cce41fce9b24cf054b49869 )
Updates `github/codeql-action/upload-sarif` from 4.37.7 to 4.37.8
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd...db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 )
Updates `Homebrew/actions/setup-ruby` from 2026.08.14.1 to 2026.08.24.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/8f3d1ec8a696b3b9d9a6c3696b6c73033cab69e4...a657b8b0cd35d0f65cce41fce9b24cf054b49869 )
Updates `Homebrew/actions/create-or-update-issue` from 2026.08.14.1 to 2026.08.24.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/8f3d1ec8a696b3b9d9a6c3696b6c73033cab69e4...a657b8b0cd35d0f65cce41fce9b24cf054b49869 )
---
updated-dependencies:
- dependency-name: Homebrew/actions/setup-homebrew
dependency-version: 2026.08.24.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/cache-homebrew-prefix
dependency-version: 2026.08.24.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: github/codeql-action/upload-sarif
dependency-version: 4.37.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
- dependency-name: Homebrew/actions/setup-ruby
dependency-version: 2026.08.24.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/create-or-update-issue
dependency-version: 2026.08.24.1
dependency-type: direct:production
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-28 08:09:11 +00:00
dependabot[bot]
43a0c97f3d
Bump the github-actions group across 1 directory with 5 updates
...
Bumps the github-actions group with 5 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [Homebrew/actions/setup-homebrew](https://github.com/homebrew/actions ) | `2026.08.10.2` | `2026.08.14.1` |
| [Homebrew/actions/cache-homebrew-prefix](https://github.com/homebrew/actions ) | `2026.08.10.2` | `2026.08.14.1` |
| [github/codeql-action/upload-sarif](https://github.com/github/codeql-action ) | `4.37.6` | `4.37.7` |
| [Homebrew/actions/setup-ruby](https://github.com/homebrew/actions ) | `2026.08.10.2` | `2026.08.14.1` |
| [Homebrew/actions/create-or-update-issue](https://github.com/homebrew/actions ) | `2026.08.10.2` | `2026.08.14.1` |
Updates `Homebrew/actions/setup-homebrew` from 2026.08.10.2 to 2026.08.14.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/b35a29a0f83ee8b8ca07b219fc8db3d7bb88ab49...8f3d1ec8a696b3b9d9a6c3696b6c73033cab69e4 )
Updates `Homebrew/actions/cache-homebrew-prefix` from 2026.08.10.2 to 2026.08.14.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/b35a29a0f83ee8b8ca07b219fc8db3d7bb88ab49...8f3d1ec8a696b3b9d9a6c3696b6c73033cab69e4 )
Updates `github/codeql-action/upload-sarif` from 4.37.6 to 4.37.7
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/5595ccaf912efad79be6eef63a5619ff05969be3...ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd )
Updates `Homebrew/actions/setup-ruby` from 2026.08.10.2 to 2026.08.14.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/b35a29a0f83ee8b8ca07b219fc8db3d7bb88ab49...8f3d1ec8a696b3b9d9a6c3696b6c73033cab69e4 )
Updates `Homebrew/actions/create-or-update-issue` from 2026.08.10.2 to 2026.08.14.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/b35a29a0f83ee8b8ca07b219fc8db3d7bb88ab49...8f3d1ec8a696b3b9d9a6c3696b6c73033cab69e4 )
---
updated-dependencies:
- dependency-name: Homebrew/actions/setup-homebrew
dependency-version: 2026.08.14.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/cache-homebrew-prefix
dependency-version: 2026.08.14.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: github/codeql-action/upload-sarif
dependency-version: 4.37.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
- dependency-name: Homebrew/actions/setup-ruby
dependency-version: 2026.08.14.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/create-or-update-issue
dependency-version: 2026.08.14.1
dependency-type: direct:production
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-21 08:08:19 +00:00
dependabot[bot]
becf0c6ee9
Bump the github-actions group across 1 directory with 6 updates
...
Bumps the github-actions group with 6 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [Homebrew/actions/setup-homebrew](https://github.com/homebrew/actions ) | `2026.08.03.2` | `2026.08.10.2` |
| [Homebrew/actions/cache-homebrew-prefix](https://github.com/homebrew/actions ) | `2026.08.03.2` | `2026.08.10.2` |
| [github/codeql-action/upload-sarif](https://github.com/github/codeql-action ) | `4.37.4` | `4.37.6` |
| [Homebrew/actions/setup-ruby](https://github.com/homebrew/actions ) | `2026.08.03.2` | `2026.08.10.2` |
| [Homebrew/actions/create-or-update-issue](https://github.com/homebrew/actions ) | `2026.08.03.2` | `2026.08.10.2` |
| [actions/attest](https://github.com/actions/attest ) | `4.2.1` | `4.2.2` |
Updates `Homebrew/actions/setup-homebrew` from 2026.08.03.2 to 2026.08.10.2
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/fd832223f9f99ebf0244dd20658680e5d4aca049...b35a29a0f83ee8b8ca07b219fc8db3d7bb88ab49 )
Updates `Homebrew/actions/cache-homebrew-prefix` from 2026.08.03.2 to 2026.08.10.2
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/fd832223f9f99ebf0244dd20658680e5d4aca049...b35a29a0f83ee8b8ca07b219fc8db3d7bb88ab49 )
Updates `github/codeql-action/upload-sarif` from 4.37.4 to 4.37.6
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/f205ea1c3313d32999d8d6a48b4f6530d4437b38...5595ccaf912efad79be6eef63a5619ff05969be3 )
Updates `Homebrew/actions/setup-ruby` from 2026.08.03.2 to 2026.08.10.2
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/fd832223f9f99ebf0244dd20658680e5d4aca049...b35a29a0f83ee8b8ca07b219fc8db3d7bb88ab49 )
Updates `Homebrew/actions/create-or-update-issue` from 2026.08.03.2 to 2026.08.10.2
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/fd832223f9f99ebf0244dd20658680e5d4aca049...b35a29a0f83ee8b8ca07b219fc8db3d7bb88ab49 )
Updates `actions/attest` from 4.2.1 to 4.2.2
- [Release notes](https://github.com/actions/attest/releases )
- [Changelog](https://github.com/actions/attest/blob/main/RELEASE.md )
- [Commits](https://github.com/actions/attest/compare/508db95dd578ae2727ebd6217d5ba78e4fbda05d...1e69f48acb82d1966a394da916b4c1698aa569d6 )
---
updated-dependencies:
- dependency-name: Homebrew/actions/setup-homebrew
dependency-version: 2026.08.10.2
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/cache-homebrew-prefix
dependency-version: 2026.08.10.2
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: github/codeql-action/upload-sarif
dependency-version: 4.37.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
- dependency-name: Homebrew/actions/setup-ruby
dependency-version: 2026.08.10.2
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/create-or-update-issue
dependency-version: 2026.08.10.2
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: actions/attest
dependency-version: 4.2.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-14 08:10:46 +00:00
Graeme Arthur
136624ce7c
Merge pull request #122 from Homebrew/ui-tests-phase-2
...
UI testing - accessibility IDs, seams and suite
2026-08-09 23:14:47 +10:00
Graeme Arthur and Claude Opus 5
592ff07f83
Allow Build and Test to be dispatched manually
...
Lets the workflow be run against any branch from the Actions tab, and takes
an optional -only-testing filter so a single UI test can be re-run without
pushing a commit. The filter reaches the script through the environment
rather than being interpolated into the run block, so the input cannot
inject shell.
The concurrency group gains a ref fallback: a dispatched run has no pull
request number, so without it every manual run would share one group and
cancel whichever was already going.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-09 22:10:52 +10:00
Graeme Arthur and Claude Opus 5
d951d65227
Stop persisting checkout credentials in the build job
...
actions/checkout leaves a token in .git/config by default, and this job
uploads artifacts on failure, so the credential can ride along. Nothing
here pushes, so dropping it costs nothing. Flagged by zizmor; the rest of
the repository's workflows already set this.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-09 22:10:33 +10:00
Graeme Arthur and Claude Opus 5
7a42a5a529
Run the UI suite locally and in CI
...
scripts/test-ui mirrors what CI runs, so green locally means green on CI.
It deliberately does not override -derivedDataPath: a project-relative
DerivedData location reproducibly makes the test runner hang for around
five minutes before failing to establish a connection, where the identical
run against the default location passes in seconds.
The ui-test CI job runs alongside the unit job with no needs: dependency,
so UI coverage costs wall-clock time on a separate runner rather than
sitting on the critical path.
It replaces ui_smoke.yml, which triggered on the same pull_request event
and ran the same Brew-UI scheme, so keeping both would run every test
twice. Its inline signing block is gone with it: the default path was the
ad-hoc signing scripts/test-ui already does, and keeping the logic in the
script is what keeps a local run honest about CI.
TROUBLESHOOTING.md covers the things that make a local run fail for
reasons unrelated to the code, since the suite drives real windows and
real input.
Also ignores the artefacts a UI run leaves behind: coverage drops .profraw
wherever an instrumented binary runs, and the script writes a result bundle
at the repository root.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-09 22:10:22 +10:00
dependabot[bot]
2f2a8df7ae
Bump github/codeql-action/upload-sarif
...
Bumps the github-actions group with 1 update in the / directory: [github/codeql-action/upload-sarif](https://github.com/github/codeql-action ).
Updates `github/codeql-action/upload-sarif` from 4.37.3 to 4.37.4
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81...f205ea1c3313d32999d8d6a48b4f6530d4437b38 )
---
updated-dependencies:
- dependency-name: github/codeql-action/upload-sarif
dependency-version: 4.37.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-07 08:08:59 +00:00
dependabot[bot]
1f6ed2a635
Bump the github-actions group across 1 directory with 4 updates
...
Bumps the github-actions group with 4 updates in the / directory: [Homebrew/actions/setup-homebrew](https://github.com/homebrew/actions ), [Homebrew/actions/cache-homebrew-prefix](https://github.com/homebrew/actions ), [Homebrew/actions/setup-ruby](https://github.com/homebrew/actions ) and [Homebrew/actions/create-or-update-issue](https://github.com/homebrew/actions ).
Updates `Homebrew/actions/setup-homebrew` from 2026.07.20.1 to 2026.08.03.2
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/2026.07.20.1...fd832223f9f99ebf0244dd20658680e5d4aca049 )
Updates `Homebrew/actions/cache-homebrew-prefix` from 2026.07.29.1 to 2026.08.03.2
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/2026.07.29.1...fd832223f9f99ebf0244dd20658680e5d4aca049 )
Updates `Homebrew/actions/setup-ruby` from 2026.07.20.1 to 2026.08.03.2
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/df4b09108a1de9d6f995fe68f302b3f68bd6d2ef...fd832223f9f99ebf0244dd20658680e5d4aca049 )
Updates `Homebrew/actions/create-or-update-issue` from 2026.07.20.1 to 2026.08.03.2
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/df4b09108a1de9d6f995fe68f302b3f68bd6d2ef...fd832223f9f99ebf0244dd20658680e5d4aca049 )
---
updated-dependencies:
- dependency-name: Homebrew/actions/setup-homebrew
dependency-version: 2026.08.03.2
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/cache-homebrew-prefix
dependency-version: 2026.08.03.2
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/setup-ruby
dependency-version: 2026.08.03.2
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/create-or-update-issue
dependency-version: 2026.08.03.2
dependency-type: direct:production
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-05 02:47:44 +00:00
BrewTestBot
8357118493
licenses.yml: update to match main configuration
2026-08-05 02:09:37 +00:00
BrewTestBot
1f0965b477
docs.yml: update to match main configuration
2026-08-05 02:09:37 +00:00
BrewTestBot
5e24da895d
actionlint.yml: update to match main configuration
2026-08-05 02:09:37 +00:00
BrewTestBot
e8d8e53748
dependabot.yml: update to match main configuration
2026-08-05 02:09:37 +00:00
dependabot[bot]
c62f60b639
Bump the github-actions group across 1 directory with 6 updates
...
Bumps the github-actions group with 6 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [Homebrew/actions/setup-homebrew](https://github.com/homebrew/actions ) | `2026.07.20.1` | `2026.07.29.1` |
| [Homebrew/actions/cache-homebrew-prefix](https://github.com/homebrew/actions ) | `2026.07.20.1` | `2026.07.29.1` |
| [Homebrew/actions/setup-ruby](https://github.com/homebrew/actions ) | `2026.07.20.1` | `2026.07.29.1` |
| [Homebrew/actions/create-or-update-issue](https://github.com/homebrew/actions ) | `2026.07.20.1` | `2026.07.29.1` |
| [actions/attest](https://github.com/actions/attest ) | `4.2.0` | `4.2.1` |
| [actions/stale](https://github.com/actions/stale ) | `10.4.0` | `11.0.0` |
Updates `Homebrew/actions/setup-homebrew` from 2026.07.20.1 to 2026.07.29.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/df4b09108a1de9d6f995fe68f302b3f68bd6d2ef...9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac )
Updates `Homebrew/actions/cache-homebrew-prefix` from 2026.07.20.1 to 2026.07.29.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/df4b09108a1de9d6f995fe68f302b3f68bd6d2ef...9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac )
Updates `Homebrew/actions/setup-ruby` from 2026.07.20.1 to 2026.07.29.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/df4b09108a1de9d6f995fe68f302b3f68bd6d2ef...9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac )
Updates `Homebrew/actions/create-or-update-issue` from 2026.07.20.1 to 2026.07.29.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/df4b09108a1de9d6f995fe68f302b3f68bd6d2ef...9af03b7ae3f9e2ae5c174f659d5c3909f7e7dbac )
Updates `actions/attest` from 4.2.0 to 4.2.1
- [Release notes](https://github.com/actions/attest/releases )
- [Changelog](https://github.com/actions/attest/blob/main/RELEASE.md )
- [Commits](https://github.com/actions/attest/compare/f7c74d28b9d84cb8768d0b8ca14a4bac6ef463e6...508db95dd578ae2727ebd6217d5ba78e4fbda05d )
Updates `actions/stale` from 10.4.0 to 11.0.0
- [Release notes](https://github.com/actions/stale/releases )
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/stale/compare/1e223db275d687790206a7acac4d1a11bd6fe629...4391f3da665fdf50b6810c1a66712fb9ba21aa93 )
---
updated-dependencies:
- dependency-name: Homebrew/actions/setup-homebrew
dependency-version: 2026.07.29.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/cache-homebrew-prefix
dependency-version: 2026.07.29.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/setup-ruby
dependency-version: 2026.07.29.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: Homebrew/actions/create-or-update-issue
dependency-version: 2026.07.29.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: actions/attest
dependency-version: 4.2.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
- dependency-name: actions/stale
dependency-version: 11.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-05 01:45:05 +00:00
BrewTestBot
f944ffc527
dependabot.yml: update to match main configuration
2026-08-05 01:33:51 +00:00
dependabot[bot]
1fa1510ca2
Bump the github-actions group across 1 directory with 2 updates
...
Bumps the github-actions group with 2 updates in the / directory: [Homebrew/actions/cache-homebrew-prefix](https://github.com/homebrew/actions ) and [github/codeql-action/upload-sarif](https://github.com/github/codeql-action ).
Updates `Homebrew/actions/cache-homebrew-prefix` from 2026.07.13.1 to 2026.07.20.1
- [Release notes](https://github.com/homebrew/actions/releases )
- [Changelog](https://github.com/Homebrew/actions/blob/main/release.test.mts )
- [Commits](https://github.com/homebrew/actions/compare/2026.07.13.1...df4b09108a1de9d6f995fe68f302b3f68bd6d2ef )
Updates `github/codeql-action/upload-sarif` from 4.37.1 to 4.37.3
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/7188fc363630916deb702c7fdcf4e481b751f97a...e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 )
---
updated-dependencies:
- dependency-name: Homebrew/actions/cache-homebrew-prefix
dependency-version: 2026.07.20.1
dependency-type: direct:production
dependency-group: github-actions
- dependency-name: github/codeql-action/upload-sarif
dependency-version: 4.37.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-31 08:08:41 +00:00
BrewTestBot
0d3ba6ae5f
licenses.yml: update to match main configuration
2026-07-29 17:35:58 +00:00
BrewTestBot
601aa90242
licenses.yml: update to match main configuration
2026-07-29 13:44:10 +00:00
BrewTestBot
3307aaea28
denied-licenses.txt: update to match main configuration
2026-07-29 13:44:10 +00:00
Graeme Arthur
4e5095cc70
Merge pull request #97 from Homebrew/dependabot/github_actions/github-actions-990bca9593
...
Bump the github-actions group across 1 directory with 7 updates
2026-07-28 22:49:25 +10:00
Graeme Arthur
f0a1d0b810
Don't run the signed build for Dependabot
2026-07-28 22:36:11 +10:00
Graeme Arthur and Copilot Autofix powered by AI
2a8867c954
Add Brewfile to paths
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-07-28 21:44:18 +10:00