- split jobs into build/test/deploy
- test package on both macOS Intel and Apple Silicon
- cleanup some argument handling
- use `HOMEBREW_MACOS_OLDEST_SUPPORTED` naming to be consistent with
`brew.sh`
- note in `brew.sh` that `Distribution.xml` also needs updated (and do
so)
- various other little bits of style cleanup
v0.13 of the `markdownlint` gem just got released and it has
a few new rules which are docs ended up failing. This fixes
those linter errors so that CI is no longer red.
Rules:
MD055 - Tables: Each row must start and end with a '|'
MD057 - Tables: In the second row every column must have at least '---',
possibly surrounded with alignment ':' chars
- instead of setting a static `PKG_KEYCHAIN_PASSWORD` secret, generate
a random password from `openssl rand` instead.
- use `PKG_APPLE_ID_EMAIL` which makes the fact it's an email a bit
more obvious. I've created this new secret already and will delete the
old one after this is merged.
- bump the latest supported version of macOS
Before we used to evaluate all named arguments as local paths
first. This means that the following could be a name conflict.
$ brew edit src
If there was a local file or directory named src, it would default
to that. Otherwise it would search for a formula/cask with the
same name and return that.
Now it will only default to the local path if the named argument
starts or ends with a slash ('/') or includes a period ('.').
This means that in the event of a name clash with a normal package
name it will default to the package instead of the local file.
It also fixes an edge case where the following would be interpreted
as a tap name.
$ brew edit /src
fish's `set` doesn't modify the exit status when assigning a variable.
This means that `set -q VAR; or set VAR ...` will return an exit status
of 1 even if the variable is suceessfully set. By switching the commands
to `! set -q VAR; and set VAR ...`, this prevents the 1 from propogating
when running `eval (brew shellenv)`.
This environment variable allows telling Homebrew to use the `SUDO_USER`
variable to `sudo` through that user when Homebrew (Cask) attempts to
run `sudo`.
While we're here, clarify in some messaging that we're running `sudo`
and that that's the password we're asking for; the specific password is
configuration dependent and not the specific password for the user.
Similarly, remove the `Package installers may write to any location`
output; it's kinda spammy and doesn't feel like the right place.
If you're e.g. running Homebrew over `sudo`: shelling out to `whoami`
is less effective than just telling people which user you're running
as when we run the check.
This is more in keeping with the other DSL methods and Ruby
convention along with the fact that these socket names are
just used internally by launchd.