-
Notifications
You must be signed in to change notification settings - Fork 231
46 lines (38 loc) · 1.33 KB
/
dotfiles-installation.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
name: Dotfiles Installation
on:
push:
schedule:
- cron: "0 17 * * 4" # Every Thursday 5:00PM
jobs:
install:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-12, macos-13, macos-14]
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@v3
- 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