mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
workflows/build-pkg: actually try to install package.
- This should help avoid this regressing - Remove existing Homebrew installation(s) - Install it twice to ensure that installing over the top of an existing installation works as expected - Remove existing API cache to ensure we have the freshest files from the API in our package
This commit is contained in:
parent
3db1acf3e3
commit
2b0471c122
39
.github/workflows/build-pkg.yml
vendored
39
.github/workflows/build-pkg.yml
vendored
@ -3,7 +3,7 @@ on:
|
|||||||
push:
|
push:
|
||||||
paths:
|
paths:
|
||||||
- .github/workflows/build-pkg.yml
|
- .github/workflows/build-pkg.yml
|
||||||
- package/scripts
|
- package/
|
||||||
release:
|
release:
|
||||||
types:
|
types:
|
||||||
- published
|
- published
|
||||||
@ -23,6 +23,9 @@ jobs:
|
|||||||
HOMEBREW_NO_ANALYTICS_THIS_RUN: 1
|
HOMEBREW_NO_ANALYTICS_THIS_RUN: 1
|
||||||
HOMEBREW_NO_ANALYTICS_MESSAGE_OUTPUT: 1
|
HOMEBREW_NO_ANALYTICS_MESSAGE_OUTPUT: 1
|
||||||
steps:
|
steps:
|
||||||
|
- name: Remove existing API cache (to force update)
|
||||||
|
run: rm -rvf ~/Library/Caches/Homebrew/api
|
||||||
|
|
||||||
- name: Set up Homebrew
|
- name: Set up Homebrew
|
||||||
id: set-up-homebrew
|
id: set-up-homebrew
|
||||||
uses: Homebrew/actions/setup-homebrew@master
|
uses: Homebrew/actions/setup-homebrew@master
|
||||||
@ -101,6 +104,40 @@ jobs:
|
|||||||
--package-path Homebrew.pkg Homebrew-${{ steps.print-version.outputs.version }}.pkg
|
--package-path Homebrew.pkg Homebrew-${{ steps.print-version.outputs.version }}.pkg
|
||||||
--sign "${PKG_APPLE_DEVELOPER_TEAM_ID}"
|
--sign "${PKG_APPLE_DEVELOPER_TEAM_ID}"
|
||||||
|
|
||||||
|
- name: Remove existing Homebrew installations
|
||||||
|
run: |
|
||||||
|
sudo rm -rf brew /{usr/local,opt/homebrew}/{Cellar,Caskroom,Homebrew/Library/Taps}
|
||||||
|
brew cleanup --prune-prefix
|
||||||
|
sudo rm -rf /usr/local/{bin/brew,Homebrew} /opt/homebrew /home/linuxbrew
|
||||||
|
|
||||||
|
- name: Zero existing installer logs
|
||||||
|
run: echo | sudo tee /var/log/install.log
|
||||||
|
|
||||||
|
- name: Install Homebrew from installer package
|
||||||
|
run: sudo installer -verbose -pkg Homebrew-${{ steps.print-version.outputs.version }}.pkg -target /
|
||||||
|
|
||||||
|
- name: Output installer logs
|
||||||
|
if: ${{ always() }}
|
||||||
|
run: sudo cat /var/log/install.log
|
||||||
|
|
||||||
|
- run: brew config
|
||||||
|
|
||||||
|
- run: brew doctor
|
||||||
|
|
||||||
|
- name: Zero existing installer logs (again)
|
||||||
|
run: echo | sudo tee /var/log/install.log
|
||||||
|
|
||||||
|
- name: Reinstall Homebrew from installer package
|
||||||
|
run: sudo installer -verbose -pkg Homebrew-${{ steps.print-version.outputs.version }}.pkg -target /
|
||||||
|
|
||||||
|
- name: Output installer logs (again)
|
||||||
|
if: ${{ always() }}
|
||||||
|
run: sudo cat /var/log/install.log
|
||||||
|
|
||||||
|
- run: brew config
|
||||||
|
|
||||||
|
- run: brew doctor
|
||||||
|
|
||||||
- name: Notarize Homebrew installer package
|
- name: Notarize Homebrew installer package
|
||||||
env:
|
env:
|
||||||
PKG_APPLE_ID_USERNAME: ${{ secrets.PKG_APPLE_ID_USERNAME }}
|
PKG_APPLE_ID_USERNAME: ${{ secrets.PKG_APPLE_ID_USERNAME }}
|
||||||
|
@ -27,18 +27,19 @@ git config --global --add safe.directory "${homebrew_directory}"
|
|||||||
git reset --hard
|
git reset --hard
|
||||||
git checkout --force master
|
git checkout --force master
|
||||||
git branch | grep -v '\*' | xargs -n 1 git branch --delete --force
|
git branch | grep -v '\*' | xargs -n 1 git branch --delete --force
|
||||||
git config --global --unset safe.directory
|
git config --global --unset safe.directory "${homebrew_directory}"
|
||||||
|
|
||||||
# move to /usr/local if on x86_64
|
# move to /usr/local if on x86_64
|
||||||
if [[ $(uname -m) == "x86_64" ]]
|
if [[ $(uname -m) == "x86_64" ]]
|
||||||
then
|
then
|
||||||
mv -v "${homebrew_directory}" "/usr/local/Homebrew"
|
sudo mkdir -vp /usr/local/bin /usr/local/Homebrew
|
||||||
|
cp -a "${homebrew_directory}"/* "${homebrew_directory}/".??* "/usr/local/Homebrew/"
|
||||||
|
|
||||||
# create symlink to /usr/local/bin/brew
|
# create symlink to /usr/local/bin/brew
|
||||||
sudo mkdir -vp /usr/local/bin
|
|
||||||
ln -svf "../Homebrew/bin/brew" "/usr/local/bin/brew"
|
ln -svf "../Homebrew/bin/brew" "/usr/local/bin/brew"
|
||||||
|
|
||||||
homebrew_directory="/usr/local"
|
homebrew_directory="/usr/local/Homebrew"
|
||||||
cd "${homebrew_directory}"
|
cd /usr/local
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# create missing directories
|
# create missing directories
|
||||||
@ -47,7 +48,7 @@ sudo mkdir -vp Cellar Frameworks etc include lib opt sbin share var/homebrew/lin
|
|||||||
# set permissions
|
# set permissions
|
||||||
logged_in_user=$(echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }')
|
logged_in_user=$(echo "show State:/Users/ConsoleUser" | scutil | awk '/Name :/ { print $3 }')
|
||||||
group=$(id -gn "${logged_in_user}")
|
group=$(id -gn "${logged_in_user}")
|
||||||
if [[ "${homebrew_directory}" == "/usr/local" ]]
|
if [[ "${homebrew_directory}" == "/usr/local/Homebrew" ]]
|
||||||
then
|
then
|
||||||
chown -R "${logged_in_user}:${group}" Cellar Frameworks Homebrew bin etc include lib sbin share var/homebrew/linked
|
chown -R "${logged_in_user}:${group}" Cellar Frameworks Homebrew bin etc include lib sbin share var/homebrew/linked
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user