File tree 4 files changed +48
-150
lines changed
4 files changed +48
-150
lines changed Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1
1
name : setup Homebrew
2
2
description : Setup Homebrew
3
3
4
+ inputs :
5
+ pristine :
6
+ description : Make Homebrew Pristine
7
+ required : true
8
+ default : ' false'
9
+ update :
10
+ description : Update Homebrew
11
+ required : true
12
+ default : ' false'
13
+
4
14
runs :
5
15
using : composite
6
16
steps :
20
30
echo "HOMEBREW_PREFIX=$(brew --prefix)" >> "$GITHUB_ENV"
21
31
echo "HOMEBREW_CELLAR=$(brew --cellar)" >> "$GITHUB_ENV"
22
32
echo "HOMEBREW_REPOSITORY=$(brew --repository)" >> "$GITHUB_ENV"
33
+ - name : Make Homebrew pristine
34
+ if : inputs.pristine == 'true'
35
+ shell : bash
36
+ run : |
37
+ set -euo pipefail
38
+
39
+ formulae=()
40
+ while IFS= read -r f; do
41
+ formulae+=("$f")
42
+ done < <(brew list --formula)
43
+ if [ "${#formulae[@]}" -gt 0 ]; then
44
+ brew uninstall --formula --force "${formulae[@]}"
45
+ fi
46
+
47
+ casks=()
48
+ while IFS= read -r c; do
49
+ casks+=("$c")
50
+ done < <(brew list --cask)
51
+ if [ "${#casks[@]}" -gt 0 ]; then
52
+ brew uninstall --cask --zap --force "${casks[@]}"
53
+ fi
54
+
55
+ taps=()
56
+ while IFS= read -r t; do
57
+ taps+=("$t")
58
+ done < <(brew tap)
59
+ if [ "${#taps[@]}" -gt 0 ]; then
60
+ brew untap "${taps[@]}"
61
+ fi
62
+ - name : Update Homebrew
63
+ if : inputs.update == 'true'
64
+ shell : bash
65
+ run : |
66
+ set -euo pipefail
67
+ brew update
68
+ brew upgrade
Original file line number Diff line number Diff line change @@ -134,23 +134,6 @@ jobs:
134
134
github_token : " ${{github.token}}"
135
135
pre-commit : " ${{ env.IS_MAIN }}"
136
136
tmate : " ${{ env.DEBUG }}"
137
- prepare-pristine-homebrew :
138
- strategy :
139
- fail-fast : false
140
- matrix :
141
- # os: [macos-latest, ubuntu-latest]
142
- os : [macos-latest]
143
- runs-on : ${{ matrix.os }}
144
- steps :
145
- - uses : actions/checkout@v4
146
- with :
147
- persist-credentials : false
148
- fetch-depth : 0
149
- - uses : ./.github/actions/setup-homebrew
150
- - uses : ./.github/actions/pristine-homebrew
151
- with :
152
- os : ${{ runner.os }}
153
- restore : false
154
137
test-destructive :
155
138
strategy :
156
139
fail-fast : false
@@ -174,18 +157,16 @@ jobs:
174
157
- destructive_others
175
158
# os: [macos-latest, ubuntu-latest]
176
159
os : [macos-latest]
177
- needs : [prepare-pristine-homebrew]
178
160
runs-on : ${{ matrix.os }}
179
161
steps :
180
162
- uses : actions/checkout@v4
181
163
with :
182
164
persist-credentials : false
183
165
fetch-depth : 0
184
166
- uses : ./.github/actions/setup-homebrew
185
- - uses : ./.github/actions/pristine-homebrew
186
167
with :
187
- os : ${{ runner.os }}
188
- restore : true
168
+ pristine : true
169
+ update : true
189
170
- name : Set pseudo git user
190
171
run : |
191
172
git config --global user.name "runner"
Original file line number Diff line number Diff line change 3
3
brew list --formula | xargs brew uninstall --formula --force
4
4
brew list --cask | xargs brew uninstall --cask --zap --force
5
5
brew tap | xargs brew untap
6
-
7
- rm -rf " $( brew --cache) "
You can’t perform that action at this time.
0 commit comments