Skip to content

Merge pull request #233 from LyraPhase/dependabot/github_actions/pete… #343

Merge pull request #233 from LyraPhase/dependabot/github_actions/pete…

Merge pull request #233 from LyraPhase/dependabot/github_actions/pete… #343

Workflow file for this run

---
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'