homebrew-core/.github/main.workflow.sh

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