This commit adds the missing permissions to the
actions publish script. The 'contents: write'
permission is required to publish releases and
the 'pull-requests: write' permission is required
to close the pull request after the changes are committed.
This commit enhances the publish actions script by
including a step to close the pull request after
committing the changes. The existing script deletes
the branch after pushing the commits, but lacks
the functionality to close the associated PR.
The previous PR changed how sockets were represented in the JSON
API for formulae and that would cause problems when trying to install
packages with service sockets. This provides backwards compatibility
until all users have upgraded to versions of homebrew that can deserialize
sockets hashes (maybe a couple weeks). Essentially, we store the
socket string when serializing sockets that were originally defined with
only the string parameter otherwise we serialize it to a hash.
The existing date version parsing regex only matches file names that
have a prefix (e.g., `ltopers-v2017-04-14.tar.gz`), so it doesn't
match files like `2023-09-28.tar.gz`. There are a handful of formulae
that have to manually specify the version as a result (e.g.,
`marksman`, `sqtop`, etc.). `bootloadhid` is also affected but that's
because the filename uses a dot as the prefix delimiter (e.g.,
`bootloadHID.2012-12-08.tar.gz`) and the regex only matches a hyphen.
This addresses these shortcomings by using `[._-]` as the prefix
delimiter and making it optional.
Co-authored-by: Markus Reiter <me@reitermark.us>
The existing date version parsing regex only matches file names that
have a prefix (e.g., `ltopers-v2017-04-14.tar.gz`), so it doesn't
match files like `2023-09-28.tar.gz`. There are a handful of formulae
that have to manually specify the version as a result (e.g.,
`marksman`, `sqtop`, etc.). `bootloadhid` is also affected but that's
because the filename uses a dot as the prefix delimiter (e.g.,
`bootloadHID.2012-12-08.tar.gz`) and the regex only matches a hyphen.
This addresses these shortcomings by using `[._-]` as the prefix
delimiter and making it optional.
- 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
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)`.