name: Dotfiles Installation on: push: schedule: - cron: "0 17 * * 4" # Every Thursday 5:00PM jobs: install: runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-14, macos-15, macos-26, ubuntu-latest] steps: - name: Clean up installed software if: startsWith(matrix.os, 'macos') run: | brew uninstall --ignore-dependencies --force $(brew list --formula) # brew uninstall --cask --force $(brew list --cask) brew uninstall --cask --force firefox google-chrome brew cleanup --prune-prefix /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)" - name: Download and install available system updates # Step disabled since it also tries to update macOS itself and there seems no way to disable this if: ${{ false && startsWith(matrix.os, 'macos') }} run: sudo softwareupdate -i -a - name: Clone this repository uses: actions/checkout@v6 - name: Install using Makefile run: | if [ "$RUNNER_OS" == "macOS" ]; then make else sudo make fi - name: Load & verify runcom setup run: source $HOME/.bash_profile - name: Run tests if: startsWith(matrix.os, 'macos') run: make test