59 lines
1.8 KiB
Bash
Executable file
59 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# silence bundler complaining about being root
|
|
mkdir ~/.bundle
|
|
echo 'BUNDLE_SILENCE_ROOT_WARNING: "1"' > ~/.bundle/config
|
|
|
|
# configure git
|
|
git config --global user.name "BrewTestBot"
|
|
git config --global user.email "homebrew-test-bot@lists.sfconservancy.org"
|
|
|
|
# create stubs so build dependencies aren't incorrectly flagged as missing
|
|
for i in python svn unzip xz
|
|
do
|
|
touch /usr/bin/$i
|
|
chmod +x /usr/bin/$i
|
|
done
|
|
|
|
# setup Homebrew/homebrew-core instead of Linuxbrew's
|
|
CORE_DIR="$(brew --repo homebrew/core)"
|
|
mkdir -p "$CORE_DIR"
|
|
rm -rf "$CORE_DIR"
|
|
ln -s "$PWD" "$CORE_DIR"
|
|
|
|
# get latest Homebrew/homebrew-core
|
|
git -C "$CORE_DIR" fetch
|
|
git -C "$CORE_DIR" checkout -f master
|
|
git -C "$CORE_DIR" reset --hard origin/master
|
|
|
|
# setup Homebrew environment
|
|
export HOMEBREW_NO_AUTO_UPDATE=1
|
|
export HOMEBREW_NO_ANALYTICS=1
|
|
export HOMEBREW_FORCE_HOMEBREW_ON_LINUX=1
|
|
export PATH="$(brew --repo)/Library/Homebrew/vendor/portable-ruby/current/bin:$PATH"
|
|
|
|
# setup SSH
|
|
mkdir ~/.ssh
|
|
chmod 700 ~/.ssh
|
|
echo "$FORMULAE_DEPLOY_KEY" > ~/.ssh/id_ed25519
|
|
chmod 600 ~/.ssh/id_ed25519
|
|
git config --global core.sshCommand "ssh -i ~/.ssh/id_ed25519 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
|
|
|
|
# clone formulae.brew.sh with SSH so we can push back
|
|
git clone git@github.com:Homebrew/formulae.brew.sh
|
|
cd formulae.brew.sh
|
|
|
|
# setup analytics
|
|
echo "$ANALYTICS_JSON_KEY" > ~/.homebrew_analytics.json
|
|
unset HOMEBREW_NO_ANALYTICS
|
|
|
|
# run rake (without a rake binary)
|
|
ruby -e "load Gem.bin_path('rake', 'rake')"
|
|
|
|
# commit and push generated files
|
|
git add _data/formula api/formula formula
|
|
git diff --exit-code HEAD -- _data/analytics _data/formula api/formula formula cask && exit 0
|
|
git commit -m 'formula: update from Homebrew/homebrew-core push' _data/analytics _data/formula api/formula formula
|
|
git push
|