Fix OpenSSL version conflict + decouple Ruby & dependencies entirely from Apple base OS libraries #337
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: ci | |
"on": | |
pull_request: | |
branches: | |
- master | |
- main | |
- develop | |
paths: | |
- '**/Brewfile**' | |
- 'Cheffile**' | |
- 'Gemfile**' | |
- 'Makefile' | |
- '**.mk' | |
- 'bootstrap-scripts/**' | |
- 'bin/convert_soloistrc_to_brewfile.rb' | |
- 'test/fixtures/soloistrc' | |
- 'test/fixtures/Gemfile**' | |
- 'test/fixtures/Brewfile**' | |
push: | |
branches: | |
- master | |
- main | |
- develop | |
paths: | |
- '**/Brewfile**' | |
- 'Cheffile**' | |
- 'Gemfile**' | |
- 'Makefile' | |
- '**.mk' | |
- 'bootstrap-scripts/**' | |
- 'bin/convert_soloistrc_to_brewfile.rb' | |
- 'test/fixtures/soloistrc' | |
- 'test/fixtures/Gemfile**' | |
- 'test/fixtures/Brewfile**' | |
env: | |
debug_ci: false | |
jobs: | |
bootstrap: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-11, macos-12] | |
steps: | |
- name: DEBUG What is GitHub Actions IP? | |
run: | | |
curl -Lvs ifconfig.co | |
- name: DEBUG the failing 502 URL | |
run: | | |
curl -v 'https://supermarket.getchef.com/api/v1/cookbooks/dmg/versions/4.1.1' | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Add --no-document to .gemrc | |
run: | | |
tee -a $HOME/.gemrc <<EOGEMRC | |
install: --no-document | |
update: --no-document | |
EOGEMRC | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
- name: Add SSH_AUTH_SOCK to root shell .profile | |
run: | | |
sudo tee -a ~root/.profile <<EOPROFILE | |
SSH_AUTH_SOCK=${{ env.SSH_AUTH_SOCK }} | |
EOPROFILE | |
- uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true | |
cache-version: 1 | |
- name: Set BREWFILE_PATH env var | |
run: | | |
echo "BREWFILE_PATH=${GITHUB_WORKSPACE}/test/fixtures/tmp/Brewfile.ci" >> $GITHUB_ENV | |
- name: DEBUG - GitHub Cache Paths BREWFILE_PATH | |
run: | | |
echo BREWFILE_PATH=$BREWFILE_PATH | |
echo GITHUB_WORKSPACE=$GITHUB_WORKSPACE | |
if: env.debug_ci == 'true' | |
- name: DEBUG - Print all shell env exports | |
run: export -p | |
if: env.debug_ci == 'true' | |
- name: DEBUG - List workspace and Homebrew contents | |
run: | | |
ls -lAR ${GITHUB_WORKSPACE} | |
ls -lR /usr/local/Homebrew | |
if: env.debug_ci == 'true' | |
- name: Generate Brewfile from soloistrc test fixture | |
run: make brewfile | |
- name: DEBUG - Where are Brewfiles? | |
run: | | |
find ${GITHUB_WORKSPACE} -iname 'Brewfile*' | |
if: env.debug_ci == 'true' | |
- name: Configure Homebrew cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/Library/Caches/Homebrew/*--* | |
~/Library/Caches/Homebrew/downloads/*--* | |
~/Library/Caches/Homebrew/Cask/*--* | |
/usr/local/Homebrew/Library/Taps/** | |
/opt/Homebrew/Library/Taps/** | |
./Brewfile.lock.json | |
key: brew-${{ matrix.os }}-${{ runner.arch }}-${{ hashFiles('.github/clear_github_actions_cache') }}-${{ hashFiles( env.BREWFILE_PATH, '**/Brewfile.lock.json') }} | |
restore-keys: | | |
brew-${{ matrix.os }}-${{ runner.arch }}-${{ hashFiles('.github/clear_github_actions_cache') }}-${{ hashFiles( env.BREWFILE_PATH, '**/Brewfile.lock.json') }} | |
brew-${{ matrix.os }}-${{ runner.arch }}-${{ hashFiles('.github/clear_github_actions_cache') }} | |
- name: Re-enable checksum offloading | |
# See: https://github.com/actions/virtual-environments/issues/1187#issuecomment-696195756 | |
run: | | |
sudo sysctl -w net.link.generic.system.hwcksum_tx=1 | |
sudo sysctl -w net.link.generic.system.hwcksum_rx=1 | |
- name: Disable sprout-osx-settings::updates | |
run: | | |
sudo mkdir -p /var/chef/cache/ | |
sudo touch /var/chef/cache/last_software_update | |
- name: Disable Homebrew Analytics | |
run: brew analytics off | |
- name: Run bootstrap.sh + soloist with test fixtures | |
run: | | |
make bootstrap | |
- name: Change ownership of root-owned files generated by chef-solo | |
run: | | |
sudo chown -R $(id -u):$(id -g) ${GITHUB_WORKSPACE}/test/fixtures/nodes | |
- name: DEBUG - Where are Brewfiles? (exclude nodes and vendor dirs) | |
run: | | |
find ${GITHUB_WORKSPACE} \( -type d -a \( -name '*/nodes' -o -name '*/vendor' \) -prune \) -o -iname 'Brewfile*' | |
if: env.debug_ci == 'true' |